DiSMEC++
dismec::parallel::ParallelRunner Class Reference

#include <runner.h>

Public Member Functions

 ParallelRunner (long num_threads, long chunk_size=1)
 
void set_chunk_size (long chunk_size)
 
void set_time_limit (std::chrono::milliseconds time_limit)
 
void set_logger (std::shared_ptr< spdlog::logger > logger)
 sets the logger object that is used for reporting. Set to nullptr for quiet mode. More...
 
RunResult run (TaskGenerator &tasks, long start=0)
 

Private Member Functions

void log_start (long begin, long end)
 
void log_finished (long begin, long end)
 

Private Attributes

long m_NumThreads
 
long m_ChunkSize = 1
 
std::chrono::milliseconds m_TimeLimit
 
std::shared_ptr< spdlog::logger > m_Logger
 
bool m_BindThreads = true
 

Detailed Description

Definition at line 25 of file runner.h.

Constructor & Destructor Documentation

◆ ParallelRunner()

ParallelRunner::ParallelRunner ( long  num_threads,
long  chunk_size = 1 
)
explicit
Parameters
num_threadsNumber of threads to use. Value <= 0 indicate auto-detect, using std::thread::hardware_concurrency()

Definition at line 18 of file runner.cpp.

Member Function Documentation

◆ log_finished()

void ParallelRunner::log_finished ( long  begin,
long  end 
)
private

Definition at line 151 of file runner.cpp.

References m_Logger.

Referenced by run().

◆ log_start()

void ParallelRunner::log_start ( long  begin,
long  end 
)
private

Definition at line 142 of file runner.cpp.

References m_Logger.

Referenced by run().

◆ run()

◆ set_chunk_size()

void ParallelRunner::set_chunk_size ( long  chunk_size)

Definition at line 24 of file runner.cpp.

References m_ChunkSize.

Referenced by main().

◆ set_logger()

void ParallelRunner::set_logger ( std::shared_ptr< spdlog::logger >  logger)

sets the logger object that is used for reporting. Set to nullptr for quiet mode.

Definition at line 28 of file runner.cpp.

References m_Logger.

Referenced by main(), and register_training().

◆ set_time_limit()

void ParallelRunner::set_time_limit ( std::chrono::milliseconds  time_limit)

Definition at line 160 of file runner.cpp.

References m_TimeLimit.

Referenced by TEST_CASE().

Member Data Documentation

◆ m_BindThreads

bool dismec::parallel::ParallelRunner::m_BindThreads = true
private

Definition at line 55 of file runner.h.

Referenced by run().

◆ m_ChunkSize

long dismec::parallel::ParallelRunner::m_ChunkSize = 1
private

Definition at line 51 of file runner.h.

Referenced by run(), and set_chunk_size().

◆ m_Logger

std::shared_ptr<spdlog::logger> dismec::parallel::ParallelRunner::m_Logger
private

Definition at line 53 of file runner.h.

Referenced by log_finished(), log_start(), run(), and set_logger().

◆ m_NumThreads

long dismec::parallel::ParallelRunner::m_NumThreads
private

Definition at line 50 of file runner.h.

Referenced by run().

◆ m_TimeLimit

std::chrono::milliseconds dismec::parallel::ParallelRunner::m_TimeLimit
private

Definition at line 52 of file runner.h.

Referenced by run(), and set_time_limit().


The documentation for this class was generated from the following files: