Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add build for Slurm MPI usage #24

Open
tbugfinder opened this issue Jul 21, 2022 · 2 comments
Open

Add build for Slurm MPI usage #24

tbugfinder opened this issue Jul 21, 2022 · 2 comments

Comments

@tbugfinder
Copy link
Contributor

Hello,

would it be possible to add another set of executables which support Slurm/srun MPI support?

If executed through srun/singluarity the following error is shown:

$  singularity exec --nv  -B /home docker://gromacs/gromacs:2022.2 gmx --version
INFO:    Using cached SIF image
[myhost:24249] OPAL ERROR: Not initialized in file pmix3x_client.c at line 113
--------------------------------------------------------------------------
The application appears to have been direct launched using "srun",
but OMPI was not built with SLURM's PMI support and therefore cannot
execute. There are several options for building PMI support under
SLURM, depending upon the SLURM version you are using:

  version 16.05 or later: you can use SLURM's PMIx support. This
  requires that you configure and build SLURM --with-pmix.

  Versions earlier than 16.05: you must use either SLURM's PMI-1 or
  PMI-2 support. SLURM builds PMI-1 by default, or you can manually
  install PMI-2. You must then build Open MPI using --with-pmi pointing
  to the SLURM PMI library location.

Please configure as appropriate and try again.
--------------------------------------------------------------------------
*** An error occurred in MPI_Init_thread
*** on a NULL communicator
*** MPI_ERRORS_ARE_FATAL (processes in this communicator will now abort,
***    and potentially your MPI job)

@mabraham
Copy link
Contributor

Does it work with mpirun rather than srun?

@tbugfinder
Copy link
Contributor Author

tbugfinder commented Jul 22, 2022

Correct, I can run salloc and within this environment mpirun singularity exec --nv -B /home docker://gromacs/gromacs:2022.2 gmx --version successfully:

                       :-) GROMACS - gmx_mpi, 2022.2 (-:

Executable:   /gromacs/bin.AVX2_256/gmx_mpi
Data prefix:  /gromacs
Working dir:  /home/slurmer
Command line:
  gmx_mpi --version

GROMACS version:    2022.2
Precision:          mixed
Memory model:       64 bit
MPI library:        MPI (CUDA-aware)
OpenMP support:     enabled (GMX_OPENMP_MAX_THREADS = 128)
GPU support:        CUDA
SIMD instructions:  AVX2_256
CPU FFT library:    fftw-3.3.8-sse2-avx-avx2-avx2_128
GPU FFT library:    cuFFT
RDTSCP usage:       disabled
TNG support:        enabled
Hwloc support:      disabled
Tracing support:    disabled
C compiler:         /usr/local/openmpi/bin/mpicc GNU 8.4.0
C compiler flags:   -mavx2 -mfma -Wno-missing-field-initializers -fexcess-precision=fast -funroll-all-loops -O3 -DNDEBUG
C++ compiler:       /usr/local/openmpi/bin/mpicxx GNU 8.4.0
C++ compiler flags: -mavx2 -mfma -Wno-missing-field-initializers -fexcess-precision=fast -funroll-all-loops -fopenmp -O3 -DNDEBUG
CUDA compiler:      /usr/local/cuda/bin/nvcc nvcc: NVIDIA (R) Cuda compiler driver;Copyright (c) 2005-2022 NVIDIA Corporation;Built on Tue_Mar__8_18:18:20_PST_2022;Cuda compilation tools, release 11.6, V11.6.124;Build cuda_11.6.r11.6/compiler.31057947_0
CUDA compiler flags:-std=c++17;;-D_FORCE_INLINES;-mavx2 -mfma -Wno-missing-field-initializers -fexcess-precision=fast -funroll-all-loops -fopenmp -O3 -DNDEBUG
CUDA driver:        11.40
CUDA runtime:       11.60


In the end I'd like to use the setup using nextflow which takes care of slurm jobs and singularity.
Unfortunately using singularity within nextflow doesn't support executing singularity within mpirun (AFAIK).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants