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-сервер