C语言 MPI算法练习
两个数组a和b, 每个数组大约2000万个数,a[i]=sin(i), b[i]=sin(i+5).
数组描述
1. 计算平均值 Mean
2. 计算标准偏差 Standard deviation
3. 最后计算皮尔森相关系数 Pearson correlation coefficient
SP.
- 普通算法计算出皮尔森相关系数,记录运行时间
- MPI算法计算出皮尔森相关系数,记录运行时间
- 比较两种算法所花时间,得出速度提升
以下内容仅供参考(新手编程):
“.c” 文件代码:
//#include "stdafx.h"
#include "mpi.h"
#include "stdio.h"
#include "stdlib.h"
#include "string.h"
#include "math.h"
/*length of array a & b*/
int maxArray = 20000000;
double serial(),parallel();
int main(int argc, char* argv[])
{
int rank, numproces;
int namelen;
double t1, t2, t3, serial_resultXY, parallel_resultXY;
/* mpi start*/
MPI_Init(&argc, &argv);
MPI_Comm_rank(MPI_COMM_WORLD, &rank);
MPI_Comm_size(MPI_COMM_WORLD, &numproces);
/*timing point 1*/
t1 = MPI_Wtime();
serial_resultXY=serial(rank,numproces);
/*timing poin