Murkt>> Переносимость есть - OpenGL везде одинаков, а управляющее приложение без разницы на чём писать - C++, Python, Perl, Java.
Mishka> Я не то, чтобы знаток, но можешь продемонстрировать умножение матриц С(m,k)=A(m,n)*B(n,k)?
А при чём здесь переносимость? Насколько я понимаю термин "переносимость" - это значит что программу писали на Linux под Radeon, а запустить можно на Windows и GeForce.
Murkt>> Выигрыш уже огромен. По цене самой числодробильной видеокарточки не купишь один быстрый оптерон восьмой серии, а одна такая видеокарточка, похоже, считает быстрее, чем восемь таких оптеронов.
Mishka> Вот напишешь для умножения матриц, можно написать для всяких MMX или SSE(1,2,3).
Я в первую голову написал, что возможность использовать видеокарту для расчётов сильно зависит от типа вычислений. Только это почему-то никто не прочёл.
Murkt>> Угу. Чем дальше, тем больше разрыв в вычислительной мощности, тем более программируемые видеопроцы, и тем более сложные расчёты на них можно выполнять.
Mishka> Это, мягко говоря, очень спорное утверждение.
Почему? За то время, пока процессор обзавёлся четырьмя ядрами вместо двух, а каждое ядро ускорилось пусть в полтора раза (2 * 1.5 = 3), у видеокарточек количество шейдерных процессоров выросло с 16-и (вроде столко было), до 128-и, а частота с где-то 600 МГц до 1.2 ГГц (GeForce 8800 GTX). Прирост - шестнадцать против трёх. А насчёт более сложных расчётов - кто-то вообще будет спорить о том, что на четвёртых шейдерах можно сделать гораздо более сложные вещи, чем на вторых? У которых не было динамического ветвления, например, и была очень ограничена длина шейдера (255 инструкций, вроде бы).