File multi_threading.hpp

struct MultiThreadingSettings
#include <multi_threading.hpp>

Stores settings to be used by parallelizable algorithms.

Public Functions

inline MultiThreadingSettings(uint32 numThreads)
Parameters:

numThreads – The number of threads that can be used by parallelizable algorithms

Public Members

const uint32 numThreads

The number of threats that can be used by parallelizable algorithms.

class IMultiThreadingConfig
#include <multi_threading.hpp>

Defines an interface for all classes that allow to configure the multi-threading behavior of a parallelizable algorithm.

Subclassed by ManualMultiThreadingConfig, NoMultiThreadingConfig

Public Functions

inline virtual ~IMultiThreadingConfig()
virtual MultiThreadingSettings getSettings(const IFeatureMatrix &featureMatrix, uint32 numOutputs) const = 0

Determines and returns the settings to be used by parallelizable algorithms, depending on the available hardware and whether multi-threading support was enabled at compile-time.

Parameters:
  • featureMatrix – A reference to an object of type IFeatureMatrix that provides access to the feature values of the training examples

  • numOutputs – The total number of available outputs

Returns:

The MultiThreadingSettings to be used