docs: add section on CPU+GPU abstractions with references
This commit is contained in:
parent
fdd02841c2
commit
75ed30795e
2 changed files with 57 additions and 0 deletions
14
main.typ
14
main.typ
|
|
@ -374,6 +374,20 @@ SYCL, разработанный Khronos Group и впервые выпущен
|
|||
|
||||
#pagebreak()
|
||||
|
||||
= Связь исторической эволюции с современной научной задачей
|
||||
|
||||
== Необходимость новых абстракций для гибридных CPU+GPU систем
|
||||
|
||||
Современные гетерогенные вычислительные системы представляют собой качественно новую парадигму, требующую переосмысления традиционных подходов к программированию и оптимизации. В отличие от классических параллельных архитектур, где все процессорные элементы были однородными, гибридные CPU+GPU системы характеризуются радикальной асимметрией вычислительных ресурсов@mittal_survey_2015.
|
||||
|
||||
Центральные процессоры оптимизированы для выполнения сложной логики управления, работы с нерегулярными структурами данных и минимизации задержек отдельных операций. Графические процессоры, напротив, достигают максимальной производительности на массово параллельных задачах с регулярными паттернами доступа к памяти и высокой арифметической интенсивностью@kirk_programming_2017.
|
||||
|
||||
Проблема усугубляется сложностью иерархии памяти в гетерогенных системах. Традиционные модели программирования не предоставляют эффективных механизмов для управления перемещением данных между различными адресными пространствами CPU и GPU, что может приводить к значительным накладным расходам. Современные абстракции должны обеспечивать автоматическую оптимизацию передачи данных, учитывая как объемы копируемой информации, так и возможности перекрытия коммуникаций с вычислениями.
|
||||
|
||||
Для задач машинного обучения и глубокого обучения, где инференс моделей требует выполнения последовательности разнородных операций, необходимы абстракции, способные автоматически распределять различные слои нейронных сетей между CPU и GPU в зависимости от их характеристик@jia_beyond_2018. Некоторые операции, такие как небольшие полносвязные слои или нормализация батчей малого размера, могут эффективнее выполняться на CPU, в то время как крупные свёрточные слои лучше ложатся на массивно параллельные ядра GPU.
|
||||
|
||||
#pagebreak()
|
||||
|
||||
#align(
|
||||
center,
|
||||
pad(
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue