41 #ifndef STARNEIG_NODE_H 42 #define STARNEIG_NODE_H 50 #ifdef STARNEIG_ENABLE_MPI 72 #define STARNEIG_USE_ALL -1 84 #define STARNEIG_DEFAULT 0x0 93 #define STARNEIG_HINT_SM 0x0 102 #define STARNEIG_HINT_DM 0x1 111 #define STARNEIG_FXT_DISABLE 0x2 120 #define STARNEIG_AWAKE_WORKERS 0x4 129 #define STARNEIG_AWAKE_MPI_WORKER 0x8 138 #define STARNEIG_FAST_DM (STARNEIG_HINT_DM | STARNEIG_AWAKE_WORKERS | STARNEIG_AWAKE_MPI_WORKER) 145 #define STARNEIG_NO_VERBOSE 0x10 152 #define STARNEIG_NO_MESSAGES (STARNEIG_NO_VERBOSE | 0x20) 222 #ifdef STARNEIG_ENABLE_CUDA 254 #ifdef STARNEIG_ENABLE_MPI 263 #endif // STARNEIG_NODE_H MPI_Comm starneig_mpi_get_comm()
Returns the library MPI communicator.
void starneig_node_set_gpus(int gpus)
Changes the number of GPUs to use per MPI rank.
void starneig_node_set_cores(int cores)
Changes the number of CPUs cores (threads) to use per MPI rank.
This file contains StarNEig library configuration.
void starneig_node_init(int cores, int gpus, starneig_flag_t flags)
Initializes the intra-node execution environment.
int starneig_node_initialized()
Checks whether the intra-node execution environment is initialized.
void starneig_node_disable_pinning()
Disables CUDA host memory pinning.
void starneig_node_enable_pinning()
Enable CUDA host memory pinning.
unsigned starneig_flag_t
Library initialization flag data type.
Definition: node.h:77
int starneig_node_get_cores()
Returns the number of cores (threads) per MPI rank.
int starneig_node_get_gpus()
Returns the number of GPUs per MPI rank.
void starneig_node_finalize()
Deallocates resources associated with the intra-node configuration.
void starneig_mpi_set_comm(MPI_Comm comm)
Sets a MPI communicator for the library.