GPU Hardware

cuDNN

Библиотека NVIDIA с высокопроизводительными примитивами для нейросетей поверх CUDA.

Что такое cuDNN

cuDNN (CUDA Deep Neural Network library) — библиотека NVIDIA, реализующая примитивы для нейросетей с максимальной производительностью: свёртки, нормализация, операции пулинга, активации, attention. Является нижним уровнем PyTorch, TensorFlow и большинства ML-фреймворков — разработчику не нужно вызывать её напрямую.

cuDNN автоматически выбирает оптимальный алгоритм для каждой операции в зависимости от размера тензоров и архитектуры GPU. Это позволяет получить 2–5× ускорение по сравнению с наивной реализацией на CUDA.

Как cuDNN взаимодействует с PyTorch

import torch

# cuDNN автоматически используется для всех convolution и attention операций
# Включить benchmark-режим (cuDNN выберет лучший алгоритм для конкретных размеров)
torch.backends.cudnn.benchmark = True  # выгодно, если размеры входа постоянны

# Для воспроизводимости результатов
torch.backends.cudnn.deterministic = True
torch.backends.cudnn.benchmark = False

# Проверить версию cuDNN
print(torch.backends.cudnn.version())  # → 90100 (cuDNN 9.1.0)

Flash Attention и cuDNN

С выходом cuDNN 8.9+ в него интегрированы оптимизированные реализации Flash Attention, доступные через PyTorch 2.x F.scaled_dot_product_attention. На A100/H100 это даёт значительное ускорение attention без установки отдельного пакета.

Связанные термины

  • CUDA — платформа, на которой работает cuDNN
  • CUDA Toolkit — пакет, включающий cuDNN
  • PyTorch — фреймворк, использующий cuDNN
  • Tensor Core — аппаратные блоки, используемые cuDNN

Готовы запустить GPU-задачу?

Запустить GPU-сервер