Содержание
- 2. Содержание Модель программирования в общей памяти Модель FORK-JOIN Стандарт OpenMP Основные понятия и функции OpenMP
- 3. Программирование в общей памяти … Процесс 0 Процесс 1 Процесс N-1 Данные Параллельное приложение состоит из
- 4. Модель FORK-JOIN Современные операционные системы поддерживают полновесные процессы (программы) и легковесные процессы (нити). Процесс – главная
- 5. Стандарт OpenMP OpenMP – стандарт, реализующий модели программирования в общей памяти и Fork-Join. Стандарт представляет собой
- 6. Структура OpenMP-программы Параллельные регионы Главная нить Главная нить (программа) порождает семейство дочерних нитей (сколько необходимо). Порождение
- 7. Директивы OpenMP Директивы OpenMP – директивы C/C++ компилятора #pragma. Для использования директив необходимо установить соответствующие параметры
- 8. Функции библиотеки OpenMP Назначение функций библиотеки: контроль и просмотр параметров OpenMP-программы omp_get_thread_num() возвращает номер текущей нити
- 9. Переменные окружения OpenMP Переменные окружения контролируют поведение приложения. OMP_NUM_THREADS – количество нитей в параллельном регионе OMP_DYNAMIC
- 10. Директивы определения параллельных фрагментов #pragma omp parallel Определяет блок кода, который будет выполнен всеми созданными на
- 11. Простая программа на OpenMP void main() { printf("Hello!\n"); } void main() { #pragma omp parallel {
- 12. Директива parallel for OpenMP поддерживает редукцию вычислительных операций, выполняемых в циклах. Редукция подразумевает определение для каждой
- 13. Параллельные секции Явное определение блоков кода, которые могут исполняться параллельно. Послед. Паралл. #pragma omp parallel sections
- 14. Область видимости переменных Общая переменная (shared) – доступна для модификации всем нитям. Частная переменная (private) –
- 15. Общие и частные переменные void main() { int a, b, c; … #pragma omp parallel {
- 16. Явное указание области видимости Для явного указания области видимости используются следующие параметры директив: shared() – общие
- 17. void main() { int a, b, c; … #pragma omp parallel shared(a) private(b) { int d,
- 18. void main() { int rank; #pragma omp parallel { rank = omp_get_thread_num(); } printf("%d\n", rank); }
- 19. void main() { int rank; #pragma omp parallel shared (rank) { rank = omp_get_thread_num(); printf("%d\n", rank);
- 20. Директивы синхронизации #pragma omp master Определяет блок кода, который будет выполнен только главной нитью. #pragma omp
- 21. #pragma omp master Определяет блок кода, который будет выполнен только главной нитью. Не подразумевает барьера для
- 23. Скачать презентацию




















Варианты получения информации
Онлайн книга рецептов
Табличный процессор Excel
Цвета. Урок 10
Эффективные IT-решения для бизнеса и госструктур
Подготовка к ОГЭ по информатике и ИКТ. 2019-2020 учебный год
Автоматизированные информационные системы ЛПУ
Терминология HTML
Создание сайта класса
Компьютерное моделирование. Построение математической и имитационной моделей
ATOM RPG — компьютерная игра
Компьютерная инди-игра в жанре песочницы
Интеграция с клиентами
YouTube TikTok
Реализация принципов ООП в .net
Общая компьютерная память
Современные интернет-коммуникации - соцсети
Языки программирования в машинном обучении
Подготовка к экзамену. Оператор ЭВМ
Ресурсы в WPF
Энигма. Устройство
Правила складання алгоритмів
Разговор с компьютером
Email add on
Школа::Кода Основы программирования на языке Python. 20 занятие
1С: Управление холдингом. Техническая архитектура управления лимитами и контроля операций
АИС Мониторинг. Руководство пользователя. Создание отчета
ВКР: Разработка агрегатора сервисных центров по ремонту электроники