Суперкомпьютер из настольного ПК: это реально?

    Возможно ли превратить персональный компьютер в мощное решение для специализированных нужд — суперкомпьютер? Да, такая возможность появилась, правда, это не совсем тот путь, который предсказывали аналитики в конце прошлого столетия. За последние пять-шесть лет видеокарты ушли от основных расчетных модулей — центральных процессоров существенно вперед. Это привело к тому, что их начали использовать для несвойственных ранее нужд.

    Идея с расчетов на GPU не нова. Еще в прошлом году ATI, а сейчас AMD подняла идею задействовать графические процессоры для специфических расчетов. В настоящее время, в роли вычислительных устройств видеокарты применяются для обработки колоссальные объемы данных, полученных при геологических изысканиях американской нефтедобывающей компанией Hess. Можно также назвать проект Folding@Home, который также является показателем применения GPU в расчетах, на этот раз научных. Данный проект предполагал использование чипов ATI, однако, в конце прошлого года стенфордскими исследователями было объявлено о заинтересованности в использовании и чипов nVidia GeForce 8800.
    Чтобы продвинуть идею использования графических процессоров в роли специализированных вычислительных решений, корпорация nVidia выпустила первую публичную бета-версию пакета разработчиков CUDA. Данный SDK позволяет упростить разработку программного обеспечения, которое способно задействовать видеокарты семейства GeForce 8800 для каких-либо расчетов. Напомним, что GeForce 8800 GTX содержит 128 «потоковых процессоров», которые, по заявлению nVidia, способны обеспечить пиковую теоретическую производительность в районе 520 ГФлопс, используя же две видеокарты можно получить почти 1 ТФлопс.
    Даже если учитывать, огромное расстояние между теорией и практикой, то реальная производительность все равно будет на очень высоком уровне. Корпоративным клиентам это может быть интересно, но затраты на создание инфраструктуры могут ошеломить любую крупную транснациональную корпорацию. Пройдет еще не один год прежде, чем GPU станет применяться корпоративным сектором.
    Источник: www.thg.ru/technews/20070220_085307.html

    Комментарии 34

      0
      Очень интересная идея. Не заглохла бы только.
        +1
        Открыли бы они ещё спецификацию - цены бы им не было... :)
          0
          "Корпоративным клиентам это может быть интересно, но затраты на создание инфраструктуры могут ошеломить любую крупную транснациональную корпорацию." - если затраты будут крайне высоки, то врядли это когда-нибудь будет применено на практике.
          • НЛО прилетело и опубликовало эту надпись здесь
              0
              Извините можно вам дурацкий вопрос задать? Как вы собираетесь выпускать клиента для NV если использование открытых спецификаций дает не верные результаты, а Nvidia свою спецификацию не дает?
              • НЛО прилетело и опубликовало эту надпись здесь
            0
            помоему уже достаточно давно есть програмки которые во время оттдыха gpu стараются нагрузить его и делать что нить полезное
              0
              это какие, например?
              0
              Что-то я недавно читал, про то что Интел готовит ответный удар, что-то вроде камней с интегрированным видео, да и АМД не отстаёт - выкупила АТИ, что-то готовит.
                0
                всегда не мог понять, почему нельзя средствами видео карточки делать рендер из 3DsMax или Maya - а то при design time карточка используется а в финальном рендере простаивает.. надеюсь эта фигня решит вопрос (и сразу пойду хапну топовую видюху! а лучше две)
                  +1
                  Баян :)
                  Ссылки по теме:
                  http://www.wired.com/news/technology/com…,72090-2.html?tw=wn_story_page_next2
                  http://www.gpgpu.org/cgi-bin/blosxom.cgi
                  http://developer.nvidia.com/object/cuda.…

                  Не говоря о том, что теме в реальных вычислениях - уже года три, если не больше. Кластеры строят.
                    0
                    Тьфу, движок не знает что бывают запятые в URL
                    ссылка на Wired
                      0
                      круто, спасибо, как раз сам начал гуглить в поисках готового софта, а то даже quad процессоры что грядут не сильно радуют (3.5 раза быстрее чем 1 ядро конечно неплохо, но vray это не сильно заметит - все ему мало), а renderfarm дорог и слишком крут для дома... а потратить на софт (использующий мощь GPU) разумные деньги вполне реально... было бы решение
                        0
                        А все эти vray-и - там как код написан ? Мои эксперименты показывают, что ручное написание под SSE3 дает ~10-15-кратный прирост производительности.
                        описание эксперимента

                        Потом, Core2 - это формально 8 операций на такт (две операции с 4-компонентными векторами), 4 ядра на 3 гигагерца - 100Gflop/s в теории. В практике получается 5.2

                        У G80 NV насчитала 520 Gflop/s - это 3 операции на такт. MAD и ADD - получается 3.
                        Но это куда более лукавый подсчет, чем просто простая и сложная SSE-операция.

                        Неформально - выигрыш будет на том, что Core2 (Woodcrest) уже обратно уперт в шину,
                        а видеокарты - тоже уперты, но на гораздо более высоких скоростях.
                          0
                          про код vray незнаю, возможно в последней версии добавили и sse3 (скромно надеюсь)
                          но принципиально, стоит брать четыре ядра (по сравнению с моим камнем P4-3Ггц надеюсь хотя бы на 3,5 раза прирост) или же скажем 8800 и дополнительный софт способны будут дать бОльший прирост при примерно той же совокупной стоимости? понимаю что сказать пока нельзя, но учитывая потенциал архитектуры уже можно чтото предположить? (спрашиваю потому как незнаю тонкостей всех этих - шин, конвееров и тп)
                            0
                            Так дополнительного софта, небось, еще и нету ?
                              0
                              насколько мне известно нет, но жду его уже с момента TNT2 :) версия макса была 1.5 или 2.0 под виндой уже, карточка была и я надеялся что рендер поможет делать... вот до сих пор жду
                              эта ветка освежила воспоминания и мечты, жду блин с нетерпением любых ходов дабы за реальные деньги получить бустер для просчета финальных картинок в vray и прочих
                    0
                    Сейчас, может быть, ситуация и поменялась, но раньше, видеокарты производили узкоспециализированный, жестко фиксированный и примитивный, по сравнению с 3D Max и Maya, расчет. Поэтому их и не использовали, и еще, думаю, долго использовать не будут.
                    То, о чем идет речь в статье - это именно использование жесткого зашитого в видеокарты функционала для тех случаев, когда совершенно другие задачи используют такие же по логике вычисления, что и в графика. Ну а как любой специализированный процессор, видеокарта дает на этих ограниченных случаях большую производительность.
                    С развитием видеокарт стало можно (станет можно) решать более широкий спектр задач.
                      0
                      "Узко специализированный, жестко фиксированный" функционал очень давно кончился. Уже несколько лет как. Программируемые шейдеры были требованием 8-го DirectX, а это 2000-й год.
                      Тот же 8-й DX требовал уже поддержки плавающей точки.

                      Понятно, что аппаратно DX8 поддержали не сразу, но первая программируемая карта - это 3-й Geforce, 2001-й год.
                      Для компьютерной техники 6 лет - это целое поколение, если не два.
                        0
                        Я поэтому и начал текст со слов, "сейчас может быть ситуация и поменялась", поскольку интересовался этим вопросом давно.

                        Спасибо за ваш комментарий, буду знать.
                          0
                          Две проблемы я там ниже обозначил. Третья - это поддержка scatter - в G80 технологически
                          можно, а скорость не знаю пока.
                          Все остальное вроде бы решено (в G80) - такой из себя мультипроцессорный компьютер.

                          CUDA - это надстройка над C (со спецификациями типа Storage для переменных - в локальной
                          для процессора памяти, в потоковой и так далее). Хотя реальная компиляция в код идет,
                          как мне кажется, в драйвере.
                            0
                            IMHO на выход компилятора CUDA примитивы для карточки аля ассемблер. А далее эти примитивы дополнительно пербразовываются в машинный код драйвером.
                              0
                              По идее - да, полный аналог DX/OpenGL.

                              Собственно, идея разумная, ибо драйвер может компилировать по-разному для разного железа. Но идея оптимизирующего компилятора (который может потратить на страницу кода и пять минут) мне ближе.
                    0
                    На самом деле, основных проблем в вычислениях на карте две
                    1) железо поддерживает только 32-битную плавающую точку. Этого для задач реального размера - мало
                    2) Работа с 32-битными целыми (по меньшей мере на G80) - очень медленная. Типа 10 тактов на
                    операцию (вместо двух).

                    Обе проблемы, естественно, решат как-то, NVIdia обещает 64-bit float прямо в этом году.

                    Но тема - очень горячая, хотя и до крайности сырая: CUDA проанонсировали в ноябре, альфа-версия инструментальных средств появилась в декабре, а что-то с чем можно работать появилось только-только.
                    Без CUDA - это все был жуткий онанизм, с написанием вычислительных шейдеров на GLSL или HLSL. Но писали. Заметим, что Apple и тут впереди планеты всей, Image Core Services используют видюху. Хотя помогает не очень.
                      0
                      Может лучше не паритьмя а взять Cell? ;)
                        0
                        Проще - взять G80. Потому что она на каждом прилавке, можно вставить в PCI-e-16 и любить
                        как вздумается (в UT2004 поиграть, например).

                        Cell в составе PS3 - бессмысленен, слишком мало памяти. Сопроцессорных плат пока нет, а когда будут - цены обещают заоблачные.

                        Потом, с производительностью тоже не все понятно. Формально Cell - это 200+ GFLOPS на single precision.
                        Однако для матриц 1000x1000 IBM-цы получили 73Gflops. Это много, примерно как два Core2Duo 6700 :).
                        Только вот у меня - на оптимизированном под старую карту примере от RapidMind на G80 получается 105 Gflop/s на том же размере.
                          0
                          Ну оно думаю появится в следующем году в виде лезвий :)
                            0
                            Появится - посмотрим.

                            Но там ведь память не безумно быстрая. 25Gb/s. У 8800 намеряли (а не по спекам) - 50.

                            Собственно, я не против задумки, да и вообще многопроцессорность с общей памятью - это всеобщее будущее. Но на фоне видеокарт текущий Cell выглядит не потрясающе.
                              0
                              Память прикрутить не проблема. Еще кстати AMD обещает платы для потоковых вычислений.
                                0
                                Там внешний интерфейс для этой памяти - не быстрый.

                                А AMD - уже продает. Radeon 1950 с гигабайтом памяти за две штуки.
                            0
                            Кстати, вот мои упражнения с умножением матриц.
                            При том, что все решения мне кажутся (внутренне) неоптимизированными или оптимизированными не под то, имеем двукратно-большую скорость у 650-баксовой 8800GTX по сравнению с двумя 500-баксовыми Xeon 5140
                        0
                        ну да, видимо не все так просто, так и придется ждать четыре ядра от интел или амд (в контексте рендера разумеется)
                          0
                          Почему-то мало кто говорит о возможности, благодаря "лишним" гигафлопам ускорить обработку видео-, аудиоданных. Все только о научных вычислениях, да игрухах. А ведь есть потенциал сильно облегчить жизнь тем, кто занимается видеомонтажем и музыкантам/звукоинженерам, которые вынуждены наблюдать за тем, как современные даже четырехядерные процы еле-еле тянут обработки в реальном режиме времени...

                          Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                          Самое читаемое