Мы используем куки, чтобы пользоваться сайтом было удобно.
Хорошо
to the top
>
>
Параллельные заметки №2 – инструментари…

Параллельные заметки №2 – инструментарий для OpenMP

24 Фев 2010

Прежде чем приступить к изучению методики распараллеливания программ с помощью технологии OpenMP рассмотрим инструментарий, который нам потребуется. А потребуется нам в первую очередь Visual Studio 2005/2008 и Intel® Parallel Studio.

0058_Parallel_notes_N2_-_toolkit_for_OpenMP_ru/image1.png

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

Вышесказанное означает, что мы можем взять обыкновенный последовательный код на языке Си/Си++ и начать его постепенно распараллеливать. Для этого нам достаточно включить в проекте поддержку OpenMP. В среде Visual Studio 2005/2008 зайдите в свойства проекта и выберете вкладку C/C++ / Language, как показано на рисунке 1.

0058_Parallel_notes_N2_-_toolkit_for_OpenMP_ru/image2.png

Рисунок 1 - Вкладка Visual Studio с настройками проекта, где можно включить поддержку OpenMP

Не забудьте также выбрать платформы и конфигурации, в которых вы планируете использовать OpenMP. Как показано на рисунке 2, мы выбрали все конфигурации (debug, release) и все платформы (Win32, x64).

0058_Parallel_notes_N2_-_toolkit_for_OpenMP_ru/image3.png

Рисунок 2 - Выбор конфигураций и платформ, для которых мы устанавливаем параметры

Поддержка OpenMP включается опцией "OpenMP Support" как показано на рисунке 3.

0058_Parallel_notes_N2_-_toolkit_for_OpenMP_ru/image4.png

Рисунок 3 - Поддержка OpenMP включена

Следующим шагом является подключение заголовочного файла "omp.h". Часто рационально поместить "#include <omp.h>" в stdafx.h, чтобы он был виден во всем проекте.

Вот и все подготовительные шаги, которые необходимы, чтобы начать осваивать технологию OpenMP и распараллеливать программный код. Знакомство с OpenMP мы начнем со следующей заметки. Сейчас мы продолжим знакомство с инструментами. Дело в том, что хотя возможностей Visual Studio 2005/2008 достаточно чтобы разрабатывать параллельные OpenMP программы, это слишком спартанские условия. Для полноценной работы разумно воспользоваться Intel® Parallel Studio. Я не сотрудник Intel и за рекламу инструментов мне никто не платит. Parallel Studio действительно удобный и крайне полезный инструмент для разработки параллельных приложений. Рекомендую на основании собственного опыта.

Дистрибутив Intel® Parallel Studio занимает порядка 460 Мбайт и доступен для скачивания с сайта Intel. При этом полная функциональность Parallel Studio будет доступна в течении одного пробного месяца, что вполне достаточно, чтобы познакомиться с принципами работы и поэкспериментировать с параллельным кодом. Parallel Studio интегрируется внутрь Visual Studio 2005/2008, добавляя дополнительные пункты меню и в панель инструментов (смотри рисунок 4).

0058_Parallel_notes_N2_-_toolkit_for_OpenMP_ru/image5.png

В следующих параллельных заметках мы будем использовать инструмент Intel®Parallel Inspector из комплекта Intel® Parallel Studio для проверки создаваемого параллельного кода на наличие параллельных ошибок. А также Intel® Parallel Amplifier для оптимизации. Компилятор Intel® Parallel Composer нам не обязателен, но мы будем компилировать OpenMP приложения им. В качестве преимущества можно назвать поддержку Intel® Parallel Composer версии стандарта OpenMP 3.0, в то время как компилятор из Visual Studio 2005/2008 поддерживает только OpenMP 2.0. Также Intel C++ дает некоторые дополнительные возможности по статическому анализу параллельного кода, о чем можно прочитать в статье.

Для компиляции приложения с использованием Parallel Composer следует сделать активным компилятором Intel C++. Это можно осуществить используя кнопку "Use Intel C++" на панели инструментов, как показано на рисунке 5.

0058_Parallel_notes_N2_-_toolkit_for_OpenMP_ru/image6.png

Теперь для сборки приложения будет использоваться компилятор Intel C++. Да, если после компиляции и запуска приложения вы увидите сообщение, подобное тому что показано на рисунке 6, то не расстраивайтесь.

0058_Parallel_notes_N2_-_toolkit_for_OpenMP_ru/image7.png

Попробуйте просто перезапустить Visual Studio, чтобы в силу вступили изменения которые прописывает Parallel Studio в среду окружения. Если и это не поможет, воспользуйтесь ручной установкой окружения, запустив соответствующие командные фалы. Они доступны из меню пуск, как показано на рисунке 7.

0058_Parallel_notes_N2_-_toolkit_for_OpenMP_ru/image8.png

Закончим пока на этом первое знакомство с инструментами. Скачивайте и устанавливайте Intel® Parallel Studio. Попробуйте собрать какую-нибудь свою простую программу с использованием Intel C++.

Популярные статьи по теме


Комментарии (0)

Следующие комментарии next comments
close comment form
close form

Заполните форму в два простых шага ниже:

Ваши контактные данные:

Шаг 1
Поздравляем! У вас есть промокод!

Тип желаемой лицензии:

Шаг 2
Team license
Enterprise license
** Нажимая на кнопку, вы даете согласие на обработку
своих персональных данных. См. Политику конфиденциальности
close form
Запросите информацию о ценах
Новая лицензия
Продление лицензии
--Выберите валюту--
USD
EUR
RUB
* Нажимая на кнопку, вы даете согласие на обработку
своих персональных данных. См. Политику конфиденциальности

close form
Бесплатная лицензия PVS‑Studio для специалистов Microsoft MVP
* Нажимая на кнопку, вы даете согласие на обработку
своих персональных данных. См. Политику конфиденциальности

close form
Для получения лицензии для вашего открытого
проекта заполните, пожалуйста, эту форму
* Нажимая на кнопку, вы даете согласие на обработку
своих персональных данных. См. Политику конфиденциальности

close form
Мне интересно попробовать плагин на:
* Нажимая на кнопку, вы даете согласие на обработку
своих персональных данных. См. Политику конфиденциальности

close form
check circle
Ваше сообщение отправлено.

Мы ответим вам на


Если вы так и не получили ответ, пожалуйста, проверьте, отфильтровано ли письмо в одну из следующих стандартных папок:

  • Промоакции
  • Оповещения
  • Спам