1

J'ai installé Linpack sur un cluster à 2 nœuds avec des processeurs Xeon. Parfois, si je commence à Linpack avec cette commande:Linpack démarre parfois, parfois non, mais rien n'a changé

mpiexec np 28 -print-rang-carte de /root/machines.HOSTS de ./xhpl_intel64

commence Linpack et imprime la sortie, parfois Je ne vois que les mappages mpi imprimés et rien ensuite. Pour moi, cela ressemble à un comportement aléatoire, car je ne change rien entre les appels et comme déjà mentionné, Linpack commence parfois, parfois non. Dans top Je peux voir que les processus xhpl_intel64 ont été créés et ils utilisent massivement le CPU mais en regardant le trafic entre les noeuds, iftop me dit que rien n'est envoyé. J'utilise MPICH2 comme implémentation MPI. Ceci est mon HPL.dat:

# cat HPL.dat 
HPLinpack benchmark input file 
Innovative Computing Laboratory, University of Tennessee 
HPL.out  output file name (if any) 
6   device out (6=stdout,7=stderr,file) 
1   # of problems sizes (N) 
10000   Ns 
1   # of NBs 
250   NBs 
0   PMAP process mapping (0=Row-,1=Column-major) 
1   # of process grids (P x Q) 
2   Ps 
14   Qs 
16.0   threshold 
1   # of panel fact 
2   PFACTs (0=left, 1=Crout, 2=Right) 
1   # of recursive stopping criterium 
4   NBMINs (>= 1) 
1   # of panels in recursion 
2   NDIVs 
1   # of recursive panel fact. 
1   RFACTs (0=left, 1=Crout, 2=Right) 
1   # of broadcast 
1   BCASTs (0=1rg,1=1rM,2=2rg,3=2rM,4=Lng,5=LnM) 
1   # of lookahead depth 
1   DEPTHs (>=0) 
2   SWAP (0=bin-exch,1=long,2=mix) 
64   swapping threshold 
0   L1 in (0=transposed,1=no-transposed) form 
0   U in (0=transposed,1=no-transposed) form 
1   Equilibration (0=no,1=yes) 
8   memory alignment in double (> 0) 

Edit2:

maintenant je viens de laisser l'exécution du programme pendant un certain temps et après 30 minutes, il me dit:

# mpiexec -np 32 -print-rank-map -f /root/machines.HOSTS ./xhpl_intel64 
(node-0:0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15) 
(node-1:16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31) 
Assertion failed in file ../../socksm.c at line 2577: (it_plfd->revents & 0x008) == 0 
internal ABORT - process 0 
APPLICATION TERMINATED WITH THE EXIT STRING: Hangup (signal 1) 

Est-ce un problème mpi?

Savez-vous quel type de problème cela pourrait être?

Répondre

2

J'ai trouvé le problème: MPICH2 utilise différents ports aléatoires chaque fois qu'il démarre et si ceux-ci sont bloqués votre application ne démarrera pas correctement. La solution pour MPICH2 est de définir l'environnement MPICH_PORT_RANGE variable START: FIN, comme ceci:

export MPICH_PORT_RANGE = 50000: 51000

Best, heinrich