VS2013淘宝有很多,随便买个安装即可
MSMPI百度一下在微软官网上下载即可,一共两个安装包
下载完之后默认安装
Intel Parallel Studio XE 2015也能从网上找到安装资源,直接安装即可
全部安装完成后
新建一个控制台文件
1、MSMPI配置:
项目属性按如下修改
包含目录里面添加:C:\Program Files (x86)\Microsoft SDKs\MPI\Include;
库目录的里面添加:C:\Program Files (x86)\Microsoft SDKs\MPI\Lib\x64;
配置管理器,选择x64编译平台;
C/C++ -> 预处理器,添加:MPICH_SKIP_MPICXX;
C/C++ -> 代码生成 -> 运行库,选择:多线程调试(/MTd);
链接器 -> 输入 -> 附加依赖项,添加:msmpi.lib;
2、MKL库配置
在“配置属性”下的“Intel Performance Libraries”面板上的“Use Intel MKL”条目的右边的下拉框选择“Parallel”
在“VC++目录”下设置以下:
可执行文件目录为:c:\Program Files (x86)\Intel\Composer XE 2015\redist\intel64\mkl
包含目录为:c:\Program Files (x86)\Intel\Composer XE 2015\mkl\include
库目录为:c:\Program Files (x86)\Intel\Composer XE 2015\compiler\lib\intel64;c:\Program Files (x86)\Intel\Composer XE 2015\mkl\lib\intel64
注意:如果是32位的,就不是“intel 64”而是“ia32”
在“自定义生成步骤”下,设置“附加依赖项”,选择以下lib文件,缺少什么可能需要尝试以下,一般是这几个:
mkl_intel_c.lib
mkl_intel_thread.lib
mkl_core.lib
libiomp5md.lib
最后 放上测试代码 同时测试了mkl库和mpi的使用
#include <stdio.h>
#include <mpi.h>
#include <mkl.h>
#include<stdlib.h>
int main(int argc, char *argv[])
// int argc;
// char *argv[];
{
int myid, numprocs, namelen;
char processor_name[MPI_MAX_PROCESSOR_NAME];
MPI_Init(&argc, &argv); /* starts MPI */
MPI_Comm_rank(MPI_COMM_WORLD, &myid); /* get current process id */
MPI_Comm_size(MPI_COMM_WORLD, &numprocs); /* get number of processes */
MPI_Get_processor_name(processor_name, &namelen);
if (myid == 0) printf("number of processes: %d\n", numprocs);
printf("%s: Hello world from process %d \n", processor_name, myid);
float *A;
int n = 5;
float res;
A = (float *)mkl_malloc(n*sizeof(float), 64);
printf("The original vector:\n");
for (int i = 0; i < n; i++)
{
A[i] = i + 1;
printf("%2.0f ", A[i]);
}
printf("\n");
res = cblas_snrm2(n, A, 1);//计算二范数
printf("The norm2 of vector is:%2.6f", res);
mkl_free(A);
MPI_Finalize();
return 0;
}
生成文件在release文件夹找到相应的exe文件,拷到mpi安装目录下的bin文件夹 空白处shift鼠标右键打开命令行 ,利用命令执行即可,效果如下