[Hpc-forum] MPI problemak

etele molnar etele.molnar at gmail.com
2013. Sze. 23., H, 19:26:09 CEST


Tisztel lista


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

** makefile 1 **
CC=mpicxx
CFLAGS= -march=native -c -O2 -W -Wall -funroll-loops -g -lmpi++ -lmpi
.. etc.
**
error: ‘MPI’ has not been declared (pedig #include <mpi.h> termeszetesen
megvan)

itt megjegyzendo, hogy az mpicxx az SGI MPT es az mpic++ az GCC openMPI

Persze openmpi-vel azonnal lefordul
mpi-selector --query -> openmpi 1.4.2

** makefile 2 **
CC=mpic++
CFLAGS= -march=native -c -O2 -W -Wall -funroll-loops -g -lmpi++ -lmpi
.. etc.
**

ezek utan a kodot
mpiexec -np $MPI_THREADS ./kod ...

ahol $MPI_THREADS = 12 tol 120-ig

sajnos a program futasi ideje nem skalazik annyira jol amennyire elvarnam
sot a 12 esetben talan meg lassabb mint az asztali gepemen 6-core

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'

van mikor tovabb fut a kod de van mikor azonnal stoppol !

Persze itt meg lenne tovabbi problema mint peldaul az, hogy talan a BOOST
konyvtarakkal osszeakad a kod ha a gcc/4.7.2 modult betoltom es nem fordul
le (boost hiba)

MEgjegyszem az asztali gepemen Ubuntu 13.04 van gcc 4.7.3 es probaltam mar
Ubuntu 12.04 is es tokeletesen mukodik (regebbi gcc-vel es konyvtarakkal)

** makefile **
CC=mpicxx.openmpi
CFLAGS= -march=native -c -O2 -W -Wall -funroll-loops
**

erdekes az is, hogy az mpicxx.openmpi-t nem ismeri fel a szuperszamitogep !


Elore is koszonom szepen a segitseget,
e


u.t.

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 mpiexec -np 12 ./kod $writedir01/ > kod.out1 &
time mpiexec -np 12 ./kod $writedir11/ > kod.out2 &
wait

ez magatol erthetodo ? 24 thread 2 reszre osztva ? es "&" parhuzamosan
futtnak

vagy csak egymas utan lehet

time mpiexec -np 24 ./kod $writedir01/ > kod.out1 ;
time mpiexec -np 24 ./kod $writedir11/ > kod.out2 ;
wait
--------- következ? rész ---------
Egy csatolt HTML állomány át lett konvertálva...
URL: <https://listserv.niif.hu/pipermail/hpc-forum/attachments/20130923/cd014464/attachment.html>


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