Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лекция по ПП 3.pdf
Скачиваний:
12
Добавлен:
02.06.2015
Размер:
4.72 Mб
Скачать

Пример условной компиляции

Пример использования макроса _OPENMP: voidInfo(void)

{

#ifdef _OPENMP

//Код будет скомпилирован, если поддержка OpenMP включена компилятором

printf("OpenMPRelease:%d\n\n", _OPENMP);

#else

//Код будет скомпилирован, если компилятор не поддерживает OpenMP

printf("OpenMPno support\n\n");

#endif

};

220

Вопросы

???

221

Пример условной компиляции

Результатомработы функции Info() служит информационная строка в стандартном потоке ввода/вывода. Если в свойствах проекта будет включена поддержка OpenMP, то будет скомпилирован только код между директивами #ifdef и #else,а остальной код отброшен. В противном случае код между

#else и #endif скомпилирован, а остальной отброшен.

222

MPI – технология параллельных

компьютеров с распределенной

памятьюрограммирования

223

ОбзортехнологииMPI

Принципы организациипараллелизма

Первоевремянебылоединогостандарта (API)дляпараллельныхвычисленийи программистамприходилосьписатьдля каждого кластераархитектурноспецифическийкод.Но,какизвестно, программистылюдирациональныеи быстробылорешеноорганизовать стандарты

224

ОбзортехнологииMPI

Принципы организациипараллелизма

Параллельная программадолжна эффективноиспользовать вычислительныемощностии коммуникационнуюсреду.ВMPIвся работапораспределениюнагрузкина узлыисетьложатся напрограммистаи длямаксимальнойпроизводительности необходимознатьособенности конкретного кластера.

225

ОбзортехнологииMPI

Принципы организациипараллелизма

MPIоченьэлегантнорешаетвопрос топологии сети:имеютсяпонятия коммуникаторов — группыпроцессов, которые можнопронумеровать в соответствии стопологией сети(для этого используетсяфункция

MPI_Cart_create,которая позволяет задать любуютопологию отрешётки догиперкуба).

226

ОбзортехнологииMPI

ПринципыMPIорганизации- наиболеепараллелизмараспространенная

технология программирования параллельных компьютеров с распределенной памятью в настоящее время.

227

ОбзортехнологииMPI

ОсновнымПринципы организацииспособомпараллелизмавзаимодействия

параллельных процессов в таких системах является передача сообщений друг другу. Это и отражено в названии данной технологии Message Passing Interface.

228

ОбзортехнологииMPI

Принципы организациипараллелизма

MPI(MessagePassingInterface)–

программныйинтерфейс(API)для передачиинформациимежду взаимодействующимипроцессами.

СтандартизациейзанимаетсяMPI Forum

Стандарты: MPI 1.1, MPI 2.0, MPI 2.1

MPICH – самаяраспространенная бесплатная реализация,библиотека mpi.h

229

ОбзортехнологииMPI

Принципы организациипараллелизма

MPI(MessagePassingInterface)–

программныйинтерфейс(API)для передачиинформациимежду взаимодействующимипроцессами.

СтандартизациейзанимаетсяMPI Forum

Стандарты: MPI 1.1, MPI 2.0, MPI 2.1

MPICH – самаяраспространенная бесплатная реализация,библиотека mpi.h

230

ОбзортехнологииMPI

Принципы организациипараллелизма

MPI(MessagePassingInterface)–

программныйинтерфейс(API)для передачиинформациимежду взаимодействующимипроцессами.

СтандартизациейзанимаетсяMPI Forum

Стандарты: MPI 1.1, MPI 2.0, MPI 2.1

MPICH – самаяраспространенная бесплатная реализация,библиотека mpi.h

231

ОбзортехнологииMPI

Принципы организациипараллелизма

RAM

CPU

RAM

RAM

CPU CPU

RAM RAM

CPU CPU

Модель взаимодействия процессов 232

ОбзортехнологииMPI

Принципы организациипараллелизма

Укаждого процессасобственнаяпамять

Виртуальная топология – полныйграф (поумолчанию)

Процессывзаимодействуют посредствомотправкииприема сообщений

ЭффективнаяреализациянаMPP

(Massive-Parallel Processing)

233

ОбзортехнологииMPI

Принципы организациипараллелизма

Актуальность MPIобусловленатем,что интерфейспозволяетскрытьот пользователя отображение логической структуры программынааппаратные ресурсыивосприниматьсложную, возможно неоднороднуюсреду,как единыйвычислительныйресурс.

234

ОбзортехнологииMPI

Принципы организациипараллелизма

MPI-программа это множество параллельных взаимодействующих процессов.

Все процессы порождаются один раз, образуя параллельную часть программы. В ходе выполнения MPI- программы порождение дополнительных процессов или уничтожение существующих не допускается. 235

ОбзортехнологииMPI

Принципы организациипараллелизма

Каждый процесс работает в своем адресномпространстве, никакихобщих переменных или данных в MPI нет. Основным способом взаимодействия между процессами является явная посылкасообщений.

236

ОбзортехнологииMPI

Принципы организациипараллелизма

СхемаMPI системы.

237

ОбзортехнологииMPI

Принципы организациипараллелизма

Достоинства:

Возможность разработки эффективных программ для кластеров и суперкомпьютеров.

238

ОбзортехнологииMPI

Принципы организацииНедостаткипараллелизма:

Низкий уровень, необходимость детального управления распределением массивови витков циклов между процессамии, как следствие, высокая трудоемкость написания программ;

239

ОбзортехнологииMPI

ПринципыНедостаткиорганизациипараллелизма:

отсутствие поддержки объектно- ориентированного подхода; необходимость избыточной спецификации типов данных в передаваемых сообщениях, а так же наличие жестких ограничений на типы передаваемых данных.

240