Благодаря российским ученым игровая видеокарта Nvidia превзошла суперкомпьютер в сто раз
Заявление, которое обрадует как ученых, так и производителей видеокарт, сделали позавчера физики из МГУ. На обычной игровой видеокарте Nvidia («из тех, что можно купить в магазине за 300-500 долларов«) старшие научные сотрудники Владимир Померанцев и Ольга Рубцова сумели произвести расчеты, которые обычно выполняются на суперкомпьютерах. Вот что рассказал об этом их научный руководитель профессор Владимир Кукулин:
«Мы добились скорости, которая и присниться не может. Программа работает так, что 260 миллионов сложных двойных интегралов на настольном компьютере она считает за три секунды. И никакого сравнения с суперкомпьютерами! Мой коллега из Бохумского [от редакции: Рурского] университета в Германии (к сожалению, недавно скончавшийся), лаборатория которого занималась тем же, проводил расчеты с помощью одного из самых больших суперкомпьютеров Германии с известной архитектурой BLUE GENE, что на самом деле очень дорогое удовольствие. И то, чего его группа добивается за двое-трое суток, мы делаем за 15 минут, не потратив ни копейки».
В публикации Московского государственного университета им. Ломоносова сообщаются следующие подробности:
«Уравнения, о которых идет речь, были сформулированы еще в 60-х годах прошлого века российским математиком Людвигом Фаддеевым. Уравнения описывали процесс рассеяния нескольких квантовых частиц, то есть представляли собой некий квантовомеханический аналог ньютоновой теории трех тел. В результате быстро возникла целая область квантовой механики под названием «физика малочастичных систем». Главной проблемой при решении уравнений рассеяния для нескольких квантовых частиц было вычисление интегрального «ядра» – громадной двумерной таблицы, состоящей из десятков и сотен тысяч строк и столбцов, причем каждый элемент такой огромной матрицы был результатом очень сложных вычислений. Но эта таблица представляла собой как бы экран с десятками миллиардов пикселей, и с помощью хорошего графического процессора ее вполне можно было построить. Воспользовавшись софтом, разработанным в Nvidia, и написав собственные программы, ученые разбили свои вычисления на много тысяч потоков и смогли блистательно разрешить задачу. Самое удивительное заключается в том, что и графические процессоры нужного качества, и огромное количество программного обеспечения к ним существуют уже десять лет , но на Западе никто не использовал их для таких расчетов, отдавая предпочтение суперкомпьютерам».
В публикации приводится фото JUGENE (Jülich Blue Gene) — суперкомпьютера, созданного IBM для Юлихского исследовательского центра в Германии (см. фото сверху). Согласно Википедии, он начал работать еще в 2007 году (став шестым в мире и первым в Европе по производительности на то время), оснащен 65,536 RISC-процессорами PowerPC 450 и имеет производительность в 167 терафлопс. В наши дни, когда топовая игровая видеокарта (например, Nvidia GeForce GTX 1080) имеет быстродействие в 9 терафлопс, такой супер ЭВМ уже не удивишь. Для сравнения, самый мощный в мире на сегодня суперкомпьютер, китайский Sunway TaihuLight, имеет 40,960 RISC-процессоров SW26010 (между прочим, китайской разработки) и производительность в 93 петафлопс — т.е. в 557 раз больше. Только при этом следует помнить, что он стоит 270 млн. долларов, занимает целый зал и потребляет 15 мВт электроэнергии — тогда как все та же видеокарта GTX 1080 обойдется какой-нибудь физической лаборатории в $700 за референсную версию и имеет TDP в 180 Вт. Ну и конечно же необходимо принять во внимание заявленную разницу в скорости вычислений между игровой видеокартой и супер ЭВМ JUGENE — она является почти стократной.
О достоинствах многоядерных графических ускорителей в научных вычислениях, где требуется большое количество параллельных вычислений, неоднократно заявляла и сама Nvidia. На презентации мобильного процессора Tegra X1 в январе прошлого года компания сравнила его с суперкомпьютером 1996 года ASCI Red, который достиг производительности в 1 терафлопс, потребляя при этом 0.5 мВт электроэнергии. Правда 1 терафлопс Tegra X1 достигается с точностью FP16, тогда как ASCI Red — FP64, но тем не менее. Большой интерес возможности ГПУ представляют и при решении задач искусственного интеллекта.