并行程序设计环境配置
以下均基于Visual Studio 2019。
- C/C++-预处理器
预处理器定义:添加_CRT_SECURE_NO_DEPRECATE
使用scanf才不会报错
OpenMP
修改 调试-属性:
- C/C++-语言
OpenMP支持:选择“是”
PThread
-
warning!
它的包分x86和x64两个版本,互相不兼容,需要分别配置。后文假设将要配置的是x??。 -
下载pthread包
http://sourceware.org/pub/pthreads-win32/pthreads-w32-2-9-1-release.zip -
安置pthread包
解压zip进任意文件夹,暂称其为pthread
文件夹
将pthread/Pre-built.2/lib/x??/pthreadVC2.lib
复制一份到工程文件夹/x??/Debug
或工程文件夹/x??/Release
-
VC++目录-常规-库目录
编辑-新增pthread/Pre-built.2/lib/x??
-
C/C++ -预处理器-预处理器定义
新增HAVE_STRUCT_TIMESPEC
-
链接器-附加依赖项
新增pthreadVC2.lib
-
头文件
#pragma comment(lib,"pthreadVC2.lib")
#include<pthread.h>
#include<semaphore.h> //有需要信号量再添加这个
MPI
修改 调试-属性:
- 配置管理器
- C/C++-预处理器
预处理器定义:添加MPICH_SKIP_MPICXX
- C/C++-代码生成
运行库:改为MTd结尾
- 链接器-输入
附加依赖项:添加msmpi.lib
- VC++目录
包含目录:添加C:\Program Files (x86)\Microsoft SDKs\MPI\Include
库目录:添加C:\Program Files (x86)\Microsoft SDKs\MPI\Lib\x86
- 调试
命令:C:\Program Files\Microsoft MPI\Bin\mpiexec.exe
命令参数:-n 进程数 $(TargetPath)
即可通过调试运行多进程编码
也可不做步骤6,而是通过cmd调用程序:
生成可执行文件后,在C:\Program Files\Microsoft MPI\Bin调用cmd:
mpiexec -n 进程数 可执行文件的路径