hpx/execution/executors/auto_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 auto_chunk_size#
#include <auto_chunk_size.hpp>

Loop iterations are divided into pieces and then assigned to threads. The number of loop iterations combined is determined based on measurements of how long the execution of 1% of the overall number of iterations takes. This executor parameters type makes sure that as many loop iterations are combined as necessary to run for the amount of time specified.

Public Functions

inline explicit constexpr auto_chunk_size(std::uint64_t num_iters_for_timing = 0) noexcept#

Construct an auto_chunk_size executor parameters object

Note

Default constructed auto_chunk_size executor parameter types will use 80 microseconds as the minimal time for which any of the scheduled chunks should run.

inline explicit auto_chunk_size(hpx::chrono::steady_duration const &rel_time, std::uint64_t num_iters_for_timing = 0) noexcept#

Construct an auto_chunk_size executor parameters object

Parameters

rel_time – [in] The time duration to use as the minimum to decide how many loop iterations should be combined.

namespace parallel
namespace execution