
- •Аннотация
- •Оглавление
- •Введение
- •1. Графические ускорители – как эффективный путь повышения производительности вычислительных архитектур
- •1.1. Этапы развития графических ускорителей и их устройство
- •1.1.1. Основная терминология и устройство графического адаптера
- •1.1.2. Архитектура современныхGpu
- •1.2. Подход к использованию графических ускорителей для вычислений общего назначения
- •1.2.1.GpgpUподход
- •1.2.2. Гибридные вычислительные системы
- •1.2.3. Программная модельCuda
- •1.3.OpenAcc. Новейший стандарт разработкиGpgpu-приложений
- •1.3.1. Возможности стандарта
- •1.3.2. Модель выполнения
- •1.3.3. Модель памяти
- •1.4. Выводы по разделу 1
- •2. Постановка задачи магистерской диссертации
- •2.1. Цели и задачи исследования
- •2.2. Математическая постановка задачи решения трехдиагональной системы линейных уравнений методом блочной прогонки
- •2.3. Разработка параллельного алгоритма для решения трехдиагональной системы линейных уравнений
- •2.4. Выводы по разделу 2
- •3. Реализация и исследование разработанного алгоритма
- •3.1. Структура параллельной программы и особенности реализации
- •3.2. Результаты тестирования
- •3.3. Анализ результатов
- •3.4. Выводы по разделу 3
- •Заключение
- •Список использованных источников
- •Приложение 1. История развития графических ускорителей и их устройство
- •1.1. Устройство графического адаптера
- •1.2. Рынок графических адаптеров
- •1.3. АрхитектураGpugt200
- •1.4. Современное положение дел
- •Приложение 2. Основная часть программного кода разработанного приложения
1.2.2. Гибридные вычислительные системы
Недавние разработки ведущих производителей микросхем, таких как NVIDIA, со всей очевидностью показали, что будущие крупные высокопроизводительные вычислительные системы будут гибридными (гетерогенными). В их основу будут положены компоненты двух основных типов в разных пропорциях:
многоядерные центральные процессоры: количество ядер будет и дальше возрастать из-за желания поместить все больше компонентов на один кристалл, не упираясь в барьер мощности, памяти и параллелизма на уровне команд;
специализированное оборудование и массивно-параллельные ускорители: например, GPU от NVIDIA в последние годы превзошли стандартные CPU в производительности вычислений с плавающей точкой, и программировать их стало проще.
Каким будет соотношение между этими компонентами в будущих проектах, пока не ясно, и со временем оно, скорее всего, будет меняться. Но не вызывает сомнений, что вычислительные системы нового поколения - от ноутбуков до суперкомпьютеров - будут состоять из гетерогенных компонентов. Именно такая система преодолела барьер в один петафлоп (1015операций с плавающей точкой в секунду).
И тем не менее задачи, с которыми сталкиваются разработчики, вступающие в новый мир гибридных систем, все еще весьма сложны. Критическим частям программной инфраструктуры уже очень трудно поспевать за изменениями. В некоторых случаях производительность не масштабируется с увеличением числа ядер, потому что все большая доля времени тратится не на вычисления, а на перемещение данных. В других случаях разработка программ, оптимизированных для достижения максимального быстродействия, завершается спустя годы после выхода на рынок оборудования, и потому они оказываются устаревшими уже в момент поставки. А иногда, как в случае последних моделей GPU, программа вообще перестает работать, так как окружение изменилось слишком сильно. В этой разделе рассмотрим, как изменилась индустрия высокопроизводительных вычислений с точки зрения гибридного подхода, а о том, что из себя представляет современная программная модель гибридных систем будет рассмотрено в следующих разделах.
По состоянию на ноябрь 2013 года в списке TOP500 [4] самых мощных суперкомпьютеров в 53 системах из 500 применяются графические ускорители; в 39 системах из 53 используются графические ускорители NVIDIA. Динамику изменения числа гибридных систем в спискеTOP500 можно изучить на графике на рисунке 1.4.
На рис. 1.4 видно доминирование систем, использующих графические ускорители NVIDIAсреди всех гибридных систем. Это связано с постоянным совершенствованием архитектурыCUDA, популяризациейGPGPUподхода и высоким темпом роста производительностиGPU.
Рисунок 1.4. Изменение числа гибридных систем в списке TOP500
На рис. 1.4. заметно появление в последние годы многообещающих графических ускорителей компании Intelпод названиемXeonPhi. Это связано с желаниемIntelпредставить достойного конкурентаGPUотNVIDIAи тем самым присутствовать на рынке графических ускорителей для суперкомпьютеров. Более того,Intelне собирается находиться в тениNVIDIAв этом сегменте, планыIntelвключают захват большей доли рынка, дальнейшего роста популярности своей продукции, которая начинает приобретать всё более широкую поддержку со стороны разработчиков, благодаря архитектуреx86. УскорителиXeonPhiпостроены на архитектуреIntelMIC(ManyIntegratedCore), в основе которой лежит архитектураx86. Для программированияMICпредлагается использоватьOpenCL, специализированные компиляторыIntelFortranиIntelC++.
Лидером рейтинга TOP500 [4] в ноябре в 2012 года стал суперкомпьютерTitanкомпанииCray(располагается в Национальной лаборатории Оук-Ридж, Теннесси), построенный на платформеCrayXK7, в которой используются ускорителиNVIDIAK20xсерииTeslaс 2688 ядрамиCUDA. Всего в системе 18688 вычислительных узла, в каждом узле – 16-ядерный процессор AMD Opteron 6274 и один ускоритель. Вычислительные узлы объединяются по 8 штук в блоки и далее соединяются в отдельно стоящие модули при помощи сетевого интерфейсаGemini Interconnect. В модулях применяется система водяного охлаждения. По разным оценкам ускорители NVIDIA обеспечивают порядка 85% – 90% всей вычислительной мощности. Отказ от них в пользу наращивания числа процессоров потребовал бы увеличения занимаемой площади примерно в 4 раза и во столько же увеличил бы энергопотребление.Производительность суперкомпьютера, полученная в тестеLinpack– 17590 ТФлопс, теоретическая пиковая производительность – 27112 ТФлопс (~27 ПФлопс).
В 2013 году лидером рейтинга стал китайский Tianhe-2 (MilkyWay-2), в котором установлены внушительные 48000 ускорителей IntelXeonPhi31S1P. Производительность такого суперкомпьютера, полученная в тестеLinpack– 33862 ТФлопс, теоретическая пиковая производительность – 54902 ТФлопс (~55 ПФлопс). Tianhe-2 сделал большой шаг в плане увеличения мощности, опередив ближайшего преследователя в 2 раза.
Всеобщая тенденция экономии электрической энергии не обошла стороной и производителей суперкомпьютеров. Два раза в год публикуется рейтинг самых энергоэффективных суперкомпьютеров мира Green500, в котором главным параметром является соотношение количества МФлопс на Ватт потребляемой энергии. В ноябре 2013 года [5] впервые в истории публикации списка вся первая десятка лидирующих систем без исключения построена на графических ускорителях NVIDIA Tesla. Самым энергоэффективным суперкомпьютером в мире стала система Tsubame-KFC с рекордным показателем 4503 МФлопс/Вт, созданная в Токийском технологическом институте. Система Wilkes из Кембриджского университета занимает в рейтинге вторую строчку с 3631 МФлопс/Вт и отстаёт от лидера почти на четверть.
Важно отметить, что в предыдущем летнем рейтинге Green500 в десятку лучших входили лишь две системы с графическими ускорителями NVIDIA. Таким образом, основной причиной роста популярности решений NVIDIA можно считать начало широкого внедрения ускорителей NVIDIA Tesla с новой микроархитектурой Kepler (GK110), которые значительно превосходят по производительности и втрое экономичнее предшественников на базе архитектуры Fermi (GF100).
CrayTitanявляется одним из самых энергоэффективных суперкомпьютеров из числа лидеров рейтингаTOP500. В рейтингеGreen500 в 2013 году он занимает 35 место с показателем 2142 МФлопс/Вт. В 2012 году он занимал 3 место, т.к. суперкомпьютеры на базе платформыCrayXK7 (TitanиTodi) были первыми, в которых применялись ускорителиNVIDIATeslaс микроархитектуройKepler, ещё до их массового появления на рынке.