Конференция по вычислительным технологиям GPU (GPU Technology Conference, или просто GTC), организованная компанией NVIDIA и традиционно проходящая в Сан Хосе, Калифорния, с самых первых дней её организации ориентирована в большей степени на внимание специалистов, и лишь в некоторой мере — на привлечение интереса IT-журналистики. Не стала исключением и GTC 2013, в которой приняли участие тысячи специалистов из разных стран, в том числе немалое количество делегаций различных российских компаний. Огромное количество впечатляющих анонсов, сделанных в рамках мероприятия и интересных для прессы, совсем не отменяло тот факт, что большинство участников приехало сюда всё же не глазеть, а работать.
Обо всех ключевых анонсах мероприятия мы подробно рассказали в первый же день конференции в нашей публикации «NVIDIA GTC 2013: приятные сюрпризы первого дня». Перед тем как перейти к подробностям, хотелось бы отметить, что мне, бесспорно, было лестно и очень приятно попасть на столь престижное мероприятие в качестве журналиста. Однако основная магия и ценность GTC не столько в официальной программе для широкой публики, сколько в цикле презентаций и лекций с уникальным объёмом знаний в исполнении замечательных людей, но для подготовленного слушателя.
Так что не обессудьте, если о каких-то вещах будет рассказано больше, нежели о других, тем более что разноплановые сессии в дни мероприятия шли порой дюжинами в одно и то же время.
⇡#Прошлое, настоящее и будущее GPU-вычислений
Прошли времена, когда NVIDIA воспринималась исключительно как разработчик процессоров для графических карт. Сегодня компания позиционирует себя в качестве поставщика комплексных решений для любых вычислений на базе GPU. Официально это формулируется так: «NVIDIA — компания визуальных вычислений».
Иными словами, любые GPU NVIDIA – от GeForce ULP в Tegra до Tesla — выступают компонентами единой вычислительной экосистемы, в состав которой входят различные сочетания технологий, программные инструменты разработки и интеграции, аппаратные модули и готовые вычислительные решения.
Всего лишь несколько лет назад интересы NVIDIA были сосредоточены преимущественно в области графических ускорителей для настольных, мобильных и профессиональных ПК и лишь в небольшой степени – для портативной мультимедийной техники. После нескольких успешных лет продвижения технологии CUDA (как минимум последних пяти лет) структура доходов и инвестиций компании выглядит совершенно иначе.
Графика для профессиональных и игровых ПК серий GeForce и Quadro по-прежнему приносит компании значительный доход и будет приносить его в обозримом будущем. Но теперь на первое место по привлекательности инвестиций выходят перспективные рынки чипов для мобильной техники, HPC, облачных и корпоративных GPU-вычислений.
Для игровых и информационных гаджетов, планшетов, встраиваемых развлекательно-информационных систем, в том числе автомобильных, суммарный рынок которых, по прогнозам, утроится к 2017 году, NVIDIA позиционирует семейство Tegra 4 и новейшую 4G/LTE-версию Tegra 4i. В свою очередь, для сектора мощных графических станций, суперкомпьютеров, корпоративных и GRID-вычислений с применением GPU будут выпускаться решения на базе нынешних архитектур Fermi и Kepler, а также на грядущих чипах Maxwell и анонсированных на GTC’13 чипах Volta.
Таким образом, наиболее известная торговая марка компании – GeForce — представляет лишь частный случай применения GPU-вычислений для настольных и мобильных ПК, лишь малое подмножество всех возможных вариантов.
Вот так, если вкратце, выглядит нынешняя ситуация.
Обозримые перспективы развития бизнеса NVIDIA со всеми возможными исходящими из этого «кругами на воде» описывать лишь перечислением нынешних и будущих архитектур GPU не совсем корректно. Впрочем, систематизация по семействам чипов также не даст чёткого представления о том, куда движется бизнес CUDA-вычислений. К примеру, уже сегодня одни и те же GPU NVIDIA с успехом применяются и в кластерах высокопроизводительных HPC, и в GRID-системах, и в рабочих станциях.
В то же время чипы семейства Tegra, нынче в целом вроде бы как «заточенные» преимущественно под приложения вроде навигационно-развлекательных автомобильных систем, игровых консолей, планшетов, смартфонов и прочей карманной электроники, в недалёком будущем смогут стать основой достаточно производительных ARM/GPU-серверов.
Разложить по полочкам CUDA-вычисления по прикладному признаку также непросто. Например, алгоритмы распараллеливания вычислений, применяемые нынче в Большой Науке, – такие как расчёты звёздных скоплений и физики жидких потоков, предсказания погоды и климата, генетические исследования и тому подобное, уже завтра могут оказаться полезными для решения различных повседневных задач. Вроде распознавания голоса для управления автомобилем. Или сбора и оперативной обработки информации с множества автомобильных датчиков обо всех объектах и субъектах дорожного движения – автомобилях, дорожных знаках, светофорах, пешеходах, дорожном покрытии и пр., для принятия решений в реальном времени (а может быть, и движения автомобиля без активного участия водителя).
Очевидно, что с улучшением производительности и функциональности аппаратной части, по мере совершенствования алгоритмов и разнообразия программных инструментов, количество сфер применения CUDA-вычислений будет только увеличиваться. Собственно, именно этому и были посвящены многочисленные теоретические и прикладные сессии конференции GTC’13.
⇡#CUDA: диверсифицированная экосистема для параллельных вычислений
Основной задачей разработчиков программно-аппаратной платформы CUDA была, есть и останется на обозримое время оптимизация процесса программирования параллельных вычислений. Вместе с тем, оптимизация программного интерфейса и поддержка максимального числа программных языков позволит в будущем, с одной стороны, обеспечить совместимость с другими вычислительными платформами, а с другой — привлечь большее число программистов, владеющих различными наборами программного инструментария.
В дни конференции GTC’13 было официально объявлено, что список программных языков, позволяющих разрабатывать приложения для вычислений и анализа больших объемов данных с помощью модели параллельного программирования NVIDIA CUDA, отныне пополнился языком Python.
Язык с открытым кодом Python входит в десятку наиболее популярных в мире и используется более чем 3 млн пользователей. Он позволяет писать программный код высокого уровня с алгоритмами, не требующими использования большого количества команд. Библиотеки и возможности Python отлично подходят для широкого спектра научных, инженерных задач и приложений анализа больших объемов данных. Параллельное программирование NVIDIA CUDA поддерживается в NumbaPro, компиляторе Python из нового продукта Anaconda Accelerate от Continuum Analytics.
Поддержка GPU-ускорения стала результатом внедрения исходного кода компилятора CUDA в ядро и процессор параллельных расчетов компиляторной инфраструктуры с открытым кодом LLVM. Среда разработки Python от Continuum Analytics использует LLVM и пакет разработки для компиляции NVIDIA CUDA, чтобы предоставить пользователям Python возможности для создания GPU-ускоряемых приложений. Эффективная поддержка компиляции в LLVM позволяет разработчикам налету компилировать программы, написанные на таких языках, как Python, для различных архитектур.
⇡#CUDA для высокопроизводительных вычислений (HPC)
Первый суперкомпьютер на базе технологии CUDA с ускорителями NVIDIA Tesla появился в престижном мировом рейтинге Top 500 в ноябре 2008 года. В последней редакции — по состоянию на ноябрь 2012-го — в этом рейтинге числилось уже полсотни суперкомпьютеров с чипами NVIDIA. Это — подавляющая часть систем TOP500, оснащённых ускорителями или сопроцессорами (всего их 62).
За несколько лет развития технологии CUDA компании NVIDIA удалось изменить бытовавшее ранее мнение об ограниченности сфер применения архитектур GPGPU преимущественно решением академических задач, с простым алгоритмом распараллеливания. Сегодня, кроме традиционного использования для вычислений в области физики высоких энергий, астрофизики, биоинформатики и геномики, вычислительные системы на базе технологии CUDA применяются в материаловедении, метеорологии, финансах, моделировании, прикладной химии и физике, автомобильной, аэрокосмической и оборонной промышленности, при производстве фильмов и ещё в десятках других отраслей — с весьма впечатляющим экономическим эффектом. Надо отметить, что кроме последовательного совершенствования аппаратной части, NVIDIA вместе с партнёрами также постоянно совершенствует алгоритмы GPU-вычислений и инструменты программирования.
Особенность высокопроизводительных вычислительных систем с применением технологии CUDA заключается в их гибкой масштабируемости. В зависимости от потребностей предприятия или учреждения, это может быть мощный кластер c тысячами GPU, отдельная серверная стойка с несколькими графическими ускорителями и даже рабочая станция, стационарная или портативная – не суть, ведь весь спектр решений работает на базе единой микроархитектуры.
В сущности, собрать сегодня высокопроизводительный кластер с GPU-ускорителями – дело вполне стандартизированное и рутинное при наличии достаточных средств и желания, многие игроки компьютерного рынка давно имеют в своих прайс-листах широкий перечень необходимых компонентов и готовых решений. В этом плане весьма показательной была сессия представителей HPC-подразделения компании Dell, где специалисты в подробностях рассказали о критериях и принципах формирования сбалансированных по цене и производительности кластерных систем на базе GPU Tesla K20 (для таких расчётов в NVIDIA разработали специальные калькуляционные утилиты).
Другое дело – обеспечить CUDA-системам адекватную загрузку при решении промышленных прикладных задач. Раньше, на заре развития идеи GPGPU, HPC-системы использовались преимущественно для научных исследований с заведомо качественно распараллеливаемыми задачами. Сегодня, по мере совершенствования архитектуры GPU и появления качественных алгоритмов распараллеливания, сфера применения систем для высокопроизводительных вычислений значительно увеличилась и ныне охватывает многие прикладные отрасли, где ранее применялись исключительно CPU-системы. Например, в популярных приложениях ANSYS Mechanical и ANSYS Fluent выигрыш от использования GPU-ускорения достигает кратных величин.
Сегодня GPU NVIDIA Tesla всё чаще применяются для обработки больших массивов данных и сложных алгоритмов в таких областях, как поиск и анализ аудиоданных, анализ больших объемов текстовых данных и распознавание изображений. Так, популярное в Apple App Store и Google Play музыкальное приложение Shazam использует графические процессоры для быстрого поиска и распознавания музыкальных композиций из базы в более чем 27 млн треков, при этом каждый день пользователи ищут более 10 млн песен, и каждую неделю к сервису подключаются 2 млн новых пользователей.
Мониторинг более 500 млн ежедневных сообщений в Twitter компанией Salesforce.com для анализа упоминаемости различных международных брендов, продуктов и услуг: применение GPU позволило ускорить обработку данных и своевременно масштабировать объём услуг по мере разрастания Twitter и спроса на подобные услуги.
В некоторых случаях работа сложных алгоритмов визуального распознавания объектов в реальном времени по миллионам изображений просто немыслима при скромных возможностях серверного «железа». Например, мобильное приложение компании Cortexica позволяет находить и покупать товары по сделанным самостоятельно с помощью телефонов или планшетов фотографиям. Приложение само ищет в онлайновой базе доступные для продажи похожие товары. Применение GPU позволяет ускорить работу подобных биотехнологических алгоритмов в десятки раз.
⇡#CUDA для облачных вычислений и виртуализации
Корпоративный сектор, который, строго говоря, «породил» облачные вычисления, с самого начала оказался крайне восприимчивым к идеям удалённых вычислений с помощью GPU. По мере роста популярности использования личных, преимущественно мобильных устройств для удалённой работы, виртуализация стала удобным способом доступа к корпоративным данным, но, увы, не к корпоративным вычислительным ресурсам.
С появлением технологии GRID удалось решить и этот вопрос: серверы на базе NVIDIA GRID включают платы NVIDIA GRID K1 и K2, разработанные для требовательных серверных окружений, а также NVIDIA GRID VGX – полноценный набор библиотек для GPU-виртуализации, удаленной работы и управления. Кроме того, виртуализационный софт NVIDIA VGX для графических процессоров NVIDIA GRID имеет лицензию от Citrix для использования в XenDesktop, XenApp и XenServer, лицензию от VMware для vSphere и Horizon View, лицензию Microsoft для RemoteFX.
Сегодня серверные решения на базе плат NVIDIA GRID K1 и K2 предлагают многие ведущие производители, на рынке уже доступны системы PowerEdge R720 от Dell, ProLiant WS460c Gen8 и ProLiant SL250 Gen8 от HP, iDataPlex dx360 M4 от IBM. Платы NVIDIA GRID K1 оснащены четырьмя GPU Kepler и 16 Гбайт памяти, платы NVIDIA GRID K2 — двумя GPU Kepler и 8 Гбайт памяти. В дополнение, NVIDIA запустила программу сертификации и тестовый центр для ведущих OEM-производителей.
Для ускорения вывода на рынок готовых продуктов NVIDIA и Citrix разрабатывают программу верификации продуктов на GRID K1 и K2, а также на решениях Citrix XenDesktop. В свою очередь, сочетание технологии Microsoft RemoteFX в Windows Server 2012 с возможностями плат NVIDIA GRID K1 и K2 помогает запускать мультимедийные и 3D-приложения непосредственно на виртуальных рабочих столах пользователей VDI, получая ранее недоступную на обычных ПК интерактивность. Недавно представленный VMware Horizon View 5.2 добавляет ускорение графики для виртуальных пользователей настольных систем, при этом графически тяжёлые приложения могут быть безопасно доставлены из контролируемого ЦОД любой точки мира на любой тип устройств, включая мобильные.
Подобные решения нынче востребованы в самых различных отраслях промышленности. Виртуализация находит спрос в производстве, проектировании, нефтегазовой, финансовой и других областях, где удалённая клиентская платформа с мощной 3D графикой позволяет значительно снизить себестоимость рабочего места.
Разумеется, рынок облачных приложений не ограничивается бизнес- и корпоративными решениями. По данным аналитиков, уже в 2010 году сектор облачных игровых приложений только в США превысил отметку $85 млн. К 2017 году, по предварительным прогнозам (очень странным, на наш взгляд. — прим. ред.), число пользователей облачных игровых сервисов может достичь 4 млрд, а к 2018 году ожидаемый оборот этого рынка прогнозируется на уровне более $2 млрд. Многие компании уже в 2013 году планируют запуск современных игровых облачных сервисов для мобильных устройств, способных обеспечить высокое качество изображения с приличным битрейтом, что оптимально реализуется на платформах с GPU-ускорителями.
Следующий эволюционный шаг в развитии GRID-систем – анонсированное в рамках конференции первое в индустрии решение Visual Computing Appliance (VCA) для предоставления высокой производительности GPU любым удаленным пользователям на системах под Windows, Linux или Mac. С помощью NVIDIA GRID VCA компании малого и среднего бизнеса с ограниченными возможностями IT-инфраструктуры получают доступ к мощным приложениям Adobe, Autodesk или Dassault. Результаты обработки графики отправляются по сети на удалённый экран, как будто бы пользователь работает не за обычным ноутбуком или настольным ПК, а на мощной графической станции.
В аппаратном плане NVIDIA GRID VCA представляет собой систему в форм-факторе 4U, оснащённую 8 или 16 GPU NVIDIA и ПО NVIDIA GRID VGX. Это обеспечивает производительность уровня NVIDIA Quadro для максимум 8 или 16 пользователей одновременно с минимальными задержками, высоким разрешением и максимальной интерактивностью. С мая 2013 года системы GRID VCA доступны в США по цене от $24 900 плюс ежегодная неограниченная лицензия на программное обеспечение за $2 400.
⇡#CUDA в реальной жизни современной промышленности
В рамках конференции GTC’13 прошло немало сессий, где докладчики рассказывали о пользе CUDA-вычислений на конкретных примерах из жизни. Разумеется, некоторая часть докладов была посвящена перспективным научным разработкам – вроде исследования распространения радиоволн в океанских глубинах, раскрытия тайн ДНК, построения моделей галактик и тому подобного. Но обманывать не стану, гораздо интереснее было послушать о прикладных проектах, благодаря которым движется индустрия и производство.
Чего греха таить, суперкомпьютеров и мощных кластеров для научных вычислений даже в России уже великое множество. Есть вполне реальные примеры того, как все эти невероятные мощности используются для вполне конкретных задач, но всегда хочется сравнить с тем, что же происходит сегодня в мире.
В рамках конференции были представлены многочисленные презентации с практическими примерами использования GPU для ускорения разработки фотореалистичного окружения в современных играх, а также для пост-обработки и создания эффектов в киноиндустрии. Собственно, это те самые области, где позиции NVIDIA были сильны изначально, и где сейчас происходит совершенствование и оттачивание хорошо зарекомендовавших себя технологий наряду с внедрением новых прогрессивных идей вроде лучевой трассировки и HFR.
В выступлении представителей школы фармацевтики и фармацевтических наук из Кардиффа, Великобритания (Cardiff School of Pharmacy and Pharmaceutical Sciences) прозвучали интересные результаты использования GPU для ускорения интерактивных вычислений при создании новых лекарств.
Исследователи из немецкого университета Геттингена с кафедры биофизики (BiomedNMR Forschungs GmbH at the MPI for biophysical Chemistry) совместно с разработчиками кафедры компьютерных наук из университета Калифорнии в Беркли (Electrical Engineering and Computer Sciences, University of California, Berkeley) поделились новыми успехами в разработке магнитно-резонансной томографии (МРТ) следующего поколения. Речь идёт не о снимках, а о видео в реальном времени!
Ещё одна задача, остающаяся невероятно сложной во все времена: расчёт эффективности антенн и влияния электромагнитного излучения на живые организмы. И здесь применение технологии CUDA позволило добиться значительного ускорения процесса.
А как вам применение GPU в банковской сфере? Скриншот ниже подтверждает, что CUDA уже взята на вооружение мощнейшими финансовыми институтами планеты.
Совершенно неожиданный пример: GPU-вычисления добрались даже до огромного $71-млрд рынка алмазов! Оказывается, применение GPU-технологий в технологическом процессе позволяет значительно сократить сроки огранки алмазов при одновременном повышении выхода качественной продукции.
Особенно впечатлила презентация компании Boeing: десятки сложных задач, неотъемлемой частью которых является процесс визуализации. Как пошутили на презентации представители компании, «Boeing производит террор-байты данных» (Boeing generates terror-bytes of data), и, судя по приведённым фактам, это сущая правда.
Специфические вычислительные задачи авиастроения требуют анализа и обработки чрезвычайно сложных систем с бесконечным количеством комплектующих, невероятной сложности моделирования и анализа, комплексной обработки не геометрических данных. Для достижения мало-мальски интерактивной скорости обработки таких огромных массивов данных требуются очень мощные системы визуализации.
Особенно убедительным выглядел пример о мерах, предпринимаемых Boeing для предотвращения столкновений самолётов с птицами и для снижения вероятного ущерба от таких столкновений. Оказывается, даже такую, казалось бы, совершенно не предсказуемую и не структурируемую задачу, где приходится учитывать статистические данные о направлении, высоте, скорости и сезонности птичьих миграций, характере и силе столкновений, можно решать с помощью современных способов анализа и визуализации, улучшая конструкцию самолётов и одновременно подготавливая рекомендации для практической их эксплуатации.
Подробности о способах визуализации, применявшихся в процессе проектирования и испытаний флагманской модели компании, Boeing 787 Dreamliner, и вовсе выглядят как нечто фантастически запредельное. Именно в такие моменты начинаешь во всей мере осознавать величие тех вершин, которые покорил человеческий разум.
И в завершение нашего небольшого индустриального экскурса, за рамками которого остались десятки не менее интересных примеров, упомяну крупнейшего мирового производителя спортивной одежды, компанию Nike: оказывается, даже в разработке кроссовок есть доля труда GPU-ускорителей.
⇡#Конференция GTC’13: интересные экспонаты выставки
А теперь предлагаем вашему вниманию несколько фотографий с выставки, организованной компанией NVIDIA и её многочисленными партнёрами в рамках конференции GTC’13.
В кратком репортаже всё равно не передать размаха и атмосферы многочисленных стендов, где были выставлены научные экспонаты, экспериментальные разработки, серверные компоненты, узлы графических рабочих станций, готовые решения под ключ, и даже… несколько автомобилей.
Надеемся, вам понравился наш репортаж о событиях конференции NVIDIA GTC 2013 года. На будущее хотелось бы услышать отзывы наших постоянных читателей о подробностях, которые они хотели бы видеть в будущих репортажах подобного плана. Увидимся!