MPI
Görünüm
Bu maddehiçbirkaynakiçermemektedir. (Mart 2020)(Bu şablonun nasıl ve ne zaman kaldırılması gerektiğini öğrenin) |
MPI (Message Passing Interface)bir bilgisayar iletişimprotokolüdür.Dağıtık belleklibir sistemdeparalel programkoşan düğümlerin arasındaki iletişim için kullanılan fiilen standart bir protokoldür. MPI uygulamalarıFortran,C,C++veAdaprogramlarından çağrılan kütüphane yordamlarından oluşur. MPI 'ın diğer eski mesaj geçirmeli kütüphanelere olan üstünlüğü taşınabilir (MPI pek çok dağıtık bellekli mimari üzerinde uygulanmıştır) ve hızlı (çünkü her bir uygulama üzerinde çalıştığıhardwareiçin optimize edilmektedir) olmasıdır.
Aşağıda bir "Merhaba Dünya" uygulaması görülmektedir. Her bir işlemciye "Merhaba" mesajı yollanmakta bu mesaj işlendikten sonra sonuçlar ana işlemciye dönmekte ve çıktı mesajları ekrana yazılmaktadır.
// MPI Testi #include <mpi.h> #include <stdio.h> #include <string.h> int main(int argc, char *argv[]) { char idstr[32]; char buff[128]; int numprocs; int myid; int i; MPI_Status stat; MPI_Init(&argc,&argv); MPI_Comm_size(MPI_COMM_WORLD,&numprocs); MPI_Comm_rank(MPI_COMM_WORLD,&myid); if(myid == 0) { printf( "%d tane islemcim var\n", numprocs); for(i=1;i<numprocs;i++) { sprintf(buff, "Merhaba %d!", i); MPI_Send(buff, 128, MPI_CHAR, i, 0, MPI_COMM_WORLD); } for(i=1;i<numprocs;i++) { MPI_Recv(buff, 128, MPI_CHAR, i, 0, MPI_COMM_WORLD, &stat); printf( "%s\n", buff); } } else { MPI_Recv(buff, 128, MPI_CHAR, 0, 0, MPI_COMM_WORLD, &stat); sprintf(idstr, "Islemci %d", myid); strcat(buff, idstr); strcat(buff, "goreve hazir\n" ); MPI_Send(buff, 128, MPI_CHAR, 0, 0, MPI_COMM_WORLD); } MPI_Finalize(); return 0; }
Dış bağlantılar
[değiştir|kaynağı değiştir]- MPI dokümantasyon15 Nisan 2006 tarihindeWayback Machinesitesindearşivlendi.(İngilizce)
- Open MPI Sitesi2 Temmuz 2006 tarihindeWayback Machinesitesindearşivlendi.(İngilizce)