PDA

View Full Version : [C] fprintf su cluster


federico100mt
22-04-2008, 16:45
Grazie mille, a tutti...

chiedo scusa al moderatore.. :)

ho sottomesso il job... vi farò sapere.

fede

federico100mt
22-04-2008, 16:59
Rieccomi... pensando ci bene...

potrebbe dipendere da una fase successiva alla fase di fprintf? cioè se una parte di codice si blocca... potrebbe implicare ciò?

ho provato con "a" e "w" ma nulla da fare.... boo :help: ....

eccovi il codice vero...


// WRITER SIDE
//--------
fpp=fopen("var_bip_mio","a");
fnp=fopen("var_nonbip_mio","a");



fprintf(fpp,"PE: %d ",myrank);
fprintf(fnp,"PE: %d ",myrank);


while(count<num_workers)
{
MPI_Recv(buffer, SIZE_WORKER, MPI_INT, MPI_ANY_SOURCE, MPI_ANY_TAG, MPI_COMM_WORLD, &status);

if(!status.MPI_TAG) count++;
else
{
if(myrank == writers[0])
for (i=0; i<SIZE_WORKER; i++){ if( fpp != NULL ) fprintf(fpp,"%d",buffer[i]);}
fprintf(fpp,"\n");

if(myrank == writers[1])
for (i=0; i<SIZE_WORKER; i++){ if( fnp != NULL ) fprintf(fnp,"%d",buffer[i]);}
fprintf(fnp,"\n");

/* if( z!=size_buffer )
{
sprintf(error_msg, "PE %d: \nErrore in scrittura nel file", myrank);
perror( error_msg );
sleep(10);
MPI_Abort(MPI_COMM_WORLD, error);
}*/
}
}
}
//chiudo i file piu avanti... //------------------------------------------------------------------------------------//


grazie mille! ragazzi!
fede

wingman87
22-04-2008, 18:20
Dovresti fare un controllo per vedere se i file sono stati aperti con successo subito dopo l'apertura e prima di iniziare a scrivere