[molpro-user] 2012.1 build with slurm/mvapich2
Andy May
MayAJ1 at cardiff.ac.uk
Wed Dec 5 11:41:21 GMT 2012
Martin,
I can't comment on the problem you see since we don't have such a setup,
but I have added environment variable MV2_ENABLE_AFFINITY to the envlist
in bin/molpro, this change will appear in the nightly builds in the next
day or so.
I'm not certain why you needed to add OMP_NUM_THREADS to the list since
the main executable (bin/molpro.exe) sets the number of threads based on
the command line -t option. Run:
grep -i molpro_omp_threads src/*/*.F*
to see exactly what happens.
The OMP_NUM_THREADS variable should be detected by bin/molpro and then
passed as a command line option '-t' to bin/molpro.exe. If one passes -t
to bin/molpro then the script should pass instead pass it on as -t to
bin/molpro.exe. Try running with -v to confirm that this option gets
passed on via the command line.
Best wishes,
Andy
On 02/12/12 16:51, Martin Diefenbach wrote:
> Dear all,
>
> we would like to use molpro in conjunction with the SLURM batch queueing
> system, that is, in particular we are trying to build Molpro-2012.1 on
> an AMD Opteron QDR-Infiniband Linux-cluster (managed by the SLURM batch
> queueing system) using the following configuration:
>
> INTEL ifort/icc 12.1
> MKL 10.3
> GLOBAL ARRAYS 5-1-1
> MVAPICH2-1.8
> SLURM (2.4.1)
>
> To exploit both, the fast Infiniband interconnect as well as the
> intra-node shared-memory multiple CPU architecture, we were aiming at an
> OpenMP/MPI Hybrid build.
>
> Compilation of the code works fine, and MPI/OpenMP-hybrid molpro jobs
> start to run correctly; e.g. "molpro -n 4 -t 2 test.inp" runs on 4 CPUs,
> each spawning 2 threads = total of 8 processes, and produces some
> regular output. They do, however, cause the nodes to crash just before
> the variable memory is released (by starting a second instance of
> slurmstepd, i.e., more precisely a second set of molpro.exe's, which
> consume all of the resident memory and lead to a blow-up).
>
> Can anyone confirm this or has anyone succeeded in a similar
> environment? I attach the current CONFIG with this email.
>
> Cheers,
> Martin
>
> PS: After several many trials, the latest configuration we used is the
> following (utilising the nightly build of molpro):
>
> MVAPICH2-1.8:
> =============
> ./configure \
> --prefix=${PREFIX}/mvapich2 \
> --with-device=ch3:mrail \
> --with-rdma=gen2 \
> --enable-shared \
> --disable-xrc \
> --with-pm=no \
> --with-pmi=slurm \
> --with-limic2=/opt/limic2-0.5.5 \
> --with-hwloc=/cm/shared/apps/hwloc/1.4.2
>
> GA-5-1-1:
> =========
> LIBMPI="-I${SLURM_HOME}/include -I${MPI_HOME}/include
> -I/opt/limic2-0.5.5/include \
> -L${SLURM_HOME}/lib -L${MPI_HOME}/lib -L/opt/limic2-0.5.5/lib \
> -lmpichf90 -lmpich -lopa -lmpl -lpmi -lpthread -llimic2 -lrdmacm
> -libverbs -libumad -ldl -lrt -lnuma"
> BLAS_LIBS="-L${MKLROOT}/lib/intel64 -lmkl_rt -lpthread -lm"
> ./configure \
> MPIEXEC="srun -n %NP%" \
> CC=icc F77=ifort CXX=icpc \
> CFLAGS="-DLARGE_FILES -DMKL_ILP64 -openmp" \
> FFLAGS="-openmp" \
> --with-blas8="${BLAS_LIBS}" \
> --with-mpi="${LIBMPI}" \
> --with-tcgmsg \
> --with-openib \
> --prefix=${PREFIX}/ga
>
> MOLPRO-2012.1:
> ==============
> ./configure \
> -batch \
> -prefix "${PREFIX}" \
> -blaspath "${MKLROOT}/lib/intel64" \
> -openmp \
> -mpp \
> -mppbase "../ga-5-1-1" \
> -ifort -icc
>
> The CONFIG file is then edited/adapted to SLURM and thread-safe MKL by
> changing the two corresponding variables into
> LAUNCHER="srun -n %n %x"
> BLASLIB="-L${MKLROOT}/lib/intel64 -lmkl_rt -lpthread -lm"
>
> Also, molpro.sh is edited to include "OMP_NUM_THREADS
> MV2_ENABLE_AFFINITY" with $envlist.
>
>
>
> _______________________________________________
> Molpro-user mailing list
> Molpro-user at molpro.net
> http://www.molpro.net/mailman/listinfo/molpro-user
>
More information about the Molpro-user
mailing list