Problema #96
Erro em submissão MPI com 2 hosts
| Status: | Fechada | Start date: | 08 Apr 2010 | |
|---|---|---|---|---|
| Priority: | Baixa | Due date: | ||
| Assignee: | Gabriel Winckler | % Done: | 0% | |
| Category: | - | |||
| Target version: | - |
Description
Como reportado pelo Rafael (rrleme):
Eu isolei o trecho de código novo pra tentar descobrir o erro, rodei este
código aqui em casa (num cluster de 2 pc que eu montei) e funcionou
perfeitamente.
Inicialmente eu pesei que o erro estava no meu código, agora não sei onde
o erro está. Você pode dar uma olhadinha se tem algo em meu código que tem
que ser adaptado pra rodá-lo no grid?
O código a seguir ilustra o que eu estou fazendo:
___________________________________________
- number of process must be 2
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <mpi.h>
int main(int argc, char** argv)
{
int size,rank,tag,nome;
char name[MPI_MAX_PROCESSOR_NAME];
MPI_Status status;
int a;
MPI_Init(&argc, &argv);
MPI_Comm_size(MPI_COMM_WORLD, &size);
MPI_Comm_rank(MPI_COMM_WORLD, &rank);
MPI_Get_processor_name(name, &nome);
if(rank==0){
int b[3],i;
a=7;
tag=0;
MPI_Send(&a, 1, MPI_INT, 1, tag, MPI_COMM_WORLD);
printf("\n %s - Message sent: %i",name,a);
MPI_Recv(&b, 3, MPI_INT, 1, 1, MPI_COMM_WORLD, &status);
printf("\n %s - Message received:",name);
for(i=0;i<3;i++) printf(" %i",b[i]);
}else{
int c,g[3],i;
g[0]=0; g[1]=1; g[2]=2;
MPI_Recv(&c, 1, MPI_INT, 0, 0, MPI_COMM_WORLD, &status);
printf("\n %s - Message received: %i",name,c);
tag=1;
MPI_Send(&g, 3, MPI_INT, 0, tag, MPI_COMM_WORLD);
printf("\n %s - Message sent:",name);
for(i=0;i<3;i++) printf(" %i",g[i]);
}
printf("\n");
MPI_Finalize();
return 0;
}
_________________________________________
No arquivo *.out aparece:
mpdboot_node219 (handle_mpd_output 850): from mpd on node209.localonfig,
invalid port info:
ssh: node209.localonfig: Name or service not known
History
#1 Updated by Gabriel Winckler over 16 years ago
- Status changed from Nova to Aguardando resposta
- Priority changed from Alta to Baixa
Depois de debug, conclui que isso só acontece com a submissão para 2 processos.
Adaptei o script wrapper do MPI e mandei um email para a lista do condor:
Hi,
I found a very strange situation using condor_chirp in a job running in
the parallel universe.
My MPI wrapper script execute the follow command:
$(condor_config_val libexec)/condor_chirp get_job_attr AllRemoteHosts
The result is the expected (the same from condor_q -l) except on an
execution with 2 nodes.
Here is the output:
"slot4@node092.local,slot8@node231.local"nfig
Note the extra "nfig".
Is this expected somehow?
How should I debug this?
I'm using condor 7.4.1.
Thanks,
Gabriel
#2 Updated by Gabriel Winckler over 16 years ago
- Status changed from Aguardando resposta to Fechada
Sem resposta da lista do Condor.
Como o workarround está funcionando, podemos fechar esse ticket.