В продолжении темы домашнего суперкопьютера. Пока Intel готовит свой 80-ти ядерный супер процессор, пока еще очень призрачный для нас с вами, у другой известной американской компании есть более перспективное решение. На прошлой неделе NVIDIA объявила о начале публичного бета-тестирования пакета для разработчиков CUDA (Compute Unified Device Architecture). Это означает, что в ближайшем будущем стоит ожидать появления различного софта, осуществляющего вычисления не на CPU (центральном процессоре), а на GPU (графическом процессоре видеокарты). Все началось с того, когда nVidia выпустила новое поколение процессоров G80, которые по своей производительности очень близки к суперкомпьютерным. Графический процессор видеокарты GeForce 8800 GTX может достигать пиковой производительности в 520 гигафлоп (млрд. операций с плавающей запятой в секунду), таким образом, две видеокарты в режиме SLI могут пересечь отметку в 1 терафлоп.
Логично, что всю эту мощь без соответствующих программ реализовывать просто некуда. Внедрение того же DirectX 10 тормозится из-за отсутствия софтверной поддержки. Но вот nVidia пошла на встречу девелоперам, выпустив CUDA. Благодаря этому пакету параллельные вычислительные возможности GPU теперь доступны практически всем разработчикам через стандартный язык программирования C. Любой может скачать бета-версию CUDA SDK и компилятор C для Windows XP и Linux (RedHat Release 4 Update 3) с сайта NVIDIA. В пользовательской среде с помощью CUDA сможет рассчитываться физика в играх. Среди более серьезных задач – расчеты в сейсмологии, финансах, гидродинамике, медицине и т.п. Также графические карты смогут симулировать работу нейронов мозга, поведение электромагнитных волн и многое другое, являющееся ранее уделом многопроцессорных суперкомпьютеров.
Итак, nVidia вывела свой графический процессор G80 за рамки своих основных задач, предполагая использование устройства и как 128-ядерного (Intel курит в сторонке) универсального процессора с общей кэш-памятью (Parallel Data Cache). А пиковая производительность плавающей арифметики нового ускорителя превышает любой из доступных сейчас настольных процессоров. Есть неофициальная информация о том, что несколько инженеров AMD, изучив архитектуру G80, пришли к выводу о её схожести с архитектурой x86-процессоров, а это значит, что с выпуском CUDA это даже не шаг, а целый скачек в направлении совмещения CPU и GPU. По слухам AMD главным образом для этих целей приобрела ATi. А, выходит, NVIDIA ближе к созданию “абсолютно универсального” процессора, чем AMD – к реализации проекта Fusion (на первых порах интеграция слабеньких видеопроцессоров в центральные).
Но у G80 есть недостатки. Например, в сравнении с традиционными узкоспециализированными сопроцессорами, предназначенными для выполнения операций с плавающей запятой, ускорители NVIDIA способны работать лишь в 32-битном, а не 64-битном режиме, давая результат вычислений с одинарной точностью, вместо требуемой двойной. Такое же ограничение свойственно и процессору Tera-Scale, разрабатываемому Intel. Но nVidia обещает, что этот недостаток будет устранен в ускорителях, которые выйдут позже в этом году.