Open MP API 6.0 - Дневник AmicA__LuciS
Упрощённый процесс программирования задач (task), которые определяют независимые части программы, выполняемые параллельно с другими;
возможность выполнения задач в потоках free-agent, не привязанных к группам потоков (teams) и выполняющих блоки кода в нескольких потоках (parallel region);
поддержка сохранения графа задач (taskgraph), который определяет зависимости между задачами и порядок их выполнения;
механизм прозрачных задач (transparent tasks) для упрощения управления зависимостями и автоматического управления выполнением дочерних задач;
поддержка вычислительных устройств, которые могут использоваться для выполнения параллельных задач (CPU, GPU, DSP);
новый синтаксис массивов, позволяющий использовать директиву "workdistribute" для разделения обработки массивов между разными единицами работы;
новые возможности управления выделением памяти, упрощающие управление переменными, для которых она выделяется динамически;
расширенная поддержка атрибутов, определяющих распределение данных между устройствами по умолчанию;
упрощённое написание кода для асинхронной передачи данных дополнительным вычислительным устройствам (GPU);
улучшенное управление памятью и её привязкой к вычислительным устройствам;
директива "groupprivate" для закрепления памяти за группой потоков, выполняемых на определённом вычислительном устройстве;
упрощённое программирование некоторых видов трансформации циклов, таких как объединение нескольких циклов, изменение порядка вложенных циклов и реверсия;
новая операция индукции (induction) для организации распараллеливания в циклах простых арифметических вычислений и пользовательских операций, зависящих от предыдущих значений;
полная поддержка распараллеливания программ, написанных с использованием стандартов C23 (включая синтаксис атрибутов), Fortran 2023 и C++23, новые атрибуты для C/C++;
возможности управления хранилищем и памятью, новые атрибуты для контроля над тем, как должна выделяться и использоваться память, API для определения и запроса пространств памяти (memory space).
Изм. AmicA__LuciS (16 Ноября 2024 в 16:11)
14
возможность выполнения задач в потоках free-agent, не привязанных к группам потоков (teams) и выполняющих блоки кода в нескольких потоках (parallel region);
поддержка сохранения графа задач (taskgraph), который определяет зависимости между задачами и порядок их выполнения;
механизм прозрачных задач (transparent tasks) для упрощения управления зависимостями и автоматического управления выполнением дочерних задач;
поддержка вычислительных устройств, которые могут использоваться для выполнения параллельных задач (CPU, GPU, DSP);
новый синтаксис массивов, позволяющий использовать директиву "workdistribute" для разделения обработки массивов между разными единицами работы;
новые возможности управления выделением памяти, упрощающие управление переменными, для которых она выделяется динамически;
расширенная поддержка атрибутов, определяющих распределение данных между устройствами по умолчанию;
упрощённое написание кода для асинхронной передачи данных дополнительным вычислительным устройствам (GPU);
улучшенное управление памятью и её привязкой к вычислительным устройствам;
директива "groupprivate" для закрепления памяти за группой потоков, выполняемых на определённом вычислительном устройстве;
упрощённое программирование некоторых видов трансформации циклов, таких как объединение нескольких циклов, изменение порядка вложенных циклов и реверсия;
новая операция индукции (induction) для организации распараллеливания в циклах простых арифметических вычислений и пользовательских операций, зависящих от предыдущих значений;
полная поддержка распараллеливания программ, написанных с использованием стандартов C23 (включая синтаксис атрибутов), Fortran 2023 и C++23, новые атрибуты для C/C++;
возможности управления хранилищем и памятью, новые атрибуты для контроля над тем, как должна выделяться и использоваться память, API для определения и запроса пространств памяти (memory space).
Изм. AmicA__LuciS (16 Ноября 2024 в 16:11)
14
Автор: AmicA__LuciS
16 Ноября 2024 в 16:10