如何使用xcode 4编译openmpi程序?

时间:2012-02-22 03:16:57

标签: xcode macos osx-lion parallel-processing openmpi

我使用lion和xcode 4.2。我使用macports安装了openmpi。这一切都安装成功。

我不能找到一个指南,告诉我如何/包含哪些库来编译示例(见下文)

#include <mpi.h>
#include <stdio.h>

int main(int argc, char *argv[])
{
    int numprocs;
    int myid;
    MPI_Status stat; 

    /* all MPI programs start with MPI_Init */
    MPI_Init(&argc,&argv);     

    /* Comm_size tells us how many processes there are  */
    MPI_Comm_size(MPI_COMM_WORLD,&numprocs); 

    /* Comm_rank finds the rank of the process */
    MPI_Comm_rank(MPI_COMM_WORLD,&myid); 

    /* Print out a message */
    printf("Hello world, from process %d of %d\n", myid, numprocs);  

    /* MPI Programs end with MPI Finalize; this is a weak synchronization point */
    MPI_Finalize(); 

    return 0; 
} 

Xcode报告缺少mpi.h。

4 个答案:

答案 0 :(得分:10)

这很容易。您可以按照OpenMPI网站中的说明操作,也可以执行以下操作(这将帮助您将任何程序与任何其他库链接)。

Navigator (左侧面板)中选择项目。在构建设置中搜索库搜索路径并将路径放在MPI库的位置(/ usr / local / lib)

然后查找用户标题搜索路径并将MPI标题所在的路径(/ usr / local / include)

最后,在 Build Phases 中查找 Link Binary with Libraries ,点击加号(+),点击 Add Other 按Cmd + Shift + G 并将库libmpi.1.dyliblibmpi_cxx.1.dylib所在的路径(/ usr / local / lib)添加到两者,构建和运行它应该工作喜欢魅力。

有点晚了但可能这对其他人有帮助。

答案 1 :(得分:2)

Open-mpi有一个演练来完成这个。 Here you go

答案 2 :(得分:2)

你想要做两件事:

1)抓住

libmpi.1.dylib

libmpi_cxx.1.dylib

并将其复制到应用的项目文件夹中

2)将你的mph.h文件的位置添加到HEADER_SEARCH_PATHS(可能是/ usr / local / include)

同时检查$ PATH是否有安装OpenMPI的路径;如果不这样做,将在编译时导致错误。

祝你好运!

答案 3 :(得分:1)

除了Dhaivat的链接外,还有一些Open-MPI教程herehere