Программирование GPU на CUDA: модель памяти, ядра, потоки и блоки, оптимизация вычислений. Разборы с полным кодом и замерами производительности — от первого запуска до практических приёмов ускорения.
Оптимизация CUDA-ядер: coalesced memory access и occupancy
Введение Написать корректное CUDA-ядро — относительно простая задача; написать эффективное ядро, использующее реальную пропускную способность GPU, требует понимания двух ключевых концепций: coalesced memory access (объединённый доступ к памяти)…
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
Введение CUDA позволяет переносить тяжёлые вычисления на видеокарту NVIDIA: обработку изображений, физические расчёты, машинное обучение. Но собрать проект, где обычный C++ код соседствует с файлами .cu, бывает непросто.…
Введение в CUDA: параллельные вычисления от NVIDIA
Что такое CUDA? CUDA (Compute Unified Device Architecture) — это платформа и программная модель от NVIDIA для высокопроизводительных параллельных вычислений на GPU (видеокартах).С помощью CUDA вы можете задействовать…