hpx/execution/executors/guided_chunk_size.hpp
hpx/execution/executors/guided_chunk_size.hpp#
See Public API for a list of names and headers that are part of the public HPX API.
-
namespace hpx
-
namespace execution
-
struct guided_chunk_size#
- #include <guided_chunk_size.hpp>
Iterations are dynamically assigned to threads in blocks as threads request them until no blocks remain to be assigned. Similar to dynamic_chunk_size except that the block size decreases each time a number of loop iterations is given to a thread. The size of the initial block is proportional to number_of_iterations / number_of_cores. Subsequent blocks are proportional to number_of_iterations_remaining / number_of_cores. The optional chunk size parameter defines the minimum block size. The default chunk size is 1.
Note
This executor parameters type is equivalent to OpenMP’s GUIDED scheduling directive.
Public Functions
-
inline explicit constexpr guided_chunk_size(std::size_t min_chunk_size = 1) noexcept#
Construct a guided_chunk_size executor parameters object
- Parameters
min_chunk_size – [in] The optional minimal chunk size to use as the minimal number of loop iterations to schedule together. The default minimal chunk size is 1.
-
inline explicit constexpr guided_chunk_size(std::size_t min_chunk_size = 1) noexcept#
-
struct guided_chunk_size#
-
namespace parallel
-
namespace execution
-
namespace execution
-
namespace execution