📌 UMA

Unified Memory Architecture UMA — архитектура, в которой CPU и GPU используют общее адресное пространство и физическую RAM, вместо разделённых пулов памяти.

🧠 Как работает

В UMA система построена таким образом, что:

  • CPU и GPU используют один контроллер памяти
  • Все данные хранятся в общей RAM
  • Нет необходимости копировать данные между CPU и GPU
  • Управление осуществляется через единое адресное пространство
  • Совместима с APU, SoC, Shared GPU Memory

Это упрощает передачу текстур, буферов и структур между устройствами.

Варианты реализации:

⚙️ Где применяется

УстройстваОписание
APU AMDCPU и GPU на одном кристалле
SoC для мобильныхARM + GPU (например, Qualcomm Adreno)
Embedded / IoTУпрощённые системы с одним пулом памяти
Apple SiliconПолная унификация CPU, GPU, NPU, RAM

💻 Пример (CUDA Unified Memory)

int *a;
cudaMallocManaged(&a, sizeof(int) * N); // доступно CPU и GPU

📐 Сравнение UMA и Discrete Memory

АрхитектураПамять CPUПамять GPUКопирование
Discrete (dGPU)ОтдельнаяСвоя VRAMТребуется
UMAОбщая RAMТа же памятьНе нужно

🧩 Связанные технологии

✅ Преимущества

  • Простота доступа к памяти с обеих сторон

  • Меньшие задержки передачи данных

  • Более компактный и энергоэффективный дизайн

❌ Недостатки

  • Конкуренция за память между CPU и GPU

  • Ограниченная пропускная способность по сравнению с VRAM

  • Неэффективно для высокопроизводительных GPU с GDDR