Показать сообщение отдельно
Старый 10.08.2018, 18:32   #18469
Пугатель
 
Аватар для [CCCP] Monster

 
Регистрация: 26.06.2005
Адрес: Москва, СССР
Сообщений: 6,103
Репутация: 1085 [+/-]
Darude@dudud, ну вот через какое-то время мы сможем подробнее рассмотреть новую линейку видеокарт, а пока кое-что о PhysX.

Насколько я понимаю по контексту, претензия состоит в том, что вместо отдельного PPU на чипе NVidia использует GPU в режиме GPC для выполнения расчетов физики.

Дело в том, что это как раз наиболее рациональный путь, и я сейчас покажу, почему.

Напомню, что Ageia PhysX построила свою архитектуру PPU по следующей схеме: RISC процессор, управляющий загрузкой VLIW-ядер, обеспечивающих SIMD-вычисления (на самом деле в итоге получалось SIMT, но нам это сейчас не важно). Ядра обеспечивали одновременное выполнение нескольких инструкций. VLIW-ядра были программируемыми и даже позволяли выполнение инструкций ветвления в режиме предикации.

Покупка Ageia со стороны NVidia состоялась в феврале 2008 года, причем изначально Ageia собиралась купить AMD.

А вот спеки для GeForce-8 series, которая получила Unified Pipeline, впервые представила streaming multiprocessor (он же SM, не путать с SMM) в качестве основы для Giga thread engine. И было это в 2007 году (анонс вообще состоялся в 2006). Тогда же была создана первая реализация CUDA, которая по очевидным причинам без Unified Pipeline была бы невозможна.

И там в спеках есть хорошая картинка про устройство ГПУ, вот эта:
Скрытый текст:


Так вот, сравниваем с устройством PPU от Ageia: балансировщики нагрузки для вершинных, геометрических и пиксельных шейдеров распределяют нагрузку на SM-ы, которые представляют собой SIMT-процессоры, гарантирующие параллельное выполнения 16 потоков одновременно (один WARP тогдашний в терминологии NVidia или Wavefront в терминологии AMD). Система команд полна по Тьюрингу и обеспечивает выполнение ветвлений в режиме предикации.

Выглядит как-то очень похоже. А как так получилось? А все просто: SIMD (а в нашем случае его подвид SIMT, где обработка данных не обязательно строго синхронна по времени) - это давно известный и единственный разумный способ обработки одинаковым образом больших объемов однородных данных, с которыми работают и PPU и GPU.

Так вот и получается, что при интеграции наработок Ageia в области физики оказалось, что их алгоритмический пайплайн очень хорошо ложится на уже имеющуюся архитектуру GPU, но GPU NVidia оказывается более приспособлен для параллелизма в этом вопросе, осталось только реализовать это все в виде последовательностей команд GPU.

При этом если бы был отдельный PPU на кристалле, он бы большую часть времени простаивал, потому что расчет физики занимает отнюдь не все время кадра (а чаще всего меньшую его часть), и к тому времени как с физикой будет покончено, GPU все еще будет работать над освещением. А в случае унифицированного подхода, когда все происходит на GPU, транзисторы, которые были бы потрачены на создание PPU, могут пойти на увеличение мощности GPU, и таким образом вместо простоя ускорить другие вычисления тоже.



А что не так с Hairworks?
__________________
Служу Советскому Союзу!

Хорошо смеется тот, кто стреляет первым! (танкистская мудрость)

Последний раз редактировалось [CCCP] Monster; 10.08.2018 в 20:01.
[CCCP] Monster вне форума  
Отправить сообщение для [CCCP] Monster с помощью Skype™ Ответить с цитированием