Skip to content

GPU parallelism in PLUMED

For certain actions in PLUMED you can use the USEGPU flag. This flag turns on an experimental GPU parallized version of the command. GPU parallelism in PLUMED has been implemented using openACC and is currently experimental. We are actively working on these features at the moment. There is thus no guarantee that the GPU accelerated versions of actions are any faster than the CPU versions. If you have experimented with these features on your own calculations we would love to hear from you (even if your experience was negative.)

[Experimental] Compiling plumed with openacc

This section will likely be moved in the proper installation page

To compile PLUMED with openacc enabled you will need to have the NVIDIA HPC SDK avaiable on your path.

Plumed is tested with the 24.3 version.

To prepare the compilation add --enable-opeacc to the ./configure options. It is also possible to pass some extra options by exporting or specifying the the following variables: - PLUMED_ACC_TYPE: if omitted defaults to gpu, can be changed to host or multicore to try a compilation that targets the CPU also for the openacc accellerate part of the code. - PLUMED_ACC_GPU: if PLUMED_ACC_TYPE is set to gpu, it can be used to specify a range of -gpu optios to pass to the nvhpc compiler (for example the target gpu, see the compiler manual for the options) options can be comma separated or space separated

Warning

(Currently) modules that use a custom openmp reduction can be compiled with nvhpc. Currently membranefusion is not compatible and should be excluded from the compilation

List of actions that can be called with the USEGPU option: