使用MPI实现直方图

企鹅博客
企鹅博客
企鹅博客
30160
文章
0
评论
2020年9月14日03:12:50 评论 8 views 929字阅读3分5秒

使用MPI实现直方图:

#include <stdio.h>
#include <stdlib.h>

//mpi
#include <mpi.h>
//

#define MAXLINE 10000001

int main()
{
    double *ptd;
    char *ptc;
    FILE *fp;
    int i = 0;   
    double start, finish;
    int count[10]={0};
 int total_count[10]={0};
    int num=0,source=0;

    ptd = (double *)malloc(MAXLINE * sizeof(double));
    ptc = (char *)malloc(10 * sizeof(char));

 //mpi
 int comm_sz;
 int my_rank;
 int local_num=0,local_a=0,local_b=0;
 MPI_Init(NULL,NULL);
 MPI_Comm_size(MPI_COMM_WORLD, &comm_sz);
 MPI_Comm_rank(MPI_COMM_WORLD, &my_rank);
 //
    if((fp = fopen("data.txt","r")) == NULL)
    {
      printf("Can't open \n");
      exit(1);
    }
    i=0;
    while(fgets(ptc, 10, fp) != NULL && ptc[0] != '\n' && i < MAXLINE)
    {       
        ptd[i] = atof(ptc);
        i++;
    }

    num = i;
    local_b = num-1;

    free(ptc);
    if(fclose(fp)!=0)
    {
        fprintf(stderr,"Error closing file\n");
    }
 
    start = MPI_Wtime();
 //mpi
 local_num = num / comm_sz;
 local_a = 0 + my_rank*local_num;
 local_b = local_a + local_num-1;
 for(i=local_a; i<local_b; i++)
 {
    count[(int)ptd[i]]++;
 }

继续阅读
weinxin
欢迎加入中国站长博客之家
本站的所有资源都会上传分享到博客之家,希望大家互相学习交流进步。
关于 Python 字符串 Linux编程

关于 Python 字符串

字符串 字符串的处理是编译语言中不可缺少的部分,特别是在输入输出的时候,Python字符串的处理比较多样,便捷。 一.字符串拼接 Python字符串的拼接结合了Java和C语言的形式,但是形式上多了很...
Java数组及其内存分配 Linux编程

Java数组及其内存分配

几乎所有的程序设计语言都支持数组。Java也不例外。当我们需要多个类型相同的变量的时候,就考虑定义一个数组。在Java中,数组变量是引用类型的变量,同时因为Java是典型的静态语言,因此它的数组也是静...
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: