>> Им надо много одного и того же, тогда они молотят хорошо.
> Нет, не надо. Там точно такие же ALU, как и в любом
> другом процессоре. Альтернативную физику и математику для GPU пока что никто
> не придумал.Ты не прав, анон, отличия есть. В GPU - много относительно низкочастотных и упрощенных ядер, ориентированных на супер-массовый SIMD и последовательные операции с памятью характерные для графики (а в дискретках и специализиорванная RAM ориентированная на такой стиль работы).
Кроме того у GPU обычно слабый exec flow control. Это именно молотилка в SIMD стиле, а как процессор общего назначения оно все же достаточно неинтересное.
Однопоточный алгоритм который не параллелится там вообще будет жалок. Равно как управляющие или системные задачи там не имеют особого смысла.
> Принципиально ничто не мешает приспособить GPU для GP (что
> и происходит, как мы видим).
Однако алгоритмы для GPU все же выгдядят... специяично. И работают тоже. Вон те wave/warp/как вы там это называете, на обычном проце вообще не присутствует.
> Проблема в том, что GPU по сравнению с CPU окажется для таких задач очень медленным, так как
> оптимизирован под совершенно иное, что со стороны выглядит как «много одного
> и того же». А так, никто не запрещает хоть Линукс там исполнять.
Кроме здравого смысла. Что линух будет делать с кучей относительно простых и не сильно шустрых по отдельности ALUшек с слабым exec flow control? Они не умеют быстро крутиться в разные стороны, так что код с бранчами там будет в полном ауте.
У шейдеров то изначальная идея была пройтись алгоритмом "по всей площади" более менее линейно. И когда fixed function заменили на репрограмабельные ALU, от них прежде всего хотели вон то.