[Hpc-forum] MPI problemak

Rőczei Gábor roczei at niif.hu
2013. Sze. 25., Sze, 11:17:37 CEST


Kedves Etele!

> Leforditottam ujra a programot, mpicxx vagy mpic++ (gcc)
> es futtatni probalom de sajnos most is hibauzenetet kapok
> 
> mpirun-t adtam meg 1 job  8G memoria np=12:
> 
> Warning: Permanently added '[r1i1n3.ice.debrecen.hpc.niif.hu]:58158,[10.148.0.21]:58158' (RSA) to the list of known hosts.
> Warning: Permanently added '[r1i0n15.ice.debrecen.hpc.niif.hu]:45141,[10.148.0.17]:45141' (RSA) to the list of known hosts.
> ModuleCmd_Load.c(199):ERROR:105: Unable to locate a modulefile for 'openmpi/1.6.3-gcc-4.7.2'
> ModuleCmd_Load.c(199):ERROR:105: Unable to locate a modulefile for 'openmpi/1.6.3-gcc-4.7.2'
> ModuleCmd_Load.c(199):ERROR:105: Unable to locate a modulefile for 'gcc/4.7.2'
> ModuleCmd_Load.c(199):ERROR:105: Unable to locate a modulefile for 'gcc/4.7.2'
> ModuleCmd_Load.c(199):ERROR:105: Unable to locate a modulefile for 'openmpi/1.6.3-gcc-4.7.2'
> ModuleCmd_Load.c(199):ERROR:105: Unable to locate a modulefile for 'gcc/4.7.2'
> --------------------------------------------------------------------------
> WARNING: It appears that your OpenFabrics subsystem is configured to only
> allow registering part of your physical memory.  This can cause MPI jobs to
> run with erratic performance, hang, and/or crash.
> 
> This may be caused by your OpenFabrics vendor limiting the amount of
> physical memory that can be registered.  You should investigate the
> relevant Linux kernel module parameters that control how much physical
> memory can be registered, and increase them to allow registering all
> physical memory on your machine.
> 
> See this Open MPI FAQ item for more information on these Linux kernel module
> parameters:
> 
>     http://www.open-mpi.org/faq/?category=openfabrics#ib-locked-pages
> 
>   Local host:              r1i0n14
>   Registerable memory:     32768 MiB
>   Total memory:            49143 MiB
> 
> Your MPI job will continue, but may be behave poorly and/or hang.
> --------------------------------------------------------------------------
> [r1i0n14:21422] 47 more processes have sent help message help-mpi-btl-openib.txt / reg mem limit low
> [r1i0n14:21422] Set MCA parameter "orte_base_help_aggregate" to 0 to see all help / error messages

Sikerült rájönnöm, hogy mi volt a baj. A debreceni CN gépek mlx4_core kernel modul konfigurációjánál meg kell adni ezt a paramétert:

options mlx4_core log_mtts_per_seg=5

Mivel sok párhuzamos job nem futott ma reggel Debrecenben, ezért lehetőségem volt arra, hogy a CN gépek nagy részét újraindítsam annak érdekében hogy ez a beállítás aktiválódjon. Amiket még nem tudtam újraindítani azokat most disabled állapotba tettem addig amíg a rajta lévő jobok le nem futnak.

> Tovabba ha ugyanezt a programot 
> 
> mpirun.sge probalom futtatni (nem lett ujraforditva, maradt a gcc's forditas) akkor szinten 
> ugyan ezt a hibaunzenetet kapom csak sokkal hosszabbat es azonnal le is all a job...

mpirun.sge-t légyszives ne használj OpenMPI-os job esetén, ez csak SGI MPT-nél lesz jó.

OpenMPI-nál mpirun-t kell használni. Példa:

#!/bin/bash
#$ -N CONNECTIVITY
#$ -pe mpi 120

mpirun -np $NSLOTS ./connectivity -v

> ModuleCmd_Load.c(199):ERROR:105: Unable to locate a modulefile for 'openmpi/1.6.3-gcc-4.7.2'
> ModuleCmd_Load.c(199):ERROR:105: Unable to locate a modulefile for 'gcc/4.7.2'
> ModuleCmd_Load.c(199):ERROR:105: Unable to locate a modulefile for 'openmpi/1.6.3-gcc-4.7.2'
> ModuleCmd_Load.c(199):ERROR:105: Unable to locate a modulefile for 'openmpi/1.6.3-gcc-4.7.2'
> ModuleCmd_Load.c(199):ERROR:105: Unable to locate a modulefile for 'gcc/4.7.2'
> ModuleCmd_Load.c(199):ERROR:105: Unable to locate a modulefile for 'gcc/4.7.2'

Ezt meg kellene adni a .bashrc fájlodban:

module use /opt/nce/modulefiles

> Meg 2 utolso "elmeleti" kerdes
> Peldaul; egy program 4 Gb memoriat ker, ha parallel 2 programot szeretnek futtatni (./ program & ./ program &)  
> akkor 2*4 Gb memoriat kerjek vagy csak 4-et ?   
> > #$ -l h_vmem=8G vagy 4Gb 

h_vmem esetén azt adod meg, hogy 1 slot számára mennyi memóriára van szükség. Tehát: #$ -l h_vmem=4G 

> Ugyanez a program MPI-s verzioval tegyuk fel 6 slotton  
> mpirun -np 6 program
> 
> akkor 
> > #$ -l h_vmem=4G vagy 6*4=24Gb  

Megoldás:

 #$ -l h_vmem=4G

Gábor


További információk a(z) Hpc-forum levelezőlistáról