Size: a a a

Compiler Development

2020 February 03

BD

Berkus Decker in Compiler Development
и есть gdc vault презентация https://www.gdcvault.com/play/1012358/Go-With-the-Flow-Fluid тоже жорошо и побольше деталей
источник

BD

Berkus Decker in Compiler Development
и у джеймина было в блоге много, но чот кроме медиума ща не могу найти ничего
источник

PS

Peter Sovietov in Compiler Development
EgorBo
правда выше написано что если ты перловод или питоновод - то ни хрена не поймешь
Ну какой там SSE. Тем гетерогенная многопроцессорная архитектура. Один процессор нормальный, а еще 8 — специализированные VLIW/SIMD-гибриды под названием SPE. И между соседними SPE, например, можно программировать прямой обмен по DMA. И кэширования/когерентности нет — все обмены совершаются между PPE и SPEs программно с помощью асинхронных запросов по DMA.
источник

KR

K R in Compiler Development
Berkus Decker
есть еще пдф пейпер но за пейволом
А sci-hub?
источник

BD

Berkus Decker in Compiler Development
K R
А sci-hub?
там не смотрел, но пейпер зовется Fluid dynamics and lighting implementation in PixelJunk Shooter 2
в блоге у него были прям куски cell кода и как это шедулится между SPU и PPU, но в GDC Vault толке вроде все это есть
источник

AT

Alexander Tchitchigin in Compiler Development
K R
А sci-hub?
Ascii-hub?! 😃
источник

E

EgorBo in Compiler Development
Peter Sovietov
Ну какой там SSE. Тем гетерогенная многопроцессорная архитектура. Один процессор нормальный, а еще 8 — специализированные VLIW/SIMD-гибриды под названием SPE. И между соседними SPE, например, можно программировать прямой обмен по DMA. И кэширования/когерентности нет — все обмены совершаются между PPE и SPEs программно с помощью асинхронных запросов по DMA.
и слава богу это всё кануло в лету и теперь приставки - это обычные писюки
источник

E

EgorBo in Compiler Development
и так разрабатывать под разные рендереры непросто, а тут еще ублажай целл
источник

BD

Berkus Decker in Compiler Development
EgorBo
и слава богу это всё кануло в лету и теперь приставки - это обычные писюки
да, там был чудный крутяк в процессинг лупе - сетапишь дма, пока он копирует тебе новые данные, обрабатываешь старые
источник

BD

Berkus Decker in Compiler Development
потом сетапишь еще один дма чтобы результаты обратно копировать, и так между этими двумя дма лупами скачешь как белка
источник

PS

Peter Sovietov in Compiler Development
Речь ведь не о том, чтобы восхищаться такой архитектурой. Decoupled-подходы — это то, с чем иногда приходится программисту мириться, если нужна высокая эффективность работы чипа. Идея в том, чтобы возложить на компилятор заботу о распределении данных по блокам локальной памяти, по управлению DMA-запросами и проч.
источник

M

MaxGraey in Compiler Development
Peter Sovietov
Речь ведь не о том, чтобы восхищаться такой архитектурой. Decoupled-подходы — это то, с чем иногда приходится программисту мириться, если нужна высокая эффективность работы чипа. Идея в том, чтобы возложить на компилятор заботу о распределении данных по блокам локальной памяти, по управлению DMA-запросами и проч.
Вообще это задача ОС или драйверов, компилятор вообще в таких вещах никаким боком касать не должен
источник

M

MaxGraey in Compiler Development
Ну и ping-pong и двойная буфферизация довольно обычная практика в embedded и GPU pipeline.
источник

KR

K R in Compiler Development
Berkus Decker
там не смотрел, но пейпер зовется Fluid dynamics and lighting implementation in PixelJunk Shooter 2
в блоге у него были прям куски cell кода и как это шедулится между SPU и PPU, но в GDC Vault толке вроде все это есть
Открывает, хоть и со скрипом. Там одна страница.
источник

KR

K R in Compiler Development
Alexander Tchitchigin
Ascii-hub?! 😃
Вы не знаете sci-hub?
источник

AT

Alexander Tchitchigin in Compiler Development
K R
Вы не знаете sci-hub?
Знаю, знаю... 😊
источник

AT

Alexander Tchitchigin in Compiler Development
MaxGraey
Вообще это задача ОС или драйверов, компилятор вообще в таких вещах никаким боком касать не должен
Не факт. При наличии подходящего языка у компилятора будет больше информации для оптимального размещения данных и скедулинга вычислений.
источник

M

MaxGraey in Compiler Development
Alexander Tchitchigin
Не факт. При наличии подходящего языка у компилятора будет больше информации для оптимального размещения данных и скедулинга вычислений.
Это только если эта операция очень частая и полезда для достаточно широкого спектра платформ - в противном случае это overkill
источник

KR

K R in Compiler Development
Вот, собственно
источник

KR

K R in Compiler Development
источник