[containerising NAMD with Singularity]

From: Maxim Abalenkov (maxim.abalenkov_at_gmail.com)
Date: Wed Oct 13 2021 - 04:28:36 CDT

Dear all,

As part of my project I would like to containerise NAMD with Singularity to make it available on various HPC systems. At first I tried to utilise a pre-compiled NAMD binary: Linux-x86_64-ibverbs-smp (InfiniBand plus shared memory, no MPI needed) inside a container. I build my container from a definition file (md-centos.def). Please find it attached for a reference. According to a NAMD mailing list (https://www.ks.uiuc.edu/Research//namd/mailing_list/namd-l.2020-2021/0310.html) I used the ibverbs-smp variant of the NAMD binary. To enable Charmrun I installed SSH onto the CentOS Linux inside my container. Currently I see the same error as the person on the mailing list (Please see the conversation thread using the link above). Charmrun is unable to connect to the individual nodes of the HPC system.

To launch the containerised NAMD job on an HPC system I login to one of the nodes interactively with srun --pty /bin/bash. Once on a node a submit the Slurm job with sbatch < namd.slurm Please find the script file attached. The output of the failed run attempt is stored in multiple error log files: 01.log and namd-t.295873.log.

While I’m waiting for a reply of our local system administrator, I thought I will investigate the problem further by trying to install NAMD inside a container from source. To compile Charm++ I use the “build" script from the "charm-6.10.2” archive with the following options:

./build charm++ verbs-linux-x86_64 gcc gfortran smp

During the compilation I observe the fatal errors (infiniband/verbs.h: No such file or directory). These errors make me think, maybe the "verbs smp” variant of Charm++ is not the one to follow? It seems installing InfiniBand inside a container is an overkill. Plus it will require detailed knowledge of the underlying InfiniBand setup on a cluster. These setups will differ from cluster to cluster and therefore reduce the portability effect of a Singularity container. What would be your advice and recommendation? Is there a general guidance on preparing a container with NAMD? Now I’m inclined to trying MPI variants of Cham++ compilation. I hope these will be more portable.

Thank you for your help and have a wonderful day ahead!

Best wishes,

Maxim Abalenkov \\ maxim.abalenkov_at_gmail.com
+44 7 486 486 505 \\ https://urldefense.com/v3/__http://mabalenk.gitlab.io__;!!DZ3fjg!oJ3b3zeJxN2Spsk0oV4OLDFo1s__mFd6Sgve8d-7T3ee7sLmdJTR8mRhOgl38lCTIw$

This archive was generated by hypermail 2.1.6 : Fri Dec 31 2021 - 23:17:11 CST