> Так и я о том. Убрали VLIW с фронта и сделали нормальный
> GPU вместо вывешенного голым задом ядра исполнения :D А вот так посмотришь на это дело - и задумываешься что вообще уж выделенный проц для более интеллектуального управления своим куском блоков исполнения не такой уж и бред.
Фирмачи, собственно, это тоже поняли и активно практикуют. Их, правда, местами дико ненавидят, потому что подпертые блобанутыми фирмварями сервисные операции - очень портит карму когда хочется открытые дрова. Но кмк открытому блоку и открытые дрова/фирмвари сделают...
> Да оно не дичь, но оно должно успевать кормить эти блоки данными.
Это ниоткуда не следует. Оно должно успевать вменяемую координацию, а heavy lifting можно подпереть железом.
> То есть в идеале туда придётся ставить те же полноценные высокочастотные
> модули от зенов например, а они далеко не холодные. Ну и
> опять же память отдельную, I/O и т.п.
Да, если вас взять архитектом в стартап - ему точно будет полный факап.
> С доступом в общую шину будет проблемка - если заставить исполнять из
> видеопамяти - передерутся с самими модулями GPU, их паттерны обращения хорошо
> предсказуемы, а у CPU общего назначения - нет.
Никто в здравом уме не насилует общую шину постоянно, для этого local storage есть. АМДшники практикуют довольно забавный фокус. У них там типа овердохрена регистров. Но если их не хватило, эмулируют это "своплением" видимо в local storage. Они называют это xGPR spill. А остальные что, совсем раки и local storage не будут делать?
> Можно заставлять локальный CPU ждать, как центральный CPU при обмене через PCIe, но тогда
> вообще смысл локального CPU теряется.
Это какая-то очень уж питекантропская модель взаимодействия железок, есть более 9000 более вменяемых вариантов.
> Если дать доступ к системной памяти через PCIe -
Для начала - там и не pcie может быть. А накристальное что-нибудь, типа AHB.
> передерутся с системным CPU и общая производительность в
> итоге всё равно будет так себе. + latency.
Ну вот там амд тоже пару фокусов придумал, допустим zerocopy между системным процом и gpu. Пока вы там по pcie толкаете, оно просто отпускает регион и отдает его gpu - не ворочая данные. Ага, "указатель передать" можно и сильно подальше чем в 1 программме. Передача указателя эффективнее копирования блока, попробуйте оспорить.
> Ну и да, если ставить по CPU на группу модулей - чокнешься
> всё это щщастье синхронизировать. Особенно при том, что тем же игроделам
> придётся поддерживать 100500 разных вариантов построения таких GPU.
Да с чего бы? GPU по жизни как-то так и делают. Особенно штуки типа майнеров.
> Короче, не нужно оно, нет смысла переусложнять. Системного достаточно.
Системного чего? А так если посмотреть на допустим GCN - он тоже не больно какой простой унутрях.