2012-04-13 4 views
1

С Microsoft HPC Pack 2008 R2, установленным и использующим Visual Studio 2010 Professional, я могу запускать программы MPI, используя стиль C, но не стиль C++. Например:Является ли пространство имен MPI C++ не включенным в Microsoft HPC Pack 2008 R2?

#include <mpi.h> 

int main() 
{ 
    MPI_Init(NULL,NULL); 
    . 
    . 
    . 
    MPI_Finalize(); 
    return 0; 
} 

работ, но

#include <mpi.h> 

int main() 
{ 
    MPI::Init(NULL,NULL); 
    . 
    . 
    . 
    MPI::Finalize(); 
    return 0; 
} 

нет. В сообщении об ошибке указано, что пространство имен MPI не найдено. Я что-то делаю глупо? Это вполне возможно. Любая помощь оценивается.

Спасибо,

-nuun

ответ

2

http://mpi-forum.org/docs/mpi-2.2/mpi22-report/node328.htm

По состоянию на MPI 2.2:

Весь набор языковых привязок C++, были устаревшими.

Обоснование.

Связи C++ добавляют минимальную функциональность по связям C, в то время как несут значительное количество технического обслуживания спецификации MPI . Так как привязки C++ эффективно представляют собой сопоставление C12 с привязкой к одному , было бы относительно легко преобразовать существующих приложений C++ MPI для использования привязок MPI C. Кроме того, доступны пакеты сторонних поставщиков, которые предоставляют функциональные возможности библиотеки C++ class (т. Е. Функциональные возможности C++, расположенные сверху связок MPI C), которые, скорее всего, более выразительны и/или естественны программистам на C++ и не подходят для стандартизации в этой спецификации . (Конец обоснования.)

Смежные вопросы