10 #include <seqan3/core/algorithm/detail/execution_handler_parallel.hpp>
11 #include <seqan3/utility/views/chunk.hpp>
12 #include <seqan3/utility/views/zip.hpp>
19 template <
typename algorithm_t>
23 size_t const chunk_size = std::clamp<size_t>(std::bit_ceil(arguments.
bins / arguments.
threads), 8u, 64u);
25 auto chunked_view = seqan3::views::zip(arguments.
bin_path, std::views::iota(0u)) | seqan3::views::chunk(chunk_size);
26 seqan3::detail::execution_handler_parallel executioner{arguments.
threads};
27 executioner.bulk_execute(std::move(worker), std::move(chunked_view), []() {});
Definition: adjust_seed.hpp:13
void call_parallel_on_bins(algorithm_t &&worker, build_arguments const &arguments)
Definition: call_parallel_on_bins.hpp:20
Definition: build_arguments.hpp:21
uint8_t threads
Definition: build_arguments.hpp:44
std::vector< std::vector< std::string > > bin_path
Definition: build_arguments.hpp:42
uint64_t bins
Definition: build_arguments.hpp:34