1 #ifndef PARALUTION_BACKEND_MANAGER_HPP_
2 #define PARALUTION_BACKEND_MANAGER_HPP_
9 template <
typename ValueType>
11 template <
typename ValueType>
13 template <
typename ValueType>
129 void info_paralution(
const struct Paralution_Backend_Descriptor backend_descriptor);
148 template <
typename ValueType>
152 template <
typename ValueType>
154 const unsigned int matrix_format);
157 template <
typename ValueType>
159 const unsigned int matrix_format);
172 #endif // PARALUTION_BACKEND_MANAGER_HPP_
int OpenMP_def_nested
Definition: backend_manager.hpp:34
void * OCL_handle
Definition: backend_manager.hpp:54
Definition: backend_manager.hpp:85
void set_omp_threads_paralution(int nthreads)
Set the number of threads in the platform.
Definition: backend_manager.cpp:257
int GPU_max_threads
Definition: backend_manager.hpp:50
bool _paralution_available_accelerator(void)
Return true if any accelerator is available.
Definition: backend_manager.cpp:464
bool init
Definition: backend_manager.hpp:22
void info_paralution(void)
Print information about the platform.
Definition: backend_manager.cpp:352
bool disable_accelerator
Definition: backend_manager.hpp:27
void _set_backend_descriptor(const struct Paralution_Backend_Descriptor backend_descriptor)
Set backend descriptor.
Definition: backend_manager.cpp:485
void * GPU_cusparse_handle
Definition: backend_manager.hpp:45
void set_ocl_paralution(int nplatform, int ndevice)
Set a specific OpenCL platform and device.
Definition: backend_manager.cpp:294
std::ofstream * log_file
Definition: backend_manager.hpp:69
Definition: backend_manager.hpp:10
Backend descriptor - keeps information about the hardware - OpenMP (threads); CUDA (blocksizes...
Definition: backend_manager.hpp:19
int init_paralution(void)
Initialization of the paralution platform.
Definition: backend_manager.cpp:106
void _set_omp_backend_threads(const struct Paralution_Backend_Descriptor backend_descriptor, const int size)
Set the OMP threads based on the size threshold.
Definition: backend_manager.cpp:651
Paralution_Backend_Descriptor _Backend_Descriptor
Global backend descriptor.
Definition: backend_manager.cpp:46
int OpenMP_def_threads
Definition: backend_manager.hpp:32
void _paralution_sync(void)
Sync the active async transfers.
Definition: backend_manager.cpp:631
void set_ocl_warp_size_paralution(int size)
Set OpenCL warp size.
Definition: backend_manager.cpp:341
size_t _paralution_add_obj(class ParalutionObj *ptr)
Definition: backend_manager.cpp:669
void disable_accelerator_paralution(const bool onoff)
Disable/Enable the accelerator.
Definition: backend_manager.cpp:470
int GPU_block_size
Definition: backend_manager.hpp:49
int OCL_warp_size
Definition: backend_manager.hpp:60
Definition: backend_manager.hpp:84
int set_device_paralution(int dev)
Select a device.
Definition: backend_manager.cpp:234
HostMatrix< ValueType > * _paralution_init_base_host_matrix(const struct Paralution_Backend_Descriptor backend_descriptor, const unsigned int matrix_format)
Build (and return) a matrix on the host.
Definition: backend_manager.cpp:584
int OpenMP_threads
Definition: backend_manager.hpp:30
int backend
Definition: backend_manager.hpp:25
bool accelerator
Definition: backend_manager.hpp:26
bool _paralution_check_if_any_obj(void)
Definition: backend_manager.cpp:745
bool _paralution_del_obj(class ParalutionObj *ptr, size_t id)
Definition: backend_manager.cpp:691
Definition: backend_manager.hpp:12
void set_omp_affinity(bool affinity)
Set host affinity (true-on/false-off)
Definition: backend_manager.cpp:450
int OCL_dev
Definition: backend_manager.hpp:57
size_t OCL_max_work_group_size
Definition: backend_manager.hpp:58
const std::string _paralution_host_name[1]
Host name.
Definition: backend_manager.cpp:92
void set_ocl_compute_units_paralution(size_t cu)
Set OpenCL compute units.
Definition: backend_manager.cpp:330
Definition: backend_manager.cpp:43
AcceleratorVector< ValueType > * _paralution_init_base_backend_vector(const struct Paralution_Backend_Descriptor backend_descriptor)
Build (and return) a vector on the selected in the descriptor accelerator.
Definition: backend_manager.cpp:493
AcceleratorMatrix< ValueType > * _paralution_init_base_backend_matrix(const struct Paralution_Backend_Descriptor backend_descriptor, const unsigned int matrix_format)
Build (and return) a matrix on the selected in the descriptor accelerator.
Definition: backend_manager.cpp:539
Definition: backend_manager.hpp:14
int OCL_plat
Definition: backend_manager.hpp:56
void _paralution_delete_all_obj(void)
Definition: backend_manager.cpp:720
void set_ocl_work_group_size_paralution(size_t size)
Set OpenCL work group size.
Definition: backend_manager.cpp:319
void set_gpu_cuda_paralution(int ngpu)
Set a specific GPU device.
Definition: backend_manager.cpp:283
struct Paralution_Backend_Descriptor * _get_backend_descriptor(void)
Return backend descriptor.
Definition: backend_manager.cpp:478
int OpenMP_threshold
Definition: backend_manager.hpp:38
bool OpenMP_affinity
Definition: backend_manager.hpp:36
_paralution_backend_id
Backend IDs.
Definition: backend_manager.hpp:82
const std::string _paralution_backend_name[4]
Backend names.
Definition: backend_manager.cpp:100
void * GPU_cublas_handle
Definition: backend_manager.hpp:43
int GPU_warp
Definition: backend_manager.hpp:48
int stop_paralution(void)
Shutdown the paralution platform.
Definition: backend_manager.cpp:195
int MIC_dev
Definition: backend_manager.hpp:63
void set_omp_threshold(const int threshold)
Set OpenMP threshold size.
Definition: backend_manager.cpp:457
void set_ocl_platform_paralution(int platform)
Set a specific OpenCL platform.
Definition: backend_manager.cpp:308
Definition: backend_manager.hpp:83
Definition: backend_manager.hpp:82
char marker[15]
Definition: backend_manager.hpp:67
size_t OCL_computeUnits
Definition: backend_manager.hpp:59
int GPU_dev
Definition: backend_manager.hpp:47