Tesla

  • CUDA И ВЫЧИСЛЕНИЯ НА GPU
  • ПРИЛОЖЕНИЯ ДЛЯ ВЫЧИСЛЕНИЙ НА GPU
  • GPU ДЛЯ СЕРВЕРОВ И РАБОЧИХ СТАНЦИЙ
Что такое вычисления на GPU?
Divider

Вычисления с GPU-ускорением кардинально меняют высокопроизводительные вычисления (HPC)

 

Ускоренные вычисления кардинально меняют высокопроизводительные вычисления (HPC). Широко известно, что системы с графическими ускорителями обеспечивают самые высокопроизводительные и энергоэффективные вычисления для HPC на сегодняшний день. Недавний анонс суперкомпьютеров Summit и Sierra Министерства энергетики США демонстрирует, насколько важны графические ускорители в погоне за эксафлопными вычислениями.

CUDA и OpenACC:

Пройти бесплатный
онлайн-курс по CUDA.

Мы бы хотели рассказать о некоторых фактах, которые необходимо знать при выборе решений для ускоренных вычислений, и развеять мифы и рекламные трюки. В особенности, замечания о том, что ускоритель Intel Xeon Phi может обеспечить соответствующее ускорение приложений по сравнению с GPU методом простой перекомпиляции и воспроизведения кода исходно на Xeon Phi, или что оптимизация производительности на Xeon Phi проще, чем на GPU. Эти утверждения не основаны на реальных фактах.

 
 
ФАКТ: GPU значительно быстрее Intel Xeon Phi в приложениях для HPC.
Ускорение времени получения результатов в ключевых научных приложениях в 2 раза превышает Xeon Phi.
 
NVIDIA GPU до 4-х раз быстрее, чем  Xeon Phi

В области HPC все решает производительность приложений, и GPU давно доказали, что обеспечивают более высокую производительность, чем CPU. В приложениях с различными нагрузками по обработке данных, которые приведены в таблице выше, GPU обеспечивают ускорение от 2,5 до 7 раз по сравнению с CPU. И хотя Intel Xeon Phi можно оптимизировать для выполнения работы быстрее, чем CPU, производительность GPU в среднем превышает производительность сопроцессоров Knights Corner от 2 до 5 раз.

Организация Приложение Ускорение GPU по сравнению с Xeon Phi
Tokyo Institute of Technology Расчет диффузии в ВГД в 2,6 раз
Xcelerit Ценообразование свопов с
использованием метода Монте-Карло
в 2,2-4 раза
Georgia Tech Радиолокатор синтезированной апертуры В 2,1 раза
CGGVeritas Обратная временная миграция в 2 раза
Paralution BLAS & SpMV в 2 раза
Висконсинский университет в Мэдисоне WRF (прогнозирование погоды) в 1,8 раза
Университет Элрангена-Нюрнберга Медицинская визуализация – Ускорение реконструкции 3D изображений в 7 раза
Делфтский технический университет Поиск новых лекарств в 3 раза
Независимые результаты показали, что GPU превосходит Xeon Phi по скорости работы в 2 раза и более.(Обновленов январе 2014 года)
На сегодняшний день почти все приложения в широком спектре областей получили ускорение на GPU.
ФАКТ: Перекомпиляция и запуск на Xeon Phi в действительности
           замедляют работу вашего приложения.
Заявление, что разработчики могут просто «перекомпилировать и запустить» приложение на Intel Xeon Phi, не меняя код CPU. Звучит заманчиво, но не является правдой. Полученная производительность обычно намного ниже той, которую обеспечивает CPU, буквально противоположна ускорению.
Перекомпиляция и запуск на Xeon Phi снижает производительность приложения
Простая перекомпиляция и запуск на Xeon Phi работают (иногда), но коды воспроизводятся значительно медленнее, чем на CPU. Подробнее о системе, конфигурации2

 
Хотя простая перекомпиляция для запуска исходно на Phi может работать на многих кодах, это снижает производительность приложения по сравнению с CPU, в некоторых случаях до 5 раз, как показано выше.

«Перекомпиляция и запуск» сталкиваются с большим числом технических проблем, описанных в блоге “No Free Lunch”, включая закон Амдала о последовательных фрагментах кода. Из-за плохой последовательной производительности ядер Xeon Phi (что вызвано старым дизайном Pentium) по сравнению с современными ядрами CPU, последовательные фрагменты кода, запущенные на Xeon Phi, могут работать значительно медленнее.

На практике разработчик должен сначала перекомпилировать код на Xeon Phi, а затем попытаться реорганизовать и оптимизировать код, чтобы увеличить производительность до уровня CPU.

В конце рабочего дня довольно сложно выявить параллелизм, неважно, хотите ли вы добиться ускорения на Xeon Phi или GPU. В лучшем случае, перекомпиляция и запуск – это первый шаг разработчиков, в худшем – привлекательное предложение, которое приведет к разочарованию.
ФАКТ: Программирование для GPU и Xeon Phi требует одинаковых усилий,
           однако результаты значительно лучше на GPU.
Одинаковые техники оптимизации. Одинаковые усилия. Двукратное ускорение на GPU по сравнению с Xeon Phi.
Method GPU Phi
Libraries CUDA Libraries + others Intel MKL + others
Directives OpenACC OpenMP + Phi Directives
Native Programming Models CUDA Vector Intrinsics
Разработчики используют библиотеки, директивы или расширения языка для программирования ускорителей и оптимизации производительности.

GPU и Intel Xeon Phi могут во многом различаться, но в одном они похожи: они оба являются параллельными процессорами. Разработчикам необходимо приложить равные усилия и использовать одинаковые техники оптимизации, чтобы выявить параллелизм как на Xeon Phi, так и на GPU.

Как показано в таблице выше, разработчик использует три одинаковых способа для ускорения кода: библиотеки, директивы и расширения языка, например, CUDA C для GPU или векторные встроенные средства на Xeon Phi.

Работа по программированию для Xeon Phi и GPU занимает одинаково много времени, чем считает большинство людей.

Ниже программный код ядра N-частицы иллюстрирует, что для оптимизации обоих ускорителей требуются сопоставимые техники оптимизации и усилия. В то время, как изменения в коде практически одинаковы, производительность GPU значительно опережает Xeon Phi. Скачать пример оптимизации.
 
Tesla K20 GPU в 11 раз быстрее, чем Xeon Phi
Простое сравнение кода n-частицы показало, что для оптимизации необходимо использовать одинаковые техники, но производительность GPU намного выше. Подробнее о системе, конфигурации3
 
 
 

«Вы можете легко портировать коды, но то, что вы делаете в CUDA для векторизации кода, все еще нужно сделать для Phi».

Доктор Карл Шульц (Dr. Karl Schultz)
Руководитель отдела научных приложений в Суперкомпьютерном центре при Техасском университете (TACC)
Источник: HPCWire, 17 мая, 2013

«Наши GPU коды очень похожи на Xeon Phi коды, кроме замены SIMD операций на SIMT операции».

Источник: “Swendsen-Wang Multi-Cluster Algorithm for the 2D/3D Ising Model on Xeon Phi and GPU”, Институт в Берлине (ZuseInstitute Berlin)

 

«Результаты, полученные на Intel Xeon Phi были на удивление разочаровывающими… Потребовалось приложить некоторые усилия, чтобы создать решения с хорошей производительностью из-за векторизационной настройки, несмотря на то что про Xeon Phi говорят, что его легко программировать».

"Хотя запускать программу на Xeon Phi очень просто, я обнаружил, что добиться стабильно высокой производительности приложений, основанных на методе решеточных уравнений Больцмана, проще с CUDA и графическими процессорами NVIDIA."

Доктор Себастьяно Фабио Шифано (Dr. Sebastiano Fabio Schifano), кафедра математики и информатики, Университет Феррары.

Узнав об этих фактах, у вас сформируется лучшее понимание об ускоренных вычислениях. На сегодняшний день GPU обеспечивает двукратное увеличение производительности при практически одинаковых усилиях разработчиков. Графические процессоры являются логическим правильным выбором для ускорения параллельного кода. Возможно, именно поэтому научные исследователи опубликовали в этом году в 10 раз больше данных, полученных на GPU, чем на Intel Xeon Phi.4 И вот почему в современных HPC системах NVIDIA GPU в 20 раз более предпочтительны, чем Xeon Phi.5

 

Конфигурации бенчмарка:
AMBER: SPFP-Cellulose_production_NPT, 1х E5-2697v2 + Xeon Phi 7120P, 1x E5-2697v2 с тактовой частотой 2,7 ГГц + Tesla K40.
MiniMD: KokkosArray- LJ forces, 864 тысяч атомов, операции с двойной точностью, 2x Xeon E5-2667 + Xeon Phi 7120, 2x Xeon E5-2667 + Tesla K40.
Генератор случайных чисел в основе метода Монте-Карло: Ценообразование европейских опционов, 2 процессора Intel® Xeon® E5-2697 v3 + Tesla K40 GPU, Intel предоставил результаты производительности Xeon Phi на своем сайте.
tHogbomClean: 2x Xeon E5-2697 v2 + Xeon Phi 7120, 2x Xeon E5-2697 v2 + Tesla K40c.
Биноминальные модели опционов: 2 процессора Intel® Xeon® E5-2697 v3 + Tesla K40 GPU, Intel предоставил результаты производительности Xeon Phi на своем сайте.
NAMD: APOA1, 2x Xeon E5-2697v2 + Xeon Phi 7120, 2x Xeon E5-2697v2 +Tesla K40.
STAC-A2: 2x E5-2699v3 CPUs + Xeon Phi 7120A, 2x Intel Xeon E5-2690v2 + Tesla K80.

 
 
CUDA и вычисления на GPU

Что такое вычисления на GPU?
Факты о вычислениях на GPU
Программирование GPU
Архитектура Kepler GPU
Облачные вычисления на GPU

Что такое CUDA?
CUDA в действии
CUDA Альманах
CUDA и OpenACC:
Бесплатный Онлайн курс

Обучение CUDA
Центры повышения
квалификации CUDA

Исследовательские центры CUDA
Центры обучения CUDA

Приложения для
вычислений на GPU

Приложения для вычислений
на Tesla GPU

Примеры применения Tesla
Директивы OpenACC
Тест-драйв Tesla GPU

Tesla GPU для серверов
и рабочих станций

Почему Tesla
Решения Tesla для серверов
Решения Tesla для рабочих станций
Встраиваемая платформа разработок
Купить Tesla GPU

Новости и
информация о Tesla

Истории успеха Tesla
Литература о продукте
Средства программного
обеспечения Tesla

Программные средства
разработки Tesla

Вебинары на русском языке
NVIDIA Research
Уведомления о новостях Tesla

Мы в социальных сетях

VKontakte VKontakte

YouTube YouTube

Twitter Twitter

Instagram Instagram

NVIDIA Blog Блог NVIDIA