Программирование GPU на CUDA: модель памяти, ядра, потоки и блоки, оптимизация вычислений. Разборы с полным кодом и замерами производительности — от первого запуска до практических приёмов ускорения.
CUDA Streams: параллельное выполнение ядер и асинхронные операции
Введение По умолчанию операции CUDA (запуск ядра, копирование памяти) выполняются в «default stream» — это означает, что операции в этом потоке исполнения GPU сериализуются друг за другом, даже…
Память в CUDA: global, shared, constant и registers — где что использовать
Введение Производительность CUDA-кода в значительной степени определяется тем, как эффективно используется память — у GPU есть несколько физически разных видов памяти с очень разной латентностью, объёмом и областью…
Введение в CUDA: модель потоков, блоков и сеток (grid/block/thread) на простом примере
Введение CUDA — платформа параллельных вычислений от NVIDIA, позволяющая выполнять код на тысячах ядер GPU одновременно. В отличие от CPU с несколькими быстрыми ядрами, GPU состоит из множества…
Интеграция CUDA в Qt-приложение: архитектура и пример матричного умножения
Зачем подключать CUDA к Qt Типичные сценарии: Qt отвечает за: CUDA — за: Ключевой принцип архитектуры: UI не знает о CUDA напрямую.GPU-код изолирован в backend-библиотеке. Архитектура проекта Разделение…
Настройка CMake для проектов с CUDA
Как CMake работает с CUDA С версии 3.18 CMake имеет нативную поддержку CUDA: Минимальный CUDA-проект Compute Capability Или: Статическая CUDA-библиотека CUDA + Qt Qt UI + GPU backend:…
Введение в CUDA: параллельные вычисления от NVIDIA
Что такое CUDA? CUDA (Compute Unified Device Architecture) — это платформа и программная модель от NVIDIA для высокопроизводительных параллельных вычислений на GPU (видеокартах).С помощью CUDA вы можете задействовать…