GPU Hardware

SM (Streaming Multiprocessor)

Основной вычислительный блок GPU NVIDIA, содержащий CUDA-ядра и Tensor Cores.

Что такое SM

SM (Streaming Multiprocessor) — базовая вычислительная единица GPU NVIDIA. Каждый SM содержит набор CUDA-ядер, Tensor Cores, разделяемую память (shared memory), кеш L1 и планировщик варпов. Производительность GPU в значительной мере определяется числом SM.

SM в разных GPU

GPU Число SM CUDA Cores Tensor Cores (4-го пок.)
RTX 4090 128 16384 512
A100 108 6912 432
H100 SXM 132 16896 528

Варп и SM

GPU выполняет код группами из 32 потоков — варпами (warp). SM одновременно выполняет несколько варпов, переключаясь между ними без накладных расходов (latency hiding). Это позволяет скрыть задержки доступа к памяти: пока один варп ждёт данные, другой выполняет вычисления.

Эффективная загрузка SM (occupancy) — процент максимально возможных активных варпов — важная метрика оптимизации CUDA-ядер.

MIG и SM

При MIG физические SM A100 делятся между экземплярами: экземпляр 1g.10gb получает ~14 SM, 7g.80gb — все 108 SM с полным контролем.

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

  • CUDA — программная модель поверх SM
  • Tensor Core — специализированные блоки внутри SM
  • MIG — делит SM между изолированными экземплярами
  • GPU — состоит из множества SM

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

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