Как мне скомпилировать openmpi программы с использованием xcode 4? - PullRequest
3 голосов
/ 22 февраля 2012

Я использую lion и xcode 4.2. Я установил openmpi, используя macports. Все успешно установлено.

Однако я не могу найти руководство, чтобы рассказать мне, как / какие библиотеки включать в состав примера (см. Ниже)

#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 ]

10 голосов
/ 21 сентября 2013

Это действительно легко.Вы можете либо следовать инструкциям на веб-сайте OpenMPI, либо выполнять следующее (что поможет вам связать любую программу с любой другой библиотекой).

В Navigator (левая панель) выберитепроект.В Параметры сборки найдите Пути поиска библиотек и укажите путь, по которому находятся библиотеки MPI (/ usr / local / lib)

Затем найдите Путь поиска заголовка пользователя и укажите путь к заголовкам MPI (/ usr / local / include)

Наконец, в Этапы сборки ищите Link Binary withБиблиотеки нажмите на знак плюса (+), нажмите Добавить другие , , нажмите Cmd + Shift + G и укажите путь, по которому библиотеки libmpi.1.dylib, libmpi_cxx.1.dylib(/ usr / local / lib) добавьте и то, и другое, создайте и запустите, и это должно работать как шарм.

Немного поздно, но, вероятно, это поможет кому-то еще.

2 голосов
/ 22 ноября 2012

Вы хотите сделать 2 вещи:

1) Захватить

libmpi.1.dylib

libmpi_cxx.1.dylib

и скопировать ихв папке проекта вашего приложения

2) добавьте в HEADER_SEARCH_PATHS местоположение вашего файла mph.h (вероятно, / usr / local / include)

Также проверьте, имеет ли ваш $ PATHпуть, по которому вы установили OpenMPI;в противном случае это приведет к ошибке во время компиляции.

Удачи!

2 голосов
/ 22 февраля 2012

Open-MPI имеет пошаговое руководство, чтобы сделать именно это. Вот, пожалуйста, .

1 голос
/ 22 февраля 2012

В дополнение к ссылке Dhaivat, есть несколько уроков Open-MPI здесь и здесь .

...