[Hpc-forum] MPI problemak
etele molnar
etele.molnar at gmail.com
2013. Sze. 24., K, 19:53:07 CEST
Kedves Gabor
Eloszor is koszonom a segitseget es a faradsagot de meg mindig gond van.
Igaz most mar van uj gcc 4.7.2 es openmpi 1.6.3 de a problema nem mult el.
Megjegyzem a /sgi/mpt/2.04 modul alapertelmezett igy csak az elobbi kettot
adtam hozza a .bashrc-hez.
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
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...
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'
--------------------------------------------------------------------------
mpirun was unable to launch the specified application as it could not find
an executable:
Executable: r1i0n14.ice.debrecen.hpc.niif.hu
Node: r1i0n14
while attempting to start process rank 0.
--------------------------------------------------------------------------
real 0m1.436s
user 0m0.012s
sys 0m0.016s
etc...
***
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
Ugyanez a program MPI-s verzioval tegyuk fel 6 slotton
mpirun -np 6 program
akkor
> #$ -l h_vmem=4G vagy 6*4=24Gb
Elore is koszonom
udv
e
2013/9/24 Rőczei Gábor <roczei at niif.hu>
> Kedves Molnár Etele!
>
> > van egy surgeto problemakor amit nem tudtam megoldani napok ota.
> > Az egyik c++ kodom MPI-t hasznal integralasra, de sajnos nem mindig
> mukodik kellokepp a debreceni gepen.
> >
> > eloszor is az SGE fele mpi-ben nem fordul le mivel nem ismeri fel az MPI
> reszt ?
> > mpi-selector --query -> mpt-2.04
>
> mpi-selector helyett használd inkább a SGI MPT-s modult Debrecenben:
> module load sgi/mpt/2.04
>
> A job scriptben mpirun.sge-t kell majd megadni a futtatáshoz (erre csak
> SGI MPT esetén van szükség, OpenMPI-nál mpirun-t kell használni). Példa:
>
> #!/bin/bash
> #$ -N TEST
> #$ -pe mpi 60
>
> mpirun.sge -np $NSLOTS program
>
> Ezeket kell beállítani a fordításkor (akkor ha nem ismeri fel
> automatikusan):
>
> CXXFLAGS=-I/opt/nce/packages/global/sgi/mpt/2.04/include
> CFLAGS=-I/opt/nce/packages/global/sgi/mpt/2.04/include
> FFLAGS=-I/opt/nce/packages/global/sgi/mpt/2.04/include
> LDFLAGS=-L/opt/nce/packages/global/sgi/mpt/2.04/lib -lmpi
>
> > A masik problemam az az, hogy probalom az ujabb gcc/4.6.4 fordito
> csomagot hasznalni es a .bashrc bele is irtam, hogy
> > module load gcc/4.6.4 openmpi/1.6.3-gcc-4.7.2 es ez be is toltodik
> mivel megtalalom a
> > module list parancsal, de mikor a kodot elinditom mindig azt a hibat
> kapom, hogy
> >
> > ModuleCmd_Load.c(199):ERROR:105: Unable to locate a modulefile for
> 'gcc/4.6.4'
> > ModuleCmd_Load.c(199):ERROR:105: Unable to locate a modulefile for
> 'openmpi/1.6.3-gcc-4.7.2'
>
> Debrecenben nem volt telepítve a 4.7.2-es OpenMPI verzió. Ezt most
> javítottam.
>
> Így tudod betölteni őket:
>
> DEBRECEN[service0] ~ (0)$ module load openmpi/1.6.3-gcc-4.7.2 gcc/4.7.2
> DEBRECEN[service0] ~ (0)$ type gcc
> gcc is /opt/nce/packages/global/gcc/4.7.2/bin/gcc
> DEBRECEN[service0] ~ (0)$ type mpirun
> mpirun is /opt/nce/packages/global/openmpi/1.6.3-gcc-4.7.2/bin/mpirun
> DEBRECEN[service0] ~ (0)$
>
> > erdekes az is, hogy az mpicxx.openmpi-t nem ismeri fel a
> szuperszamitogep !
>
> OpenMPI esetén mpirun-t használj. Úgy van fordítva az OpenMPI, hogy képes
> értelmezni az SGE által definiált PE_HOSTFILE-os környezeti változót:
>
> DEBRECEN[service0] mpi (0)$ ompi_info -all | grep gridengine
> MCA ras: gridengine (MCA v2.0, API v2.0, Component v1.6.3)
> MCA ras: parameter "ras_gridengine_debug" (current value:
> <0>, data source: default value)
> Enable debugging output for the gridengine ras
> component
> MCA ras: parameter "ras_gridengine_priority" (current
> value: <100>, data source: default value)
> Priority of the gridengine ras component
> MCA ras: parameter "ras_gridengine_verbose" (current
> value: <0>, data source: default value)
> Enable verbose output for the gridengine ras
> component
> MCA ras: parameter "ras_gridengine_show_jobid" (current
> value: <0>, data source: default value)
> DEBRECEN[service0] mpi (0)$
>
> Megjegyzés: OpenMPI helyett SGI MPT-t használj ha van rá lehetőséged, mert
> ez sokkal jobban ki tudja használni az SGI-s architektúrát Debrecenben.
>
> Ezt cseréltem: mpiexec --> mpirun
>
> > mi van akkor ha egyszerre 2 mpis programot futtatok pl,
> >
> > #!/bin/sh
> > #$ -N test2
> > #$ -l h_vmem=4G
> > #$ -l h_rt=23:59:59
> > #$ -pe mpi 24
> > #$ -q parallel.q
> >
> > time mpirun -np 12 ./kod $writedir01/ > kod.out1 &
> > time mpirun -np 12 ./kod $writedir11/ > kod.out2 &
> > wait
> >
> > ez magatol erthetodo ? 24 thread 2 reszre osztva ? es "&" parhuzamosan
> futtnak
>
> Igen, ez így fog történni.
>
> Ez pedig egymás után fogja lefuttatni:
>
> > time mpirun -np 24 ./kod $writedir01/ > kod.out1 ;
> > time mpirun -np 24 ./kod $writedir11/ > kod.out2 ;
>
> Üdvözlettel,
>
> Rőczei Gábor
--------- következő rész ---------
Egy csatolt HTML állomány át lett konvertálva...
URL: <https://listserv.niif.hu/pipermail/hpc-forum/attachments/20130924/484e1a53/attachment.html>
További információk a(z) Hpc-forum levelezőlistáról