Компания nVidia была создана в 1993 году выходцами из Bell Labs, AMD, DEC, Evans & Sutherland, Apollo, Sun Microsystems и Silicon Graphics, что изначально сулило появление незаурядных решений. Полтора десятилетия спустя можно с уверенностью сказать, что ожидания оправдались — nVidia является одним из лидеров рынка графических систем, а в последние годы активно продвигает графические процессоры (Graphics Processing Unit, GPU) для высокопроизводительных параллельных систем. Недавно побывавший в России Энди Кин, генеральный менеджер nVidia по суперкомпьютерам и высокопроизводительным вычислениям, ответил на вопросы Computerworld Россия.
Какова цель вашего визита?
Свой первый визит в Россию я посвятил изучению рынка и знакомству с разработчиками, занимающимися высокопроизводительными вычислениями (High Performance Computing, HPC), с партнерами, нынешними и потенциальными клиентами. Российская научная школа известна своими традициями в области фундаментальных исследований, и еще одна моя задача — наладить контакты с местными научно-исследовательскими организациями. В отличие от стран Азии и Китая, где больше развито производство и местные клиенты заинтересованы в приобретении готовых решений от nVidia, в России нас привлекают университеты, академические институты и исследовательские центры. Здесь заинтересованность двусторонняя — использовать ваш научно-технический потенциал и предложить научным учреждениям и вузам настольные системы, обладающие производительностью суперкомпьютера. Решения на базе GPU могут быть на два порядка производительнее при решении задач, допускающих распараллеливание, но, главное, пользователи получают доступ к высокопроизводительным вычислениям, оставаясь в привычной среде программирования.
До недавнего времени единственным способом построения суперкластеров на базе GPU была комбинация серверов nVidia S1070 Tesla с серверами традиционной архитектуры x86. Нынешней весной ситуация изменилась. Наша компания объявила программу установки GPU в системы OEM-партнеров с целью создания кластеров смешанной архитектуры, работающих как одно целое. В такой сервер встраивается плата Tesla M1060, которая состоит из 1,3-гигагерцевого графического процессора Tesla Series 10, содержащего 240 ядер и обладающего производительностью в 933 GFLOPS и 4 Гбайт памяти GDDR3. Первым поставщиком таких решений стала компания Supermicro, выпустившая сервер формфактора 1U, который содержит два модуля Tesla и два четырехъядерных процессора Intel Xeon 5500. Пиковая производительность такого комплекса — 2 TFLOPS. Недавно компания Cray начала применять Tesla в линейке суперкомпьютеров CX1.
Первые «геометрические машины» предложил со своими коллегами Джим Кларк, основатель Silicon Graphics, еще в 1981-м. Однако где сейчас SGI, а у nVidia дела идут в гору. В чем секрет успеха GeForce?
Действительно, сама идея Geometry Engine не нова, а успех nVidia определяется двумя причинами. Во-первых, мы одними из первых в 2003 году предложили использовать GPU не только для поддержки графического конвейера, но и для выполнения не связанных с графикой приложений, причем без необходимости использовать какие-то новые среды программирования. Во-вторых — массовость решений, которые изначально ориентировались не на элитный рынок высокопроизводительных графических станций, а на потребительский рынок. Сегодня аналогичный подход начинает оправдывать себя и на рынке HPC. Здесь трудно получить прибыль на штучном товаре, поэтому наша стратегия — массовость и доступность плюс бесплатный инструментарий.
Что собой представляет архитектура CUDA и в чем секрет ее популярности в сообществе разработчиков?
Применение GPU для вычислений общего назначения (General-Purpose GPU, GPGPU) становится все более популярным, вокруг нее образовалось сообщество разработчиков, использующих интерфейс программирования CUDA (Compute Unified Device Architecture). Мы первыми предложили инструментарий создания программ для GPU на базе расширения языка Cи. Главное достоинство CUDA в том, что в терминах, понятных каждому программисту, можно в рамках одной среды создавать код, исполняемый как на графическом, так и на обычном процессоре. Комплект nVidia CUDA, который бесплатно получают все разработчики, включает драйвер, набор инструментов и примеры кодов.
Как компания работает с сообществом разработчиков?
Наш бизнес — продажи оборудования, однако без программ, знания методов и особенностей работы оно представляет собой не более чем кусок кремния и пластика. Чтобы получить максимум от конфигураций на базе GPU, нужен соответствующий инструментарий и среда программирования. В одиночку трудно охватить все сферы применения наших продуктов, поэтому-то мы активно работаем с сообществом Open Source, развивая CUDA именно по этой модели, отвечая за поддержку и консолидируя разработки. Это напоминает модель развития Linux с участием ведущих игроков ИТ-рынка. В России у nVidia имеется специальная группа, отвечающая за поддержку разработчиков во всех странах Восточной Европы (второй подобный центр развернут в Лондоне). Наша задача — помогать создавать программы, максимально использующие возможности оборудования, а для этого нужны соответствующие отладчики, компиляторы и т. п., которые мы предоставляем бесплатно. Но и это не все. В Сети имеется открытый портфель решений CUDA Zone, в который на данный момент входят около 300 проектов, выполненных на базе CUDA в разных прикладных отраслях.
Для решения каких задач наиболее приспособлена Tesla?
Tesla по плечу широкий класс задач, где данные хорошо распараллеливаются: приложения по разведке углеводородов; расчеты и визуализация результатов в науке и промышленности; обработка данных физических экспериментов и военной телеметрии, цифровая обработка сигналов и др. Вообще говоря, GPU наиболее эффективны в потоковых вычислениях, когда обработка одного элемента потока не зависит от всех остальных элементов этого же потока — чем больше элементов в потоке, тем выше эффективность.
Год назад вы назвали процессор Intel Larrabee «изначально устаревшим». Изменилось ли с тех пор ваше мнение?
Преимущества процессоров Intel — совместимость, поддержка унаследованных приложений, относительная простота программирования и широкая клиентская база. Однако в мире CPU речь сегодня идет об одновременном выполнении одним процессором от двух до восьми вычислительных потоков, а в мире GPU таких потоков тысячи. Larrabee еще не вышел на рынок, и делать выводы преждевременно. Ясно одно: началось противоборство двух миров — параллельного и последовательного. А появление процессоров типа Larrabee — это попытка застолбить место в обоих мирах. В конечном счете успех технологии — вопрос экономики, и он будет зависеть от того, чью сторону предпочтут разработчики, — проприетарных или открытых средств создания программ, работающих на всей линейке GPU.
Куда движутся архитектуры GPU?
Сегодня происходит конвергенция двух миров с целью создания высокопроизводительных и доступных параллельных архитектур, и к концу будущего года мы сможем увидеть GPU на большинстве высокопроизводительных кластеров и на ПК. Причина проста: Microsoft включила в предназначенный для Windows 7 вариант Direct X поддержку GPU, а Apple встроила OpenCL (спецификация, дополняющая открытые отраслевые стандарты OpenGL и OpenAL возможностями работы с GPU) в Snow Leopard.