Re: [containerising NAMD with Singularity]

From: Giacomo Fiorin (giacomo.fiorin_at_gmail.com)
Date: Wed Oct 13 2021 - 08:25:58 CDT

Hi Maxim, if you're using Singularity I assume that the compute nodes also
have a reasonably modern Linux installation. How about using the
pre-compiled binary directly onto the nodes? NAMD builds don't really have
much in terms of dependencies through dynamic linking.

Giacomo

On Wed, Oct 13, 2021 at 5:31 AM Maxim Abalenkov <maxim.abalenkov_at_gmail.com>
wrote:

> 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
>
>
>
> 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