Главная Обратная связь

Дисциплины:

Архитектура (936)
Биология (6393)
География (744)
История (25)
Компьютеры (1497)
Кулинария (2184)
Культура (3938)
Литература (5778)
Математика (5918)
Медицина (9278)
Механика (2776)
Образование (13883)
Политика (26404)
Правоведение (321)
Психология (56518)
Религия (1833)
Социология (23400)
Спорт (2350)
Строительство (17942)
Технология (5741)
Транспорт (14634)
Физика (1043)
Философия (440)
Финансы (17336)
Химия (4931)
Экология (6055)
Экономика (9200)
Электроника (7621)






Сменить Конфигурацию на Release



3) Configuration properties => C/C++ => Code Generation

4) Runtime Library поменять значение на Multi-threaded (/MT)

Rebuild

В данной инструкции компьютер, на котором осуществляется компиляция и запуск программы, имеет доменное имя dc.


1 – Создать проект C++

(В русской версии Visual C++=>Общие, «Пустой проект»)

Открыть свойства проекта.


2 – Поменять значение поля Subsystem в Linker=>System на CONSOLE(/SUBSYSTEM:CONSOLE) (для русской версии VS: Компоновщик=>Система=>Подсистема)

3 – Добавить к компоновщику (Linker) путь к дополнительным библиотекам (в русской версии VS необходимо зайти на вкладку Общие)

4 – Добавить к компоновщику (Linker) дополнительные зависимости . Вписать msmpi.lib Ws2_32.lib. В данной программе используется дополнительная зависимость Ws2_32.lib, данная библиотека используется для сетевого взаимодействия, в других проектах может быть и не задействована.

5 – добавить файл C++ к проекту (в данной инструкции мы будем использовать программу Hello World), нажать правой кнопкой мыши на названии проекта, Add=>Add an element (для русской версии Добавить=>Создать элемент), где выбрать C++ File:

#include <iostream>

#include <iomanip>

#include <fstream>

#include <cstdlib>

#include <ctime>

#include <cassert>

#include <math.h>

#include <windows.h>

#include <mpi.h>

 

 

using namespace::std;

 

int myRank;

int numProcs;

char host[256];

 

int main(int argc, char* argv[])

{

MPI_Init(&argc, &argv);

MPI_Comm_size(MPI_COMM_WORLD, &numProcs); // number of processes involved in run

MPI_Comm_rank(MPI_COMM_WORLD, &myRank); // my process id: 0 <= myRank < numProcs

gethostname(host, sizeof(host)/sizeof(host[0])); // machine we are running on

 

cout << "Process " << myRank << " of " << numProcs << " is running on '" << host << "'." << endl;



 

MPI_Finalize();

return 0;

}

 

 

6 – Вызвать свойства проекта, появится новая вкладка C/C++. Добавить к путям компилятора (Compiler) пути для дополнительных файлов (для русской версии: дополнительные каталоги включения):


7 – Для того, чтобы узлы успешно запустили программу, необходимо скомпилировать нашу программу со всеми зависимостями. Для этого необходимо:

8 – Скомпилировать программу. Build project (в русской версии Построить <имя проекта>).

Бинарный файл, необходимый для запуска, расположен в Start=>Documents=>Documents=>Visual Studio 2008=>Projects=><имя проекта>=>Debug=><имя С++-файла>.exe

Необходимо также отметить, что, если необходимы многопроцессорные расчёты, то «собирать» MFC в статическом виде не требуется – все необходимые библиотеки есть на том компьютере, на котором происходит разработка. В случае же запуска на кластере MFC в статическом виде просто необходимо, так как на узлах могут отсутствовать необходимые библиотеки.

Необходимо отметить, что для Visual Studio 2010 указанная последовательность не работает. Для того, чтобы слинковать все библиотеки с вашей программой, необходимо:

Вызвать Properties проекта


Просмотров 362

Эта страница нарушает авторские права

allrefrs.ru - 2020 год. Все права принадлежат их авторам!