zoukankan      html  css  js  c++  java
  • MPI学习二

    1.规约

    int MPI_Reduce(void * input_data_p, void * output_data_p, int count, MPI_Datatype datatype, MPI_Op operator, int dest_process, MPI_Comm comm)

     1 #include <stdio.h>
     2 #include <mpi.h>
     3 
     4 int main(int argc, char **argv)
     5 {
     6     int myid, numprocs;
     7     double local_num = 3.0; 
     8 
     9     MPI_Init(&argc, &argv);
    10     
    11     MPI_Comm_rank(MPI_COMM_WORLD, &myid);
    12     MPI_Comm_size(MPI_COMM_WORLD, &numprocs);
    13     
    14     double global_num;
    15     
    16     //your code here
    17     MPI_Reduce(&local_num, &global_num, 1, MPI_DOUBLE, MPI_SUM, 0, MPI_COMM_WORLD);
    18     //end of your code
    19     
    20     if(myid == 0) {
    21         printf("Total sum = %f, avg = %f
    ", global_num, global_num / numprocs);
    22     }
    23 
    24     MPI_Finalize();
    25     return 0;
    26 }

    2.广播

    int MPI_Bcast(void* buffer, int count, MPI_Datatype datatype, int source, MPI_Comm comm)

     1 #include<stdio.h>
     2 #include<mpi.h>
     3 
     4 int main(int argc, char **argv)
     5 {
     6     int myid, numprocs;
     7     int source = 0;
     8     int array[5]={1,2,3,4,5};
     9     int i;
    10     
    11     MPI_Init(&argc, &argv);
    12     
    13     MPI_Comm_rank(MPI_COMM_WORLD, &myid);
    14     MPI_Comm_size(MPI_COMM_WORLD, &numprocs);
    15     
    16     if(myid == source) {
    17         for(i = 1; i <= 5; i++)
    18             array[i] = i;
    19     }
    20     
    21     //your code here
    22     MPI_Bcast(array, 5, MPI_INT, source, MPI_COMM_WORLD);
    23     //end of your code
    24     
    25     if(myid != source) {
    26         printf("In process %d, ", myid);
    27         for(i = 0; i < 5; i++)
    28             printf("arr[%d]=%d	", i, array[i]);
    29         printf("
    ");
    30     }
    31 
    32     MPI_Finalize();
    33     return 0;
    34 }

    来自:MPI编程实训学习(超算习堂)

  • 相关阅读:
    Apache虚拟主机(VirtualHost)配置
    LAMP源码安装
    SUSE上配置SAMBA服务
    Linux下安装或升级Python 2.7
    HTML5,CSS3,JS绘制饼图
    Single Number
    Reverse Words in a String
    C++控制台日历
    百度JS破盗链
    腾讯前端突击队Ⅱ
  • 原文地址:https://www.cnblogs.com/lin1216/p/12893110.html
Copyright © 2011-2022 走看看