[C] Ottenere id del processo sorgente
Salve,
Apro questo topic per chiedere un consiglio riguardante un problema di programmazione parallela che sto affrontando in questi giorni:
dato un insieme p di processi, ad ogni ciclo di un processo iterativo mi generano un certo valore x.. quello che devo fare io è preso l'x minimo che uno dei p processi ha generato, scoprire l'id del processo che l'ha generato che mi servirà poi per trasferire in broadcast altre informazioni a tutti i processi.
- prima cosa sono arrivato a determinare il minimo valore di x tramite la routine MPI_Reduce() passando come operazione MPI_MIN, solo che poi non ho idee su come scoprire l'id del processo che ha generato quella x..
Apro questo topic per chiedere un consiglio riguardante un problema di programmazione parallela che sto affrontando in questi giorni:
dato un insieme p di processi, ad ogni ciclo di un processo iterativo mi generano un certo valore x.. quello che devo fare io è preso l'x minimo che uno dei p processi ha generato, scoprire l'id del processo che l'ha generato che mi servirà poi per trasferire in broadcast altre informazioni a tutti i processi.
- prima cosa sono arrivato a determinare il minimo valore di x tramite la routine MPI_Reduce() passando come operazione MPI_MIN, solo che poi non ho idee su come scoprire l'id del processo che ha generato quella x..
Risposte
Penso che ti basti usare MPI_MINLOC invece che MPI_MIN
http://www.mpi-forum.org/docs/mpi-1.1/m ... ode79.html
http://www.mpi-forum.org/docs/mpi-1.1/m ... ode79.html
Ho risolto, alla fine la soluzione era più semplice di quanto credessi.. grazie mille!