CUDA альманах°льманах-Apr-2014... · nvidia представляет первый...

24
CUDA © альманах апрель 2014

Transcript of CUDA альманах°льманах-Apr-2014... · nvidia представляет первый...

Page 1: CUDA альманах°льманах-Apr-2014... · nvidia представляет первый мобильный суперкомпьютер для встраиваемых систем

CUDA© альманахапрель 2014

Page 2: CUDA альманах°льманах-Apr-2014... · nvidia представляет первый мобильный суперкомпьютер для встраиваемых систем

2CUDA АльмАнАх / Апрель 2014

Содержание

Что такое CUDA альманах? 3

новоСти NVIDIA CUDA 4Ежегодный грант в 150 000 $ для университетов и разработчиков по всему миру 4

Конференция для молодежи «Высокопроизводительные вычисления на графических процессорах – 2014». 2–6 июня, Пермь 5

ImageNet проводит конкурс алгоритмов по распознованию объектов 6

Финальная версия CUDA 6 теперь доступна 7

Главные анонсы GTC 2014 8

NVIDIA представляет первый мобильный суперкомпьютер для встраиваемых систем 9

предложения от NVIDIA 10Вебинары на английском языке 10

CUDA и OpenACC – бесплатный онлайн курс 11

Ускоряйте ваши научные приложения с OpenACC 12

Проведите тест-драйв ускорителя Tesla K20/K40 GPU 13

науЧные работы С иСпользованием выЧиСлений на CUDA 14

Реализация алгоритма SSSP на GPU // Александр Колганов 14

Реализация алгоритма BFS на GPU // Александр Колганов 16

Защита информации: высокопроизводительные алгоритмы генерации простых чисел с применением кольцевой факторизации // В.А. Минаев, Н.П. Васильев, В.В. Лукьянов, С.А. Никонов, Д.В. Никеров 17

Способ алгоритмической оптимизации вычислений значений односторонней хэш-функции MD4 на графических ускорителях // В.А. Новосядлый, К.Д. Майзаков, Д.А. Эдель 18

GPU для решения СЛАУ: ускорение инженерных расчетов // Б. И. Краснопольский, А. В. Медведев 19

Программный комплекс нового уровня по расчету системы тягового электроснабжения постоянного тока // В. А. Гречишников 20

ваканСии CUDA 22

контакты и полезные ССылки 24

Page 3: CUDA альманах°льманах-Apr-2014... · nvidia представляет первый мобильный суперкомпьютер для встраиваемых систем

3CUDA АльмАнАх / Апрель 2014

Что такое CUDA альманах?

CUDA АЛЬМАНАХ — это периодическое издание от NVIDIA, содержащее научные работы, в которых используется архитектура паралельных вычислений CUDA.

CUDA используется в различных областях, включая обработку видео и изображений, вычислительную биологию и химию, моделирование динамики жидкостей, восстановление изображений, полученных путем компьютерной томографии, сейсмический анализ, трассировку лучей и многое другое.

Приложения, базирующиеся на архитектуре CUDA, можно разрабатывать на различных языках и API, включая C, C++, Fortran, OpenCL и directCompute. Архитектура CUDA подразумевает сотни ядер, способных исполнять тысячи параллельных потоков, а модель программирования CUDA позволяет программистам сосредоточиться на распараллеливании своих алгоритмов.

Архитектура CUDA текущего поколения под названием Kepler  — это самая передовая архитектура вычислений на GPU. Построенные на свыше семи миллиардов транзисторах, GPU Kepler делают универсальными вычисления на GPU и CPU для широкого спектра вычислительных приложений. Поддержка C++ упрощает разработку ПО для параллельных вычислений и повышает производительность широчайшего спектра приложений.

Всего за несколько лет вокруг архитектуры CUDA возникла целая экосистема программного обеспечения — от различных языковых решений до широкого спектра библиотек, компиляторов и связующего ПО, которые помогают пользователям оптимизировать приложения для GPU. Разнообразие оптимизированных программных средств ускоряет научные открытия и расчет моделей во многих областях, включая математику, бионауки и производство.

Подробнее

Архитектура параллельных вычислений CUDA с комбинацией ПО и аппаратной части.

библиотеки и промежуточное по

архитектура параллельных выЧиСлений CUDA на NVIDIA GPU

приложения иСпользуЮЩие GPU

C

C++

FortrAN

Direct

Compute

Java andPhythonInterface

openCL

языковые решения API на уровне устройств

Page 4: CUDA альманах°льманах-Apr-2014... · nvidia представляет первый мобильный суперкомпьютер для встраиваемых систем

4CUDA АльмАнАх / Апрель 2014

новости NVIDIA CUDA

ежегодный грант в 150 000 $ для универСитетов и разработЧиков по вСему миру

На GTC NVIDIA представила Глобальную премию – ежегодный грант в размере 150 000 долларов для поддержки инноваций в области «Социальные и гуманитарные проблемы мира».

Получить эту сумму может университет или независимый разработчик, использующий технологии NVIDIA для достижения важных результатов в областях: исследование заболеваний, разработка лекарств и развитие медицинской визуализации, энергоэффективность, реагирование на стихийные бедствия, кибер-безопасность и др.

Принять участие в программе могут университеты, разработчкики и некоммерческие организации со всего мира. Технологии NVIDIA должны играть существенную роль в проекте. Также будут рассмотрены несколько проектов из одного и того же университета или организации.

Подать заявку и узнать подробнее о программе

Page 5: CUDA альманах°льманах-Apr-2014... · nvidia представляет первый мобильный суперкомпьютер для встраиваемых систем

5CUDA АльмАнАх / Апрель 2014

С 2 июня по 6 июня 2014 г. в Перми на базе Пермского государственного национального исследовательского университета будет проходить II всероссийская научно-практическая конференция с международным участием с элементами научной школы для молодежи «высокопроизводительные вычисления на графических процессорах – 2014», сокращенно – ВВГП-2014. Название на английском языке – The 2nd All-Russian Research and Practice Conference “High-Performance Computing on GPUs-2014” with International Participation and Young Scientists School, сокращенно GPU-HPC-2014. Конференция призвана стимулировать апробацию передовых научно-практических результатов в области высокопроизводительных вычислений, обмен идеями и практический опытом между российскими и зарубежными учеными, представителями научной и производственной среды, способствовать налаживанию научно-технического сотрудничества, служить источником информации о современном уровне технологий и научной исследований в области организации и применения высокопроизводительных вычислений (HPC) на графических процессорах (GPU).

Будет опубликован сборник материалов докладов. Лучшие доклады по итогам конференции будут рекомендованы к публикации в форме научных статей в научных журналах, индексируемых РИНЦ, в т.ч. из перечня ВАК.

Тематика конференции охватывает основные направления развития проблематики в области организации и применения высокопроизводительных вычислений (HPC) на графических процессорах (GPU), в т.ч.

1. Вычислительные системы с гетерогенной архитектурой: создание, тестирование, администрирование и эксплуатация.

2. Программирование для вычислительных систем с графическими процессорами: средства и технологии разработки многопоточных программ, системное и промежуточные программное обеспечение.

3. Гетерогенные вычисления с применением графических процессоров: прикладное программное обеспечение и библиотеки подпрограмм, масштабируемость параллельных алгоритмов и программ.

4. Применение высокопроизводительных вычислений в задачах: математики, механики и информатики; физики и астрономии; химии и наук о материалах; биологии и медицинских наук; наук о Земле, экономике и др.

конференция для молодежи «выСокопроизводительные выЧиСления на графиЧеСких процеССорах – 2014». 2–6 иЮня, пермь

Page 6: CUDA альманах°льманах-Apr-2014... · nvidia представляет первый мобильный суперкомпьютер для встраиваемых систем

6CUDA АльмАнАх / Апрель 2014

ImAGeNet проводит конкурС алгоритмов по раСпознованиЮ объектов

ImageNet ежегодно проводит конкурс по оцениванию алгоритмов для обнаружения объектов и классификации изображений в больших масштабах.

Подробнее

Page 7: CUDA альманах°льманах-Apr-2014... · nvidia представляет первый мобильный суперкомпьютер для встраиваемых систем

7CUDA АльмАнАх / Апрель 2014

финальная верСия CUDA 6 теперь доСтупна

В дополнение к инструментам CUDA 6, доступной бесплатно для скачивания на сайте, мы предлагаем всем интересующимся программированием GPU подборку сессий и обучающих курсов с конференции GPU Technology Conference 2014.

• “CUDA 6 and Beyond” – Mark Harris, ведущий специалист NVIDIA по направлению GPU Computing, подробно и глубоко рассказывает о особенностях новой версии CUDA, включая ее главные нововведения - Unified Memory и Drop-in Libraries, упрощающие программирование GPU.

Также всем интересующимся особенностями CUDA 6, мы рекомендуем пост “5 Powerful New Features in CUDA 6”.

• “An Introduction to CUDA Programming” – Chris Mason из Acceleware, компании, которая занимается тренингами и консультациями по параллельным вычислениям в нефтегазовой промышленности и проектировании, рассказывает об основах CUDA для начинающих.

• “Fast, Parallel Algorithms for Computer Vision and machine Learning with GPUs” – Ускорение следующего поколения приложений компьютерного зрения и машинного обучения – новый фронт использования CUDA и графических процессоров. Umar Arshad из ArrayFire делится с разработчиками лучшими практиками и примерами использования параллельных вычислений в популярных алгоритмах компьютерного зрения и машинного обучения.

• mobile GPU Compute with tegra K1 – Amit Rao и Mark Ebersole из NVIDIA рассказывают в деталях о разработке продвинутых мобильных приложений, способных воспользоваться всеми преимуществами высокопроизводительного процессора Tegra K1. Данная сессия включает также обзор GPU-ускоряемых API для программирования процессора Tegra и примеры кодов.

Это только небольшая часть сессий и брифингов по темам, связанным с CUDA, которые происходили на GTC. Уже сейчас на сайте конференции доступна часть материалов. Остальные презентации и записи выступлений будут доступны позже.

Page 8: CUDA альманах°льманах-Apr-2014... · nvidia представляет первый мобильный суперкомпьютер для встраиваемых систем

8CUDA АльмАнАх / Апрель 2014

главные анонСы GtC 2014

Беспилотные автомобили Audi. Компьютерное зрение и искусственный интеллект, который управляет web-сайтами. Графические карты с производительностью дата-центра. Новый интерфейс передачи данных между CPU и GPU. Первый мобильный суперкомпьютер. В пятый раз в калифорнийском Сан-Хосе прошла конференция NVIDIA по GPU-технологиям.

Краткий обзор главных анонсов NVIDIA

3D News:

«Фокус конференции в этом году полностью сместился из области графики к параллельным вычислениям средствами GPU. Четыре главных продукта, которые были анонсированы в презентации Дженсена Хуанга (архитектура Pascal, GeForce GTX TITAN Z, платформа Jetson TK1 и установка Iray VCA), так или иначе предназначены для вычислительных задач в не меньшей степени, чем для 3D-рендеринга. Даже Pascal был представлен в форме модуля для корпоративных систем, а TITAN Z, как и его предшественники в семействе TITAN, позиционируется как «просьюмерский» графический адаптер, отличительной чертой которого является поддержка вычислений двойной точности.

Благодаря SoC Tegra K1 архитектура Kepler, а следовательно — API CUDA, распространилась во всей линейке устройств, которые выпускает NVIDIA. … появление K1 по меньшей мере подготовило плацдарм для вторжения NVIDIA в другую область — встраиваемые системы, где на базе параллельных вычислений реализуются функции машинного зрения, дополненной реальности и прочие некогда абсолютно фантастические инициативы.

С чисто технологической точки зрения не менее значим другой анонс — архитектура Pascal, а именно одна из ее особенностей — высокоскоростная шина NVLink для коммуникации между GPU и CPU. Презентация проприетарного аппаратного интерфейса — довольно дерзкий ход со стороны NVIDIA, но нельзя не приветствовать его как средство дальнейшей интеграции центрального и графического процессоров».

Page 9: CUDA альманах°льманах-Apr-2014... · nvidia представляет первый мобильный суперкомпьютер для встраиваемых систем

9CUDA АльмАнАх / Апрель 2014

NVIDIA предСтавляет первый мобильный СуперкомпьЮтер для вСтраиваемых СиСтем

NVIDIA открывает дверь в мир приложений нового поколения, использующих машинное зрение, обработку изображений и данных в реальном времени, с представлением платформы для разработчиков на базе первого в мире мобильного суперкомпьютера для встраиваемых систем.

Платформа NVIDIA® Jetson™ TK1 предоставляет разработчикам инструменты для создания систем и приложений, которые обеспечат роботам плавное управление, позволят врачам проводить мобильное УЗИ, беспилотникам избегать движущихся объектов, а автомобилям определять пешеходов.

С несравненной производительностью в 326 гигафлопс, что почти втрое выше, чем у аналогичного класса встраиваемых платформ, набор инструментов разработчика Jetson TK1 включает полноценный набор для C/C++ на базе архитектуры NVIDIA CUDA®, самой популярной платформы и модели программирования параллельных вычислений. Представленная платформа намного упрощает разработку приложений по сравнению с процессорами FPGA, ASIC и DSP, широко используемыми в сегодняшних встраиваемых системах.

Page 10: CUDA альманах°льманах-Apr-2014... · nvidia представляет первый мобильный суперкомпьютер для встраиваемых систем

10CUDA АльмАнАх / Апрель 2014

Предложения от NVIDIA

вебинары на английСком языке

1 мая. CUDA 6 - Unified Memory.

13 мая. Overview of AMBER 14.

14 мая. CUDA 6 - Performance Overview.

28 мая. An Introduction to CUDA Programming.

3 июня. Next Steps for Folding@home.

16 июля. GPU Architecture & The CUDA Memory Model.

Page 11: CUDA альманах°льманах-Apr-2014... · nvidia представляет первый мобильный суперкомпьютер для встраиваемых систем

11CUDA АльмАнАх / Апрель 2014

CUDA и oPeNACC – беСплатный онлайн курС

NVIDIA предлагает вам пройти бесплатные online курсы по программированию массивно-параллельных процессоров. Пройдя предлагаемый курс, вы получите широкий спектр практических навыков, которые позволят Вам к концу занятий овладеть основами программирования современных графических процессоров (GPU) NVIDIA, а также ознакомитесь с директивным программированием GPU ускорителей (стандарт OpenACC) и особенностями использования нескольких GPU видеокарт для решения Ваших задач. Тем, кто продемонстрирует высокие показатели при прохождении заданий курса, предлагается также бесплатная сертификация по программированию GPU, поддерживающих технологию CUDA в учебном центре Applied Parallel Computing.

краткое Содержание курСа:

лекция 1. Введение в CUDA.лекция 2. Модель исполнения CUDA.лекция 3. Иерархия памяти. Глобальная, локальная и

регистровая память.лекция 4. Иерархия памяти. Разделяемая память.лекция 5. Прикладные CUDA библиотеки.лекция 6. Библиотека Thrust.лекция 7. Оптимизация CUDA программ.лекция 8. Стандарт директивного программирования

OpenACC.

Page 12: CUDA альманах°льманах-Apr-2014... · nvidia представляет первый мобильный суперкомпьютер для встраиваемых систем

12CUDA АльмАнАх / Апрель 2014

беСплатная лицензия от PGI на 30 дней

Получив доступ к бесплатной 30-дневной версии компилятора PGI, вы сможете воспользоваться вычислительными мощностями GPU и стандартом программирования OpenACC.

OpenACC — это:

• легкость: простота добавления директив в исходный код своей программы.

• открытость:  используйте единый исходный код как для CPU так и для GPU.

• мощность:  получите быстрый доступ к вычислительной мощности GPU.

ВЕРСИя 2014 УжЕ ДОСТУПНА!

уСкоряйте ваши науЧные приложения С oPeNACC

Page 13: CUDA альманах°льманах-Apr-2014... · nvidia представляет первый мобильный суперкомпьютер для встраиваемых систем

13CUDA АльмАнАх / Апрель 2014

Воспользуйтесь нашим предложением провести простой и бесплатный тест-драйв ускорителей Tesla K20/K40 GPU.

Самые быстрые в мире ускорители  Tesla K20/K40 GPU  созданы на основе архитектуры Kepler  и обеспечивают высокую производительность и энергоэффективность ваших приложений.

проведите теСт-драйв уСкорителя tesLA K20/K40 GPU

Page 14: CUDA альманах°льманах-Apr-2014... · nvidia представляет первый мобильный суперкомпьютер для встраиваемых систем

14CUDA АльмАнАх / Апрель 2014

науЧные работы с исПользованием выЧислений на CUDA

В статье можно узнать об эффективном распараллеливании алгоритма SSSP — поиска кратчайшего пути в графе с использованием графических ускорителей.

Рассмотрим структуру хранения неориентированного взвешенного графа, так как в дальнейшем она будет упоминаться и преобразовываться. Граф задается в сжатом CSR формате. Данный формат широко распространен для хранения разреженных матриц и графов. Для графа с N вершинами и M ребрами необходимо три массива: xadj, adjncy, weights. Массив xadj размера N + 1, остальные два – 2*M, так как в неориентированном графе для любой пары вершин необходимо хранить прямую и обратную дуги.

Принцип хранения графа следующий. Весь список соседей вершины I находится в массиве adjncy с индекса xadj[I] до xadj[I+1], не включая его. По аналогичным индексам хранятся веса каждого ребра из вершины I. Для иллюстрации на рисунке слева показан граф из 5 вершин, записанный с помощью матрицы смежности, а справа – в CSR формате.

На сайте hgpu.org доступны научные статьи с использованием вычислений на GPU. Это прекрасная возможность узнать, что уже сделано в вашей сфере (scientific domains).

habrahabr.ru

реализация алгоритма sssP на GPU александр колганов

Page 15: CUDA альманах°льманах-Apr-2014... · nvidia представляет первый мобильный суперкомпьютер для встраиваемых систем

15CUDA АльмАнАх / Апрель 2014

реализация алгоритма на GPU

подготовка входных данных

Для того чтобы увеличить вычислительную нагрузку на один потоковый мультипроцессор (SMX), необходимо преобразовать входные данные. Все преобразования можно разделить на два этапа:

• Расширение формата CSR в координатный формат (COO)

• Сортировка COO формата

На первом этапе необходимо расширить формат CSR следующим образом: введем еще один массива startV, в котором будем хранить начала дуг. Тогда в массиве adjncy будут храниться их концы. Таким образом, вместо хранения соседей, будем хранить дуги. Пример данного преобразования на графе, описанном выше:

На втором этапе необходимо отсортировать полученные ребра так, чтобы каждая пара (U,V) встречалась ровно один раз. Таким образом, при обработке ребра (U,V) можно сразу обработать ребро (V,U), не считывая повторно данные об этом ребре из глобальной памяти GPU.

Page 16: CUDA альманах°льманах-Apr-2014... · nvidia представляет первый мобильный суперкомпьютер для встраиваемых систем

16CUDA АльмАнАх / Апрель 2014

В последнее время все большую роль играют графические ускорители (GPU) в не графических вычислениях. Потребность их использования обусловлена их относительно высокой производительностью и более низкой стоимостью. Как известно, на GPU хорошо решаются задачи на структурных сетках, где параллелизм так или иначе легко выделяется. Но есть задачи, которые требуют больших мощностей и используют неструктурные сетки. Примером такой задачи является Single Shortest Source Path problem (SSSP) – задача поиска кратчайших путей от заданной вершины до всех остальных во взвешенном графе. Решение данной задачи рассмотрено мной в этой статье. Вторым примером задачи на неструктурных сетках является задача Breadth First Search (BFS) — поиска в ширину в неориентированном графе. Данная задача является основной в ряде алгоритмов на графах. Также она немного проще, чем поиск кратчайшего пути. На данный момент алгоритм BFS используется как основной тест для рейтинга Graph500. Далее рассмотрим, как можно использовать идеи решения задачи SSSP в задаче BFS. Про архитектуру GPU компании Nvidia и об упомянутых алгоритмах уже много написано, поэтому в этой статье я не стану дополнительно писать про это. Так же, надеюсь, что понятия warp, cuda блок, SMX, и прочие базовые вещи, связанные с CUDA читателю знакомы.

формат используемых данных

Так же как и в задаче SSSP будем использовать те же самые преобразования, для того, чтобы увеличить нагрузку на один SMX и снизить количество одинаковых данных, находящихся в глобальной памяти GPU. Основное отличие — для алгоритма BFS не нужны веса в графе. Так же стоит отметить, что нам необходимо хранить не кратчайшие расстояния, а номер уровня, в котором находится данная вершина. После проведения тестовых запусков выяснилось, что количество уровней в RMAT графах со средней степенью связности 32 не превосходит 10. Поэтому для хранения данных значений будет достаточно unsigned char. Тем самым массив уровней будет занимать в 8 раз меньше места, чем массив расстояний, что очень важно, так как размер кэша в архитектуре Kepler всего 1,5МБ.

habrahabr.ru

реализация алгоритма BFs на GPU александр колганов

Page 17: CUDA альманах°льманах-Apr-2014... · nvidia представляет первый мобильный суперкомпьютер для встраиваемых систем

17CUDA АльмАнАх / Апрель 2014

Простые числа используются для шифрования информации. Так, например, известный алгоритм шифрования RSA использует два простых числа для формирования открытого ключа. При этом, чтобы расшифровать содержимое конфиденциального письма, надо провести процесс факторизации некоторого очень большого числа, то есть разложить его на сомножители, которые являются простыми числами.

Решение задачи факторизации при этом – исключительно вычислительноёмкая процедура, так как помимо нахождения сомножителей, каждый из них необходимо проверить на простоту. Для генерации простых чисел методом просеивания (исключение составных чисел, так называемое "решето") применяются решета Эратосфена, Аткина и Сундарама в разных модификациях и производные от этих алгоритмов.

Для ускорения поиска простых чисел на определённом отрезке натурального ряда для предварительного отбора составных чисел в работе реализован и исследован индексный алгоритм, построенный с использованием кольцевой факторизации для 3# = 6 (примориал простых чисел 2 . 3). Она позволила на предварительном этапе отсеять значительную часть составных чисел – 66,66…%. На рис. 1 приведено графическое изображение кольцевой факторизации для 3# и 5#.

Нужно отметить, что для 7# (примориал простых чисел равен 2 . 3 . 5 . 7)– отсеивается больше 77 % составных чисел, а для 251# – около 90 %.

заЩита информации: выСокопроизводительные алгоритмы генерации проСтых ЧиСел С применением кольцевой факторизации в.а. минаев, н.п. васильев, в.в. лукьянов, С.а. никонов, д.в. никеров

Интернет-журнал "Технологии техносферной безопасности" Выпуск № 6 (52), 2013 г

Графическое изображение кольцевой факторизации для 3# и 5#

Page 18: CUDA альманах°льманах-Apr-2014... · nvidia представляет первый мобильный суперкомпьютер для встраиваемых систем

18CUDA АльмАнАх / Апрель 2014

Однонаправленные хэш-функции применяются тогда, когда необходимо вычислить от исходного прообраза некоторое значение, которое трудно получить, используя другой прообраз. Примерами являются обеспечение конфиденциальности хранимой информации в базе 202 данных (пользовательские пароли) или обеспечение проверки подлинности сообщения. Понижение фактической стойкости хэш-функ-ции может произойти благодаря существованию уязвимости, позволяющей снизить количество вычислений, необходимых для получения образа.

В данной работе рассмотрена практическая реализация алгоритмической уязвимости хэш-функции MD4 на графических вычислителях с поддержкой технологии nVidia CUDA, позволяющая ускорить процесс восстановления прообраза. Проведено сравнение скорости реализованного алгоритма восстановления прообразов с существующими реализациями, а именно, с программным обеспечением (далее – ПО) восстановления прообразов «Extreme GPU Bruteforcer» и «oclHashcat-plus». В результате вычислительных экспериментов было установлено, что рассмотренное ПО восстановления прообразов односторонних хэш-функций не использует известные уязвимости хэш-функции MD4 для ускорения процесса восстановления.

Результаты экспериментальных вычислений. Приведенные результаты использованы при разработке ПО восстановления прообразов на графических вычислителях с поддержкой технологии nVidia CUDA. Разработанное ПО было использовано для получения экспериментальных результатов по скорости восстановления прообразов.

Проводилось восстановление прообразов длиной 9 символов с алфавитом, состоящим из прописных и строчных латинских символов и цифр (a-z, A-Z, 0-9). Получены следующие результаты по скорости функционирования ПО:

• ПО «Extreme GPU Bruteforcer» – 1270 млн/с;

• ПО «oclHashcat-plus» – 2345 млн/с;

• разработанное ПО – 3241 млн/с.

Таким образом, можно сделать вывод о том, что использование алгоритмической уязвимости односторонней хэш-функции MD4 позволяет существенно ускорить процесс восстановления прообразов по сравнению с существующим ПО.

СпоСоб алгоритмиЧеСкой оптимизации выЧиСлений знаЧений одноСторонней хэш-функции mD4 на графиЧеСких уСкорителях в.а. новосядлый, к.д. майзаков, д.а. эдель

Материалы Всероссийской научно-технической конференции студентов, аспирантов и молодых ученых, 15-17 мая 2013 г

Page 19: CUDA альманах°льманах-Apr-2014... · nvidia представляет первый мобильный суперкомпьютер для встраиваемых систем

19CUDA АльмАнАх / Апрель 2014

Решение систем уравнений долгие годы является одной из типичных задач для вычислительных систем. Такая востребованность вызвана широким кругом задач, сводящихся к решению систем уравнений: например, большинство задач механики сплошных сред в конечном счете приводится к большим сильно-разреженным системам линейных алгебраических уравнений. Принимая во внимание, что прикладные расчеты актуальных задач гидрогазодинамики обычно оказываются весьма длительными и могут длиться сутками, попытки ускорить тем или иным способом эту составную часть расчетов представляют существенный практический интерес.

Одной из целей выполняемой работы является оценка перспектив применения GPU-устройств для ускорения инженерных и научных CFD-расчетов, и в частности, для задач судостроения в пакете с открытым исходным кодом OpenFOAM. Для таких задач требуется расчет нестационарных течений в областях сложной формы на подвижных расчетных сетках, состоящих из сотен миллионов ячеек. Имеющийся опыт расчетов показывает, что реализованные в пакете численные методы решения систем уравнений не всегда обеспечивают приемлемые времена решения задач на приближенных к практике “тяжелых” расчетных сетках. Альтернативой является подключение внешних библиотек численных методов для решения систем уравнений, в том числе, возможно, использующих графические ускорители.

Реализованный в библиотеке SLS набор численных методов содержит распределенную реализацию стабилизированного метода бисопряженных градиентов (BiCGStab), а также классический многосеточный метод (CAMG) и многосеточный метод, основанный на агрегировании элементов (SAMG). Практика расчетов показала, что сочетание этих более робастных методов и использование графических ускорителей в ряде случаев обеспечивает 2 и более кратное ускорение расчетов по сравнению со стандартными методами в пакете OpenFOAM. При этом имеющийся задел и намеченные планы по дальнейшей оптимизации методов должны обеспечить еще 1.5-2 кратное сокращение времени расчетов на графических ускорителях и улучшение параметров масштабируемости.

GPU для решения Слау: уСкорение инженерных раСЧетов б. и. краснопольский, а. в. медведев

«Суперкомпьютеры» № 1 (17), весна 2014

Рулевая колонка с корпусом судна

Page 20: CUDA альманах°льманах-Apr-2014... · nvidia представляет первый мобильный суперкомпьютер для встраиваемых систем

20CUDA АльмАнАх / Апрель 2014

Учет реального изменяющегося напряжения на токоприемнике электроподвижного состава (ЭПС) требует включения модели движения поезда в имитационную модель системы тягового электро-снабжения (СТЭ) и непрерывного расчета тяговой и скоростной характеристик ЭПС, т. е. ставится задача разработки имитационной модели, воспроизводящей тяговую нагрузку с учетом переходного электромагнитного и электроме-ханического процессов в системе электрической тяги как единого обобщенного процесса. Более того, необходим учет особенностей работы преобразовательных агрегатов тяговых подстанций, т. е. учет нелинейностей при работе тяговых трансформаторов в режиме насыщения, пульсаций тягового тока вследствие работы выпрямительного агрегата, возможное неравномерное распределение нагрузки между преобразовательными агрегатами из-за разбросов их внешних характеристик. Также необходима проверка функционирования защиты фидеров тяговой сети от коротких замыканий и анализ режимов отключения быстродействующих выключателей. Все это определяет необходимость включения в обобщенную имитационную модель таких нелинейных элементов, как диод, трансформатор, быстродействующий выключатель (с учетом образования дуги на контактах выключателя при отключении), реле-дифференциальный шунт (как орган защиты), или программных аналогов цифровых защит.

Все искомые величины, определяемые при традиционном решении мгновенных схем (токи, напряжения, мощности и потери мощности в различных элементах системы) теперь должны рассчитываться в имитационной модели в результате решения системы дифференциальных уравнений, но теперь, в отличие от традиционной мгновенной схемы, куда входят только величины токов поездов, в данном случае в исходные дифференциальные уравнения войдут помимо упомянутых выше величин и производные токов поездов, производные потоков в двигателях, производные скорости движения ЭПС. Эта система должна описывать электромеханические и электромагнитные переходные процессы в системе тягового электроснабжения как в единой системе, то есть должны учитываться электромагнитные переходные процессы в тяговых подстанциях (выпрямительное оборудование, трансформаторы, коммутационное оборудование, устройства защиты), тяговой сети и на всех единицах ЭПС линии, а также электромеха-нические переходные процессы в движущихся поездах.

Использование современных суперкомпьютеров и кластерных систем хоть и наиболее эффективно, но требует применения специальных готовых программных средств или специального подхода к программированию алгоритмов, учитывающего распараллеливание вычислительных потоков и использующего, например, MPI. Более того, обеспечение высокоскоростного канала связи с кластером для передачи исходных данных и выгрузки результатов расчетов или непосредственная загрузка программы с проверкой

программный комплекС нового уровня по раСЧету СиСтемы тягового электроСнабжения поСтоянного тока в. а. гречишников

«Суперкомпьютеры» № 1 (17), весна 2014

Page 21: CUDA альманах°льманах-Apr-2014... · nvidia представляет первый мобильный суперкомпьютер для встраиваемых систем

21CUDA АльмАнАх / Апрель 2014

ее работоспособности и адекватности результатов, требующая приезда сотрудника и непосредственного доступа к кластеру, представляют дополнительные неудобства.

Выходом из создавшейся ситуации является применение настольных суперкомпьютеров на базе графических процессоров.

Результаты тестирования показали, что в современных реалиях для инженерных расчетов следует ориентироваться на персональные суперкомпьютеры, оборудованные GPU Tesla K20X (6 ГБ). Это позволяет иметь под рукой мощное вычислительное средство, не зависеть от графика занятости больших суперкомпьютеров и наладки протоколов связи с ними, иметь возможность вести непосредственную отладку приложения на собственном компьютере и т. д. Увеличенный объем памяти в GPU Tesla K20X позволяет повысить скорость расчетов за счет исключения частого обмена данными между Host и Device.

Page 22: CUDA альманах°льманах-Apr-2014... · nvidia представляет первый мобильный суперкомпьютер для встраиваемых систем

22CUDA АльмАнАх / Апрель 2014

вакансии CUDA

Вакансия: инженер-программист (машинное обучение и искусственный интеллект)

Компания: samsung research Center

Город: москва

опиСание

обязанности:

• Эффективная реализация алгоритмов машинного обучения и, в частности, глубокого обучения с использованием C++/Python на Linux;

• Оптимизация разработанного ПО для различных платформ; • Разработка инструментов и утилит для манипуляции и предобработки больших массивов

данных; • Разработка тестов и документирование кода.

требования:

• Отличные аналитические способности; • Магистр или к.т.н. в области компьютерных наук или прикладной математики; • Хорошие навыки разработки программного обеспечения с использованием C++ и Python,

хорошее знание алгоритмов и структур данных; • Знание шаблонов проектирования, разработки через тестирование, умение пользоваться

системами контроля версий (Git/Mercurial); • Опыт оптимизации кода (профилирование, параллельные алгоритмы, SIMD); • Хорошие навыки командной работы и коммуникации, энтузиазм, творческие способности,

продуктивность и обучаемость; • Опыт работы в области машинного обучения/больших данных является сильным плюсом; • Знание библиотек для машинного обучения на больших объемах данных (Hive, GraphLab,

Pregel/Giraph, Vowpal Wabbit) является сильным плюсом; • Опыт практического применения алгоритмов машинного обучения в коммерческих

продуктах является сильным плюсом; • Опыт разработки с использованием GPGPU(CUDA, OpenCL) является сильным плюсом.

Page 23: CUDA альманах°льманах-Apr-2014... · nvidia представляет первый мобильный суперкомпьютер для встраиваемых систем

23CUDA АльмАнАх / Апрель 2014

условия:

• Офис А класса в 15 мин пешком от м. Савеловская и м. Марьина Роща; • Полное соблюдение ТК РФ; • Гибкий график работы; • Для аспирантов 1-го курса есть возможность 4-х дневной рабочей недели; • Бесплатные вкусные обеды (карта в столовую на 5000 NET/месяц); • ДМС; • 100% оплата 7 дней больничного в году (в т.ч. без оформления больничного листа); • Фитнес room (+ настольный теннис, настольный футбол), бассейн; • Курсы английского (online and on-site); • Возможны командировки в Корею; • Компания оплачивает релокацию (оплачивается также дорога для прохождения

собеседования); • Премии за патенты, передовые идеи и проекты; • Возможность карьерного роста (компания активно расширяется); • Хорошая возможность углубления технических знаний (есть возможность посещение

конференций, в т.ч. с докладами по проведенным исследованиям, обширная библиотека журналов и книг, есть возможность часть времени тратить на самообразование и открытые проекты);

• Возможность участвовать в обсуждении идей для будущих продуктов Samsung.

Подробнее

Page 24: CUDA альманах°льманах-Apr-2014... · nvidia представляет первый мобильный суперкомпьютер для встраиваемых систем

контакты и Полезные ссылки

Если вы хотите, чтобы ваша статья появилась в следующем выпуске CUDA Альманах пишите нам на: [email protected]

По вопросам обучения CUDA обращайтесь в наш тренинговый центр: www.parallel-compute.ru

По вопросам приобретения NVIDIA GPU и по прочим техническим вопросам пишите нам на: [email protected]

Протестируйте PGI OpenACC compiler бесплатно в течение месяца: www.nvidia.ru/openacc

Узнайте подробнее про CUDA: www.nvidia.ru/cuda

Полный каталог приложений, ускоряемых на CUDA: http://www.nvidia.ru/gpuapps

Copyright © 2014 NVIDIA логотип NVIDIA, являются торговыми знаками или зарегистрированными торговыми знаками компании NVIDIA в США и других странах. Все другие названия компаний и/или продуктов могут являться товарными знаками и/или зарегистрированными товарными знаками соответствующих владельцев. Все права защищены.

NVIDIA Corporation, 2701 San Tomas Expressway, Santa Clara, CA 9505