| 662 | } |
| 663 | |
| 664 | static ParallelScheme getRealScheme(ParallelScheme ps) |
| 665 | { |
| 666 | switch (ps) |
| 667 | { |
| 668 | case ParallelScheme::default_: |
| 669 | if ((_Flags & flags::partitioned_multisampling)) return ParallelScheme::partition; |
| 670 | if ((_Flags & flags::shared_state)) return ParallelScheme::none; |
| 671 | return ParallelScheme::copy_merge; |
| 672 | case ParallelScheme::copy_merge: |
| 673 | if ((_Flags & flags::shared_state)) THROW_ERROR_WITH_INFO(exc::InvalidArgument, |
| 674 | std::string{ "This model doesn't provide ParallelScheme::" } + toString(ps)); |
| 675 | break; |
| 676 | case ParallelScheme::partition: |
| 677 | if (!(_Flags & flags::partitioned_multisampling)) THROW_ERROR_WITH_INFO(exc::InvalidArgument, |
| 678 | std::string{ "This model doesn't provide ParallelScheme::" } + toString(ps)); |
| 679 | break; |
| 680 | } |
| 681 | return ps; |
| 682 | } |
| 683 | |
| 684 | int train(size_t iteration, size_t numWorkers, ParallelScheme ps, bool freeze_topics = false) override |
| 685 | { |
nothing calls this directly
no test coverage detected