Валентин Арьков - Организация параллельных потоков. Часть 2

Здесь есть возможность читать онлайн «Валентин Арьков - Организация параллельных потоков. Часть 2» — ознакомительный отрывок электронной книги совершенно бесплатно, а после прочтения отрывка купить полную версию. В некоторых случаях можно слушать аудио, скачать через торрент в формате fb2 и присутствует краткое содержание. Год выпуска: 2020, Жанр: Прочая околокомпьтерная литература, на русском языке. Описание произведения, (предисловие) а так же отзывы посетителей доступны на портале библиотеки ЛибКат.

Организация параллельных потоков. Часть 2: краткое содержание, описание и аннотация

Предлагаем к чтению аннотацию, описание, краткое содержание или предисловие (зависит от того, что написал сам автор книги «Организация параллельных потоков. Часть 2»). Если вы не нашли необходимую информацию о книге — напишите в комментариях, мы постараемся отыскать её.

При решении инженерных, экономических и научных задач используются высокопроизводительные вычисления — High Performance Computing или сокращённо HPC.
Параллельные программы нужны для того, чтобы использовать вычислительные мощности многоядерных процессоров и графических ускорителей. В данной работе мы рассмотрим технологию автоматической организации параллельных потоков для многоядерных вычислительных машин.

Организация параллельных потоков. Часть 2 — читать онлайн ознакомительный отрывок

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

Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

OpenMP Number of Threads — Число потоков параллельной области OpenMP.

С списке переменных такого параметра пока нет (рис. 3.19).

Зато есть другой интересный параметр:

NUMBER_OF_PROCESSORS=8.

Как мы уже говорили, речь здесь идёт о так называемых «виртуальных процессорах», а вовсе не о микросхемах под названием «процессор».

Рис. 3.19. Параметры окружения

Задание.Просмотрите список параметров окружения и обратите внимание на количество процессоров.

Если наш параметр не задан, по умолчанию создаётся количество параллельных потоков, равное числу виртуальных процессоров.

Зададим создание трёх потоков:

set OMP_NUM_THREADS=3

Проверим, что появилось в нашем списке.

Вводим команду

SET

У нас появился наш параметр (рис. 3.20).

Рис. 3.20. Параметры окружения

Задание.Установите число потоков в командном окне.

Есть одна особенность работы с параметрами окружения в командной строке. Любые изменения параметров в командной строке действуют только в одном окне и только до тех пор, пока его не закроют. Постоянное и всеобщее задание параметров окружения делается по-другому. Мы этим заниматься не будем.

Задание. Откройте новое командное окно. Изучите список параметров окружения.

Нам нужно перейти в каталог, где находится скомпилированная программа — исполняемый файл.

Для этого придётся выяснить путь к файлу.

Возвращаемся в среду разработки.

Внизу экрана находим окно Output(рис. 3.21).

Здесь выводятся сообщения о результатах компиляции.

В нашем примере нам сообщают, что исполняемый файл успешно создан:

Build: 1 succeeded.

Нас интересует полный путь к файлу.:

E:\Arkov-OMP\omp-03-fork-join\Release\omp-03-fork-join. exe.

Путь можно скопировать в буфер, чтобы не печатать вручную.

Рис. 3.21. Окно сообщений компилятора

Задание.Ознакомьтесь с окномсообщений о результатах компиляции программы.

Переходим в командное окно.

Мы находимся на диске C:, а исполняемый файл — на диске E:.

Для перехода на другой диск вводим его имя и двоеточие.

Обращаем внимание, как изменилось приглашение к вводу команд.

Теперь здесь имя другого диска (рис. 3.22).

Рис. 3.22. Смена текущего диска

Задание.Смените текущий диск.

Сменим текущий каталог.

Вводим команду Change Directory:

CD

и путь к файлу.

Проверяем содержимое каталога Directory:

DIR

Убеждаемся, что исполняемый файл находится в текущем каталоге.

Запускаем программу на выполнение.

Вводим имя файла и нажимаем ОК.

Расширение EXEвводить не обязательно.

Видим, что параллельная область выполнялась на трёх потоках (рис. 3.23).

Рис. 3.23. Запуск программы

Задание.Запустите программу в командной строке и убедитесь, что вам удалось задать число потоков.

3.5.2. Библиотечная функция

Второй способ задать число параллельных потоков — это библиотечная функция. Конечно, речь здесь идёт о библиотеке OpenMP.

Формат вызова:

void omp_set_num_threads (int num).

Тип возвращаемого значения: void. Эта функция ничего не возвращает. Она просто делает своё дело.

Название функции можно расшифровать так:

Set Number of Threads — задать число параллельных потоков.

Чтобы использовать библиотечную функцию, нужно подключить эту библиотеку (рис. 3.24).

В начале программы указываем заголовочный файл:

#include .

Рис. 3.24. Задание числа потоков

Задаём два параллельных потока.

Запускаем программу из среды разработки.

Видим, что в параллельной области сработало два потока (рис. 3.25).

Рис. 3.25. Два потока

Задание.Установите число потоков с помощью и библиотечной функции и убедитесь, что эта настройка сработала.

3.5.3. Параметр директивы

Третий способ задать число параллельных потоков — указать в параметрах директивы parallel:

num_threads (num).

Составляем новую программу на основе предыдущей.

Указываем число потоков — четыре (рис. 3.26):

num_threads (4).

Рис. 3.26. Число потоков в директиве

Запускаем программу.

Убеждаемся, что число параллельных потоков соответствует тому, что мы задали (рис. 3.27).

Рис. 3.27. Четыре потока

Задание.Установите число параллельных потоков через параметр директивы.

3.5.4. Приоритет настроек

Мы рассмотрели три способа задать число параллельных потоков.

Для одной программы можно использовать два или три способа одновременно.

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Похожие книги на «Организация параллельных потоков. Часть 2»

Представляем Вашему вниманию похожие книги на «Организация параллельных потоков. Часть 2» списком для выбора. Мы отобрали схожую по названию и смыслу литературу в надежде предоставить читателям больше вариантов отыскать новые, интересные, ещё непрочитанные произведения.


Отзывы о книге «Организация параллельных потоков. Часть 2»

Обсуждение, отзывы о книге «Организация параллельных потоков. Часть 2» и просто собственные мнения читателей. Оставьте ваши комментарии, напишите, что Вы думаете о произведении, его смысле или главных героях. Укажите что конкретно понравилось, а что нет, и почему Вы так считаете.

x