|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Junior Member
Iscritto dal: Oct 2008
Messaggi: 1
|
[C] MPI problema con Send-Recv
Ciao a tutti io sto facendo un prog che ordina un array con mergesort ma ho un problema con MPI_Send e MPI_Recv in quanto quando li inserisco nel ciclo for del codice questi non fanno nulla, mentre senza ciclo for funzionano. Si può inserire queste due istruzioni in un ciclo for? (mi sono chiesto). Io devo passare i dati di certi task in altri task più volte ( con il ciclo for). Il codice è questo:
salto=2; for (i=1; i<=alt ; i++){ taglia=q*(salto/2); if(((rank%(salto/2))==0)&&((rank%salto)!=0)) { dest=rank- (salto/2); MPI_Send( ricez, taglia, MPI_INT, dest, DATA,MPI_COMM_WORLD); } if ((rank%salto)==0) { dest=rank+(salto/2); for(j=0;j<taglia;j++) { v[j]=ricez[j]; } MPI_Recv( ricez, taglia, MPI_INT, dest, DATA,MPI_COMM_WORLD, &status); for(j=taglia;j<(2*taglia);j++) { v[j]=ricez[j-taglia]; } merge(v,0,taglia,(q*salto)); } salto=salto*2; } Tutto funziona se non metto il for, ma a me serve quel ciclo. Se potete aiutarmi.. Anche con alternative diverse da questa. |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 17:21.



















