Closed pietro-sillano closed 1 year ago
@pietro-sillano Everything seems to run pretty smoothly. I think I know what goes wrong with the platform identification (usually you should get at least three available platforms). VCM uses OpeMM's plugin path to identify the platforms OpenMM can use. Since OpenMM was installed in a different path, it can't locate the plugins. I will add an input flag option so that you can specify the location of the plugins during execution. I will let you know when it is fixed.
@pietro-sillano
It is fixed. You can use the --ommPluginPath to input the path to the OpenMM's plugin path.
If you run
./VCM -a
You will get only the reference platform (uses only one core of the default CPU)
But if you specify the path to openmm's plugin, you will get the full list of available platforms (Should include OpenCL or CUDA if available on the cluster):
./VCM -a --ommPluginPath /path/to/openmm/lib/plugins/
@pietro-sillano
Just to be clear, in order to see platforms on your machine you have to run:
./VCM -c configuration.file --ommPluginPath path/to/openmm/lib/plugins
@afarnudi Yeah, it works now! I get also the CPU and CUDA options :)
@pietro-sillano This means everything is working correctly on VCM's side. The list of available platforms depends on how you built OpenMM. cmake can usually detect CUDA and OpenCL paths automatically if they are available. So if your machine has OpenCL installed (generally should have it) you need to make sure cmake is configured with the correct paths before installing OpenMM. With OpenCL you can parallalise computations on CPU and GPU (not just Nvidia GPUS). Plus, use platforms with single precision for faster calculations. I do not think you would need double precision for any sort of calculation.
@afarnudi Okay I understand. I have compiled openMM without OpenCL but for the moment I am satisfied with CUDA working ahah.
If I use OpenCL the parallelization on CPU would be automatic? without invoking mpi or openMP? and would there be a lot of difference with only CUDA?
@pietro-sillano So I don't find the native OpenMM CPU parallelasation scheme (appears as the CPU platform) very efficient. I have never benchmarked it against OpenCL, but OpenMM ranks it as slower compared to OpenCL.
Both OpenCL and CUDA will parallalise the calculations and you don't need to worry about invoking MPI or OpenMP (they take care of everything). On NVIDA GPUs I tests (RTX 2000 super, RTX 3090, and RTX 4020), I found no feasable performance difference between OpenCL and CUDA.
Hi @afarnudi
I managed to install OpenMM on the cluster (I made all of the procedures logged to a GPU node), ran the test, benchmark it and everything seems fine:
Then I switch to VCM:
OpenMM_INSTALL_DIR=/home/piano/openmm
ldd ./VCM
if every dynamic library is found./VCM -c SimpleMembrane
following your videos, that is the output: