This modifies redset_init() to read a REDSET_ENCODE environment variable, whose value is used during encode/decode operations to select the acceleration method. This allows one to compile multiple methods and select one at runtime.
Valid options are:
CPU - main process executes encoding
OPENMP - main process with OpenMP parallelized for loops
PTHREADS - use pthreads, where an implementation is available, otherwise fallback to use CPU/OPENMP
CUDA - use CUDA kernels, requires MPI with GPUDirect RDMA support
The CPU and OPENMP options call the same function. To disable OpenMP threads, one must either build with -DENABLE_OPENMP=OFF or set an OpenMP variable like OMP_NUM_THREADS=1.
This modifies
redset_init()
to read aREDSET_ENCODE
environment variable, whose value is used during encode/decode operations to select the acceleration method. This allows one to compile multiple methods and select one at runtime.Valid options are:
CPU
- main process executes encodingOPENMP
- main process with OpenMP parallelized for loopsPTHREADS
- use pthreads, where an implementation is available, otherwise fallback to useCPU/OPENMP
CUDA
- use CUDA kernels, requires MPI with GPUDirect RDMA supportThe
CPU
andOPENMP
options call the same function. To disable OpenMP threads, one must either build with-DENABLE_OPENMP=OFF
or set an OpenMP variable likeOMP_NUM_THREADS=1
.