Giao thức truyền thông điệp

Thuật ngữ MPI là viết tắt của Message Passing Interface, chỉ một dạng giao thức kết nối của máy tính. Nó nằm trong chuẩn de facto cho kết nối giữa các nút chạy một chương trình song song trên bộ nhớ chia sẻ được phân phối. Tập MPI thi hành bao gồm một thư viện các thủ tục sao cho có thể gọi được từ các chương trình Fortran, C, C++ hay Ada. Lợi thế của MPI so với các thư viện cũ là nó vừa thuận tiện (vì MPI thực thi cho hầu hết các kiến trúc bộ nhớ phân phối) vừa nhanh (vì mỗi thủ tục được tối ưu hóa cho phần cứng mà nó đang chạy). Thường được so sánh với PVM và có thể kết hợp nó để tạo thành PVMMPI.

Chương trình mẫu[sửa | sửa mã nguồn]

Dưới đây là chương trình "Hello World" dùng MPI trong ngôn ngữ C. Chúng ta gửi thông điệp hello đến mỗi chip, chạy như bình thường, gửi kết quả trở lại chip chính, cuối cùng in ra.

 /*
  Test of MPI
 */
 #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("We have %d processors\n", numprocs);
     for(i=1;i<numprocs;i++)
     {
       sprintf(buff, "Hello %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, "Processor %d ", myid);
     strcat(buff, idstr);
     strcat(buff, "reporting for duty\n");
     MPI_Send(buff, 128, MPI_CHAR, 0, 0, MPI_COMM_WORLD);
   }
 
   MPI_Finalize();
   return 0;
 }

Xem thêm[sửa | sửa mã nguồn]

Liên kết ngoài[sửa | sửa mã nguồn]

Tham khảo[sửa | sửa mã nguồn]

Chúng tôi bán
Bài viết liên quan
Việt Nam và ván cờ Biển Đông
Việt Nam và ván cờ Biển Đông
Không ai có thể chọn được hàng xóm, và Việt Nam đã mang trên mình số phận của 1 quốc gia nhỏ yếu kề tường sát vách bên cạnh 1 nước lớn và hùng mạnh là Trung Quốc
Nhân vật Ichika Amasawa - Youkoso Jitsuryoku Shijou Shugi no Kyoushitsu e
Nhân vật Ichika Amasawa - Youkoso Jitsuryoku Shijou Shugi no Kyoushitsu e
Ichika Amasawa (天あま沢さわ 一いち夏か, Amasawa Ichika) là một trong những học sinh năm nhất của Trường Cao Trung Nâng cao.
Nguồn gốc Mặt Nạ Kháng Ma trong Tensura
Nguồn gốc Mặt Nạ Kháng Ma trong Tensura
Ngay từ khi bắt đầu Tensura, hẳn chúng ta đã quá quen thuộc với hình ảnh Shizu và chiếc mặt nạ, thứ mà sau này được cô để lại cho Rimuru
Triết học thực hành: Những cuốn sách triết học bạn có thể thực sự ứng dụng trong cuộc sống
Triết học thực hành: Những cuốn sách triết học bạn có thể thực sự ứng dụng trong cuộc sống
Suy Tưởng có lẽ là cuốn sách “độc nhất vô nhị” từng được thực hiện: nó bản chất là cuốn nhật ký viết về những suy nghĩ riêng tư của Marcus Aurelius