CUDA: основы программирования на GPU

Программирование GPU на CUDA: модель памяти, ядра, потоки и блоки, оптимизация вычислений. Разборы с полным кодом и замерами производительности — от первого запуска до практических приёмов ускорения.

CUDA

Оптимизация CUDA-ядер: coalesced memory access и occupancy

Введение Написать корректное CUDA-ядро — относительно простая задача; написать эффективное ядро, использующее реальную пропускную способность GPU, требует понимания двух ключевых концепций: coalesced memory access (объединённый доступ к памяти)…

CUDA

Память в CUDA: global, shared, constant и registers — где что использовать

Введение Производительность CUDA-кода в значительной степени определяется тем, как эффективно используется память — у GPU есть несколько физически разных видов памяти с очень разной латентностью, объёмом и областью…

CUDA

Введение в CUDA: модель потоков, блоков и сеток (grid/block/thread) на простом примере

Введение CUDA — платформа параллельных вычислений от NVIDIA, позволяющая выполнять код на тысячах ядер GPU одновременно. В отличие от CPU с несколькими быстрыми ядрами, GPU состоит из множества…

CUDA

Интеграция CUDA в Qt-приложение: архитектура и пример матричного умножения

Зачем подключать CUDA к Qt Типичные сценарии: Qt отвечает за: CUDA — за: Ключевой принцип архитектуры: UI не знает о CUDA напрямую.GPU-код изолирован в backend-библиотеке. Архитектура проекта Разделение…

Cmake

Настройка CMake для проектов с CUDA

Введение CUDA позволяет переносить тяжёлые вычисления на видеокарту NVIDIA: обработку изображений, физические расчёты, машинное обучение. Но собрать проект, где обычный C++ код соседствует с файлами .cu, бывает непросто.…

обновлено
CUDA

Введение в CUDA: параллельные вычисления от NVIDIA

Что такое CUDA? CUDA (Compute Unified Device Architecture) — это платформа и программная модель от NVIDIA для высокопроизводительных параллельных вычислений на GPU (видеокартах).С помощью CUDA вы можете задействовать…