easymecp icon indicating copy to clipboard operation
easymecp copied to clipboard

Uncouple compilation for systems where gfortran/ifort is not available

Open jaimergp opened this issue 7 years ago • 3 comments

Some HPC systems do not provide compilers in the nodes.

A workaround is to run the compilation before the job submission in the head node and then skip the compilation step in the node. I am thinking of some CLI flags like these:

  • --compilation-only: Meant to be executed in the head node, before submission.
  • --compilation-skip: Meant to be used in the job submission script.

Then, the workflow would be like this:

  1. Gather all the files in the head node. Run easymecp --compilation-only -f input.gjf. This will generate the MECP.x executable in the working directory.
  2. Prepare job.sh submission file with modules, environment variables, file copying, and so on, plus easymecp --skip-compilation -f input.gjf.

HOWEVER: if libfortran in the node (and so on) is not compatible with the ones present in the head node, it will fail. I would recommend compiling in the node to avoid problems like these, anyway. If gfortran is not available, ideally the HPC staff should be contacted to install it. Nothing dangerous is going to happen if permissions are in order, anyway.

jaimergp avatar Nov 06 '18 18:11 jaimergp

It will be really helpful if this can be implemented - our HPC cluster does not have compilers installed on compute nodes, only on the head nodes.

xinglong-zhang avatar Nov 08 '18 13:11 xinglong-zhang

I will need a couple of days before I start tackling this, but it will get done, I promise!

In the meantime, can you run easymecp in the head node for a simple molecule? We only need the compilation step, so you can cancel it when that's done. Then, copy the MECP.x executable to a node and try to run it (even with no input), so we can see if the compute nodes have the needed libraries installed, or if they are compatible with the head's.

jaimergp avatar Nov 09 '18 08:11 jaimergp

I tried that and it works for the example molecule. Thank you!

xinglong-zhang avatar Nov 09 '18 16:11 xinglong-zhang