hpx/execution/executors/adaptive_static_chunk_size.hpp#

Defined in header hpx/execution/executors/adaptive_static_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
namespace experimental
struct adaptive_static_chunk_size#
#include <adaptive_static_chunk_size.hpp>

Loop iterations are divided into pieces of size chunk_size and then assigned to threads. If chunk_size is not specified, the iterations are evenly (if possible) divided contiguously among the threads.

Note

This executor parameters type is equivalent to OpenMP’s STATIC scheduling directive.

Public Functions

adaptive_static_chunk_size() = default#

Construct a adaptive_static_chunk_size executor parameters object

Note

By default the number of loop iterations is determined from the number of available cores and the overall number of loop iterations to schedule.

inline explicit constexpr adaptive_static_chunk_size(std::size_t chunk_size) noexcept#

Construct a adaptive_static_chunk_size executor parameters object

Parameters

chunk_size – [in] The optional chunk size to use as the number of loop iterations to run on a single thread.