Курс на Stepik
Обложка курса «Технология CUDA и параллельные алгоритмы» на Stepik
999 ₽

Технология CUDA и параллельные алгоритмы ★ 0.000

Открыть на
STEPIK.ORG

Практический курс по CUDA для разработчиков, которые уже уверенно пишут на системном языке и хотят перенести вычисления на GPU. Восемнадцать глав ведут от модели исполнения и иерархии памяти до профилирования, многокарточных конфигураций и проектирования параллельных алгоритмов. Через весь курс проходит один проект — GPU-движок векторного поиска, который собирается по частям от первого ядра до готового сервиса.

Показатель Текущие показатели Рост
Значение 🏆 Рейтинг 3 дн 7 дн 30 дн
Количество учеников на курсе «Технология CUDA и параллельные алгоритмы»Учеников на курсе 0
Сертификаты, выданные на курсе «Технология CUDA и параллельные алгоритмы»Сертификатов выдано 0
Отзывы о курсе «Технология CUDA и параллельные алгоритмы»Отзывов получено 0
Рейтинг курса «Технология CUDA и параллельные алгоритмы»Рейтинг курса 0.000
Уроки в курсе «Технология CUDA и параллельные алгоритмы»Количество уроков 156
Тесты в курсе «Технология CUDA и параллельные алгоритмы»Количество квизов 78
Стоимость курса «Технология CUDA и параллельные алгоритмы»Стоимость курса 999 ₽ —
Обновления курса «Технология CUDA и параллельные алгоритмы»Обновления курса — —
Дата публикации курса «Технология CUDA и параллельные алгоритмы»Дата публикации курса — ———
Последнее обновление курса «Технология CUDA и параллельные алгоритмы»Последнее обновление — ———
Сложность hard — ———

Чему вы научитесь

  • Читать и писать ядра, понимая их поведение на уровне warp и SM
  • Проектировать раскладку данных под коалесированный доступ и shared memory без банковых конфликтов
  • Применять warp-примитивы, кооперативные группы и атомарные операции осознанно
  • Реализовывать редукцию, скан, гистограмму, компактификацию, сортировку, отбор top-k и тайлинг
  • Строить асинхронные конвейеры на потоках, событиях и CUDA Graphs
  • Использовать CUB, Thrust, libcu++ и математические библиотеки NVIDIA там, где это оправдано
  • Профилировать через Nsight Systems и Nsight Compute и принимать решения по метрикам
  • Работать с пулами памяти, асинхронным копированием, unified memory, VMM и IPC
  • Масштабировать вычисления на несколько GPU и собирать результат
  • Проверять корректность через compute-sanitizer, юнит-тесты ядер и golden-модели
  • Оценивать, какие алгоритмы стоит переносить на GPU, и перепроектировать те, что переносятся плохо

О курсе

Практический курс по CUDA для разработчиков, которые уже уверенно пишут на системном языке и хотят перенести вычисления на GPU. Восемнадцать глав ведут от модели исполнения и иерархии памяти до профилирования, многокарточных конфигураций и проектирования параллельных алгоритмов. Через весь курс проходит один проект — GPU-движок векторного поиска, который собирается по частям от первого ядра до готового сервиса.

Для кого этот курс

Разработчики уровня middle и выше, которые уверенно пишут на C++, C, Rust, Go, Java или C# и хотят перейти к программированию GPU: C++-разработчики, переносящие вычислительное ядро продукта на карту; backend- и data-инженеры, которым нужно ускорить обработку эмбеддингов, матриц или графов; инженеры ML-инфраструктуры, желающие понимать, что происходит под фреймворками, и писать собственные ядра; разработчики HPC-приложений, переходящие с OpenMP и MPI на гетерогенные вычисления. Курс не подойдёт тем, кто только начинает программировать, а также тем, кому нужен обзор машинного обучения или готовые рецепты без разбора причин. Если задача решается вызовом готовой библиотеки и этого достаточно — курс будет избыточен.

Начальные требования

Уверенное владение хотя бы одним системным языком, понимание указателей, выравнивания, кэша и стоимости обращения к памяти. Опыт сборки проектов через CMake. Знание CUDA, PTX, Nsight, cuBLAS, Thrust и CUB не предполагается.

Для практики нужна видеокарта NVIDIA архитектуры Turing или новее (sm_75: GTX 1650, RTX 20-й серии и выше) и CUDA Toolkit 13.x. Код проекта собирается и для Pascal, но только на CUDA Toolkit 12.x — CUDA 13.0 убрала поддержку этих карт. Теоретическую часть можно проходить без карты; практическую — нет.

Преподаватели курса

Формат курса

Текстовые уроки с разбором исходников. Каждый урок объясняет один инженерный механизм и доводит его до кода, который можно запустить, а заканчивается практическим заданием и вопросами для самопроверки. Главы с третьей по пятнадцатую завершаются тестовыми задачами с одним верным ответом и объяснением после неверного.

Проверка практики — на своей машине: сборка, запуск, профилирование и сравнение с числами из урока. Дедлайнов нет, темп свободный.

Что вы получите

  • Восемнадцать глав с разбором кода, вывода профилировщиков и конкретных чисел
  • Исходники сквозного проекта: библиотека, CLI, микробенчмарки, юнит-тесты, скрипты профилирования и санитайзинга
  • Практическое задание в конце каждого урока с явным критерием выполнения
  • Вопросы для самопроверки на причинно-следственные связи и компромиссы, а не на определения
  • Тестовые задачи в конце глав с третьей по пятнадцатую, с объяснением после неверного ответа
  • Каркас для замеров и тестов, который переносится в собственные проекты

Нагрузка

6–8 часов в неделю

Расскажите о курсе друзьям