我从以下指定网站的方向安装了MPICH3.2
http://mpitutorial.com/tutorials/installing-mpich2/
我下载了tar文件并在Downloads /目录中并使用terminal安装。我想在我提交到远程计算机之前测试我的程序是否在本地计算机上运行。
问题是当我写标题#include" mpi.h" Xcode没有认识到它。如何将MPICH库添加到Xcode?或者我如何制作它以便Xcode使用mpi编译?
答案 0 :(得分:2)
我个人会这样(请注意我从未在XCode中编译MPI代码 - 我是通过Makefile,CMake编写的)。
我会在某个位置安装MPI(来自消息来源) - 看一看如何操作:Running Open MPI on macOS
然后,我已经创建了超级简单的MPI代码(例如像这样)
#include <stdio.h>
#include "mpi.h"
int main(int argc, char * argv[]){
int my_rank, p, n;
MPI_Init(&argc, &argv);
MPI_Comm_size(MPI_COMM_WORLD, &p);
MPI_Comm_rank(MPI_COMM_WORLD, &my_rank);
printf("size: %d rank: %d\n", p, my_rank);
MPI_Finalize();
}
然后,我将使用mpicc编译(如@Gilles所述)。
> mpicc -v -o mpi ./mpi.c
> mpirun -np 4 ./mpi
size: 4 rank: 1
size: 4 rank: 2
size: 4 rank: 0
size: 4 rank: 3
选项-v
会为您提供所需的所有位置。然后,我将所有这些选项都带入了XCode。
您还可以使用mpicc -show
获取构建基于MPI的代码所需的标记。
事实上,它应该开箱即用。看看这里:
您需要设置包含(如图所示)
和MPI lib(如图所示)
并且,您也应该能够运行它
要使用mpirun
让其运行,请务必设置:Product->Scheme->Edit Scheme
。并且,请务必将Arguments
更改为
和Executable
到mpirun
- 它应该位于安装了MPI的bin
目录中。
答案 1 :(得分:1)
MPI
应用程序的方法是使用MPI
包装器(例如mpicc
和朋友)而不是本机编译器(例如gcc
/ clang
和朋友)。通过执行此操作,mpi.h
将位于包含路径中,您不需要手动链接各种MPI
库(顺便说一下MPI实现)