CPPuddle
Classes | Public Member Functions | Static Public Member Functions | List of all members
cppuddle::executor_recycling::detail::executor_pool Class Reference

Access/Concurrency Control for executor pool implementation. More...

#include <executor_pools_management.hpp>

Public Member Functions

 ~executor_pool ()=default
 
 executor_pool (executor_pool const &other)=delete
 
executor_pooloperator= (executor_pool const &other)=delete
 
 executor_pool (executor_pool &&other)=delete
 
executor_pooloperator= (executor_pool &&other)=delete
 

Static Public Member Functions

template<typename Interface , typename Pool , typename... Ts>
static void init (size_t number_of_executors, Ts ... executor_args)
 
template<typename Interface , typename Pool , typename... Ts>
static void init_all_executor_pools (size_t number_of_executors, Ts ... executor_args)
 
template<typename Interface , typename Pool , typename... Ts>
static void init_executor_pool (size_t pool_id, size_t number_of_executors, Ts ... executor_args)
 
template<typename Interface , typename Pool >
static void cleanup ()
 
template<typename Interface , typename Pool >
static std::tuple< Interface &, size_t > get_interface (const size_t gpu_id)
 
template<typename Interface , typename Pool >
static void release_interface (size_t index, const size_t gpu_id) noexcept
 
template<typename Interface , typename Pool >
static bool interface_available (size_t load_limit, const size_t gpu_id) noexcept
 
template<typename Interface , typename Pool >
static size_t get_current_load (const size_t gpu_id=0) noexcept
 
template<typename Interface , typename Pool >
static size_t get_next_device_id (const size_t number_gpus) noexcept
 
template<typename Interface , typename Pool >
static void set_device_selector (std::function< void(size_t)> select_gpu_function)
 
template<typename Interface , typename Pool >
static void select_device (size_t gpu_id)
 

Detailed Description

Access/Concurrency Control for executor pool implementation.

Constructor & Destructor Documentation

◆ ~executor_pool()

cppuddle::executor_recycling::detail::executor_pool::~executor_pool ( )
default

◆ executor_pool() [1/2]

cppuddle::executor_recycling::detail::executor_pool::executor_pool ( executor_pool const &  other)
delete

◆ executor_pool() [2/2]

cppuddle::executor_recycling::detail::executor_pool::executor_pool ( executor_pool &&  other)
delete

Member Function Documentation

◆ cleanup()

template<typename Interface , typename Pool >
static void cppuddle::executor_recycling::detail::executor_pool::cleanup ( )
inlinestatic

◆ get_current_load()

template<typename Interface , typename Pool >
static size_t cppuddle::executor_recycling::detail::executor_pool::get_current_load ( const size_t  gpu_id = 0)
inlinestaticnoexcept

◆ get_interface()

template<typename Interface , typename Pool >
static std::tuple<Interface &, size_t> cppuddle::executor_recycling::detail::executor_pool::get_interface ( const size_t  gpu_id)
inlinestatic

◆ get_next_device_id()

template<typename Interface , typename Pool >
static size_t cppuddle::executor_recycling::detail::executor_pool::get_next_device_id ( const size_t  number_gpus)
inlinestaticnoexcept

◆ init()

template<typename Interface , typename Pool , typename... Ts>
static void cppuddle::executor_recycling::detail::executor_pool::init ( size_t  number_of_executors,
Ts ...  executor_args 
)
inlinestatic

◆ init_all_executor_pools()

template<typename Interface , typename Pool , typename... Ts>
static void cppuddle::executor_recycling::detail::executor_pool::init_all_executor_pools ( size_t  number_of_executors,
Ts ...  executor_args 
)
inlinestatic

◆ init_executor_pool()

template<typename Interface , typename Pool , typename... Ts>
static void cppuddle::executor_recycling::detail::executor_pool::init_executor_pool ( size_t  pool_id,
size_t  number_of_executors,
Ts ...  executor_args 
)
inlinestatic

◆ interface_available()

template<typename Interface , typename Pool >
static bool cppuddle::executor_recycling::detail::executor_pool::interface_available ( size_t  load_limit,
const size_t  gpu_id 
)
inlinestaticnoexcept

◆ operator=() [1/2]

executor_pool& cppuddle::executor_recycling::detail::executor_pool::operator= ( executor_pool &&  other)
delete

◆ operator=() [2/2]

executor_pool& cppuddle::executor_recycling::detail::executor_pool::operator= ( executor_pool const &  other)
delete

◆ release_interface()

template<typename Interface , typename Pool >
static void cppuddle::executor_recycling::detail::executor_pool::release_interface ( size_t  index,
const size_t  gpu_id 
)
inlinestaticnoexcept

◆ select_device()

template<typename Interface , typename Pool >
static void cppuddle::executor_recycling::detail::executor_pool::select_device ( size_t  gpu_id)
inlinestatic

◆ set_device_selector()

template<typename Interface , typename Pool >
static void cppuddle::executor_recycling::detail::executor_pool::set_device_selector ( std::function< void(size_t)>  select_gpu_function)
inlinestatic

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