17. Вычисления на GPU с помощью OpenCL — 1 | Параллельное программирование 2025
Лекция посвящена основам параллельных вычислений на гетерогенных платформах с помощью OpenCL. Объясняется, как эффективно использовать возможности CPU, GPU и других ускорителей для достижения высокой производительности и энергоэффективности. Рассматриваются ключевые компоненты OpenCL: платформы, устройства, контексты, очереди команд, ядра и память. Показан пошаговый процесс создания CMake-проекта с OpenCL, выбор устройств, передача данных между хостом и устройством, компиляция и запуск ядер. На практических примерах демонстрируются сложение векторов и умножение матриц на GPU, сравнивается производительность с CPU, а также даются рекомендации по оптимизации вычислений и уменьшению обращений к глобальной памяти. Практические задания и примеры кода доступны на моем гитхабе: https://github.com/alexey-malov/pc
Чтобы оставаться на связи в условиях блокировки Youtube в России подписывайтесь на мой Telegram-канал https://t.me/vivid_coding
Тайм-коды: 0:00 Гетерогенные вычислительные платформы 5:47 Знакомство с OpenCL 9:50 Сборка и подключение OpenCL к проекту 12:25 Получение информации об имеющихся устройствах 19:10 Разбиение задачи на WorkGrops и WorkItems 23:05 Модель памяти OpenCL 24:26 Суммирование массивов на GPU 40:15 Перемножение матриц на GPU В заставке использована композиция "Папа может в Си" музыкального коллектива "Научно-технический рэп" (https://vk.com/nii_rap)