choderalab / yank

An open, extensible Python framework for GPU-accelerated alchemical free energy calculations.
http://getyank.org
MIT License
181 stars 71 forks source link

Correct config of MPI in DESKTOP #1106

Open fabian781 opened 6 years ago

fabian781 commented 6 years ago

Hello everybody,

How YANK manages the CPU resource in serial mode? , To use all the CPUs do I need to configure MPI ? Is there some guide on how to configure?, I have installed all the packages but I get the following error: RuntimeError: Cannot determine job scheduler! Please ensure one of the following environment variables is set for your job: PBS: "PBS_GPUFILE" LSF: "LSB_HOSTS" SLURM: "SLURM_JOB_NODELIST"

andrrizzi commented 6 years ago

Hi @fabian781 . Which command are you using to run YANK? If you want to run in serial mode, this should suffice

yank script --yaml=your_yaml_document.yaml

I suspect you are trying to build MPI configuration files with our build_mpirun_config utility, but that is not necessary. It's just a convenience program that we use to automate some parts of the MPI configuration, and it supports a limited number of systems.

fabian781 commented 6 years ago

Hi @andrrizzi . I'm actually executing the command :

yank script --yaml=your_yaml_document.yaml

Using the HTOP command I can verify that only one CPU of 12 is working in the YANK process, also using the NVIDIA-SMI command I can check that the Volatile GPU-Util is always around 90%. So I would like to know if using all the CPU resources (12 in my case) would reduce the calculation time? or is mostly based on the GPU?

How can I get to use all the CPUs?

Thank you for your help.

andrrizzi commented 6 years ago

Hmm. The error that you posted above comes from build_mpirun_configfile (see here) so I'd double check the script you're using.

Running using multiple CPUs in parallel should reduce the calculation time, but if your system is not supported by build_mpirun_configfile, I think you'll have to create manually the MPI configuration files and run mpiexec or mpirun as a general MPI execution.

fabian781 commented 6 years ago

Thanks @andrrizzi

I will reinstall MPI and check if it runs.