Источник
Central processing unit
Общее устройство CPU и роль в вычислениях.
CPU и GPU решают одну задачу — выполнение вычислений, но делают это по-разному. CPU ориентирован на универсальность и низкую задержку, а GPU — на массовый параллелизм и throughput.
Устройство CPU (базово)
- Ядра (cores) — выполняют инструкции и управляют потоками.
- ALU — выполняет арифметические и логические операции.
- Control Unit — управляет выполнением инструкций.
- Регистры — самая быстрая память рядом с ядром.
- Кэш L1/L2/L3 — снижает задержку доступа к данным.
- Контроллер памяти и шины — связь с RAM и устройствами.
Источник
Graphics processing unit
Архитектура GPU и особенности параллельных вычислений.
Устройство GPU (базово)
- SM/CU (multiprocessors) — блоки параллельного исполнения.
- Много простых ядер — выполняют одинаковые операции в массе.
- Scheduler/dispatch — распределяет потоки по ядрам.
- VRAM — локальная память высокой пропускной способности.
- Кэш и контроллер памяти — ускоряют доступ к данным.
- Command processor — принимает и ставит задачи от CPU.
Сравнение CPU и GPU
CPU
- Небольшое число сложных ядер
- Высокая производительность на поток
- Хорошо для ветвлений и латентности
Несколько мощных ядер выполняют разные задачи.
GPU
- Много простых ядер
- Высокий throughput
- Отлично для параллельных вычислений
Много простых ядер выполняют одну задачу параллельно.
Где работает лучше
CPU
- Серверные запросы с сильной логикой
- Транзакции, базы данных, OS задачи
- Сценарии с непредсказуемыми ветвлениями
GPU
- Графика и рендеринг
- Машинное обучение и матричные операции
- Массовые параллельные вычисления
Практический вывод
В современных системах CPU и GPU часто работают вместе: CPU управляет логикой и оркестрацией, а GPU берет на себя массовые вычисления. Выбор зависит от характера нагрузки: latency и ветвления — в пользу CPU, параллельные и однотипные операции — в пользу GPU.
Почему это важно при проектировании приложений
- Помогает выбирать архитектуру под тип нагрузки: интерактивные запросы на CPU, батчи и инференс на GPU.
- Влияет на стоимость инфраструктуры: CPU-доменные и GPU-доменные системы считаются по-разному.
- Определяет требования к памяти и сетям: GPU часто требуют быструю память и высокую пропускную способность.
