#include <runner.h>
Definition at line 25 of file runner.h.
◆ ParallelRunner()
ParallelRunner::ParallelRunner |
( |
long |
num_threads, |
|
|
long |
chunk_size = 1 |
|
) |
| |
|
explicit |
- Parameters
-
num_threads | Number of threads to use. Value <= 0 indicate auto-detect, using std::thread::hardware_concurrency() |
Definition at line 18 of file runner.cpp.
◆ log_finished()
void ParallelRunner::log_finished |
( |
long |
begin, |
|
|
long |
end |
|
) |
| |
|
private |
◆ log_start()
void ParallelRunner::log_start |
( |
long |
begin, |
|
|
long |
end |
|
) |
| |
|
private |
◆ run()
Runs the tasks provided by the TaskGenerator
in parallel.
- Parameters
-
tasks | The task generator that returns a runnable function for each task index. |
start | The first task id to run. |
Definition at line 39 of file runner.cpp.
References dismec::parallel::TaskGenerator::finalize(), dismec::parallel::TaskGenerator::init_thread(), log_finished(), log_start(), m_BindThreads, m_ChunkSize, m_Logger, m_NumThreads, m_TimeLimit, dismec::MIN_TIME_PER_CHUNK_MS, dismec::parallel::TaskGenerator::num_tasks(), dismec::parallel::ThreadDistributor::pin_this_thread(), dismec::parallel::TaskGenerator::prepare(), dismec::parallel::TaskGenerator::run_tasks(), dismec::to_long(), and anonymous_namespace{runner.cpp}::to_ms().
Referenced by main(), dismec::run_training(), and TEST_CASE().
◆ set_chunk_size()
void ParallelRunner::set_chunk_size |
( |
long |
chunk_size | ) |
|
◆ set_logger()
void ParallelRunner::set_logger |
( |
std::shared_ptr< spdlog::logger > |
logger | ) |
|
◆ set_time_limit()
void ParallelRunner::set_time_limit |
( |
std::chrono::milliseconds |
time_limit | ) |
|
◆ m_BindThreads
bool dismec::parallel::ParallelRunner::m_BindThreads = true |
|
private |
◆ m_ChunkSize
long dismec::parallel::ParallelRunner::m_ChunkSize = 1 |
|
private |
◆ m_Logger
std::shared_ptr<spdlog::logger> dismec::parallel::ParallelRunner::m_Logger |
|
private |
◆ m_NumThreads
long dismec::parallel::ParallelRunner::m_NumThreads |
|
private |
◆ m_TimeLimit
std::chrono::milliseconds dismec::parallel::ParallelRunner::m_TimeLimit |
|
private |
The documentation for this class was generated from the following files: