Skip to content
 
 

Repository files navigation

CUDA Course

GitHub репозиторий для изучения работы с CUDA и GPU. Материалы репозитория были переведены на русский и опираются на youtube курс от freeCodeCamp.org

Note: This course is designed for Ubuntu Linux. Windows users can use Windows Subsystem for Linux or Docker containers to simulate the ubuntu Linux environment.

Table of Contents

  1. The Deep Learning Ecosystem
  2. Setup/Installation
  3. C/C++ Review
  4. Gentle Intro to GPUs
  5. Writing Your First Kernels
  6. CUDA APIs (cuBLAS, cuDNN, etc)
  7. Optimizing Matrix Multiplication
  8. Triton
  9. PyTorch Extensions (CUDA)
  10. Final Project
  11. Extras

Course Philosophy

Цели этого курса:

  • Снизит барьер для поступления на работу в сфере высокопроизводительных вычислений
  • Обеспечит основу для понимания таких проектов, как Karpathy's llm.c
  • Объединит разрозненные ресурсы по программированию на CUDA в комплексный, организованный курс

Overview

  • Сосредоточен на оптимизации ядра графического процессора для повышения производительности
  • Охватывает CUDA, PyTorch и Triton
  • Уделяет особое внимание техническим деталям написания более быстрых ядер
  • Адаптирован для графических процессоров NVIDIA
  • Завершается простым проектом MLP MNIST в CUDA

Prerequisites

  • Программирование на Python (обязательно)
  • Основы дифференцирования и векторного анализа для backprop (рекомендуется)
  • Основы линейной алгебры (рекомендуется)

Key Takeaways

  • Оптимизация существующих реализаций
  • Создание ядер CUDA для передовых исследований
  • Понимание узких мест в производительности графического процессора, особенно пропускной способности памяти

Hardware Requirements

  • Любой графический процессор NVIDIA GTX, RTX или уровня центра обработки данных
  • Возможности облачного графического процессора доступны для тех, у кого нет локального оборудования

Use Cases for CUDA/GPU Programming

  • Deep Learning (primary focus of this course)
  • Graphics and Ray-tracing
  • Fluid Simulation
  • Video Editing
  • Crypto Mining
  • 3D modeling
  • Anything that requires parallel processing with large arrays

Resources

  • Репозиторий на GitHub (этот репозиторий)
  • Stack Overflow
  • Форумы разработчиков NVIDIA
  • Документация NVIDIA и PyTorch
  • LLMS для навигации по пространству
  • Cheatsheet здесь

Fun YouTube Videos:

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages