2 FuzzyLogic
1) Значит понял неправильно
. Использовали, и решение себя не оправдало - теперь ближе к истине?
2) Вопрос мой относился к тому, какие 512 процессоров Вы используете сейчас. Цену терафлопа вроде подсчитать несложно, собственно с неэффективностью современных пентиумообразных процессоров Вы вроде соглашаетесь. Правильно ли я понимаю?
4) Если Вам нужно перемножить две матрицы размерности N, на это требуется N^3 операций, а на загрузку матриц N^2 операций. Скорость оперативной памяти и винчестера/сети отличается где-то на 3 порядка, значит при N~10^3 распараллеливание становится возможным. Соответствующий объем данных порядка N^2~10^6, т.е. 10-20MB. Это на порядок меньше, чем указанные Вами 200MB на ядро. В случае видеокарты вместо сети имеем PCI-express, значит разница не 3 порядка, а 2. Таким образом N~10^2, N^2~10^4, т.е. около 100KB на ядро. Пусть я ошибся на порядок, к тому же возьмем число ядер 10^3. Итого необходимый объем памяти 1GB. Вроде бы все сходится, где затык??
В целом я исхожу из двух фактов. Во-первых, видеокарты вполне справляются с играми, там же элементарные операции как раз и есть умножение одной и той же матрицы на множество разных векторов. Во-вторых, уже существует куча проектов, где быстродействие возрастает больше, чем на порядок.
По поводу MPI: само его существование есть следствие глобальной скаляризации (кластеризации, если угодно, фрагментации!), обратите, пожалуйста, внимание на эту ссылку
http://www.top500.org/overtime/list/32/procarch. 5) Естественно, что к новым решениям приходится адаптироваться. Но сложнее ли CUDA написания оптимального ассемблерного кода SSE? А вот прирост не 10% (100%?) как в случае с SSE, а 10 (100?) раз.
Логики по поводу "разовости" задачи я не понял: если стремиться ее решить, нужно идти к дяде, у которого дома есть суперкомпьютер, например сюда
http://www.parallel.ru/cluster. Чтобы с ним разговаривать, надо выучить его язык, тот самый MPI (а может Open MP?) И как-то делать этого не хочется, тем более понимая всю ублюдочность архитектуры зеоно-феномов. Согласны ли Вы со мной, что она таковой является?
Поскольку мой труд является низкооплачиваемым, то возразить мне Вам как "холодному производственнику" конечно нечего, кроме цифр. Месяц работы бригады из 10 программистов - порядка 10^6 руб, стоимость комплекса из 100 четырехядерников в несколько раз выше. С другой стороны, а кто действительно ее считал, цену терафлопса, когда есть такие приятные вещи как нефть и газ. В Вашу пользу говорит и низкая, насколько я знаю, загруженность кластеров в нашей стране. Да и в целом мировая статистика использования компьютеров, ведь видеокарта - это 3D ускоритель, иные ее применения являются извращением ин май хамбл опинион.
P.S. О монополии в лице нвидяхи я бы говорить не стал, поскольку монополия - это когда покупатель вместе с ноутбуком вынужден .NET образную среду брать.
P.P.S. Вы говорите о "портабельности". А насколько портабельно стандартный фортрановский код (77,90) компилится на Core2Quad? На все 100% или на 25? Может быть пора понять, что уход от векторных процессоров, произошедший в 90х годах (еще раз:
http://www.top500.org/overtime/list/32/procarch), был большой ошибкой?