![]() |
fml
0.1-0
Fused Matrix Library
|
Core namespace. More...
Namespaces | |
copy | |
Copiers. | |
dimops | |
Row/column operations. | |
linalg | |
Linear algebra functions. | |
nvml | |
NVIDIA Management Library (NVML) interface. Exceptions Each function can throw a 'runtime_error' exception. | |
stats | |
Statistics kernels. | |
Classes | |
class | card |
GPU data and methods. More... | |
class | comm |
MPI communicator data and helpers. More... | |
class | cpumat |
Matrix class for data held on a single CPU. More... | |
class | cpuvec |
Vector class for data held on a single CPU. More... | |
class | gpumat |
Matrix class for data held on a single GPU. More... | |
class | gpuscalar |
class | gpuvec |
Vector class for data held on a single GPU. More... | |
class | grid |
2-dimensional MPI process grid. More... | |
class | mpimat |
Matrix class for data distributed over MPI in the 2-d block cyclic format. More... | |
class | parmat |
class | parmat_cpu |
class | parmat_gpu |
class | unimat |
Base matrix class. Not meant for direct use. Instead see cpumat , gpumat , and mpimat . More... | |
class | univec |
Base vector class. Not meant for direct use. Instead see cpuvec and gpuvec . More... | |
Typedefs | |
typedef std::shared_ptr< fml::card > | card_sp_t |
Enumerations | |
enum | gridshape { PROC_GRID_SQUARE, PROC_GRID_WIDE, PROC_GRID_TALL } |
Supported process grid shapes for 2-dimensional BLACS grids. More... | |
enum | blacsops { BLACS_SUM, BLACS_MAX, BLACS_MIN } |
Supported operations in reduce/allreduce. | |
Functions | |
int | get_device_count () |
Return number of GPU devices. | |
card_sp_t | new_card (int id=0) |
Initialize a new card. More... | |
int | get_device_num (const comm &c) |
Returns the device number of the GPU to use with the calling MPI process. More... | |
Core namespace.
|
inline |
Returns the device number of the GPU to use with the calling MPI process.
[in] | c | A communicator object. |
fml::new_card()
.Exceptions
If there are more MPI ranks within any node than there are GPUS, the function will throw a 'runtime_error' exception.
|
inline |
Initialize a new card.
[in] | id | GPU id number. |
Exceptions
If the GPU can not be initialized, or if the allocation of one of the handles fails, the method will throw a 'runtime_error' exception.