3. Әрбіреуі стандартты құрылғыға процесс номерін және іске қосылған
процесстердің саны туралы хабарлама шығаратын бірнеше поцессті іске
қосатын қарапайым программаны келтірейік:
#include
#include
int main(int argc,char *argv[])
{
int myid, numprocs;
MPI_Init(&argc, &argv);
MPI_Comm_size(MPI_COMM_WORLD, &numprocs);
MPI_Comm_rank(MPI_COMM_WORLD, &myid);
printf(stdout,"Process %d of %d\n", myid, numprocs)
MPI_Finalize();
return 0;
}
4. Келесі программа жұп және тақ рангілі процесстер арасындағы
хабарламалар алмасуға мысал болады, size мәні жұп болсын делік:
#include
#include
int main(int argc,char *argv[])
{
int myrank, size, message;
int TAG = 0;
MPI_Status status;
MPI_ Init(&argc, &argv);
MPI_Comm_rank(MPI_COMM_WORLD, &myrank);
MPl_Comm_size(MPI_COMM_WORLD, &size);
message=myrank; if((myrank%2)-0)
{
If((myrank+1)1-size)
MPI
{
if((myrank+ 1)1- size)
MPI_Send(&message, 1, MPI_INT, myrank+1, TAG,
MPI_COMM_WORLD); else {if (myrank !- 0)
{ MPI__Recv(&message, 1, MPI_INT, myrank-1, TAG,
MPI_COMM_WORLD, &status);
printf("I am %i received :%i \n", rank, message);
return 0;
}
Достарыңызбен бөлісу: