19
CUDA ® АЛЬМАНАХ ИЮЛЬ 2015

CUDA АЛЬМАНАХ ИЮЛЬ 2015 - nvidia.ru°льманах-july-2015.pdf · Облачный сервис IBM и SoftLayer официально объявили о добавлении

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: CUDA АЛЬМАНАХ ИЮЛЬ 2015 - nvidia.ru°льманах-july-2015.pdf · Облачный сервис IBM и SoftLayer официально объявили о добавлении

CUDA® АЛЬМАНАХИЮЛЬ 2015

Page 2: CUDA АЛЬМАНАХ ИЮЛЬ 2015 - nvidia.ru°льманах-july-2015.pdf · Облачный сервис IBM и SoftLayer официально объявили о добавлении

CUDA АЛЬМАНАХ / ИЮЛЬ 2015 2

НОВОСТИ NVIDIA CUDA

Доступен новый Toolkit OpenACC 3

Новые возможности CUDA 7.5 4

Ускоритель Tesla K80 создан для максимизации производительности приложений 5

Все преимущества Tesla K80 теперь доступны в облачном сервисе Softlayer от IBM 6

Приземлиться на Луне: команда из Германии при поддержке Audi соревнуется за премию Google Lunar XPRIZE 6

ИССЛЕДОВАТЕЛЬСКИЕ И УЧЕБНЫЕ ЦЕНТРЫ CUDA

Московский физико-технический институт 7

ВЕБИНАРЫ НА АНГЛИЙСКОМ ЯЗЫКЕ 11

НАУЧНЫЕ РАБОТЫ С ИСПОЛЬЗОВАНИЕМ ВЫЧИСЛЕНИЙ НА CUDA

Улучшение реализации метода дифференциальной эволюции на графических процессорах // М.А. Фарков, А.И. Легалов 12

Использование графических процессоров в задаче поиска структурных различий изображений // Ф.А. Корнилов 13

Использование методов параллельного программирования при частотно-временном анализе сигналов геоакустической эмиссии // А.А. Ким 15

ПОЛЕЗНЫЕ РЕСУРСЫ ПО CUDA 16

ВАКАНСИИ CUDA 17

КОНТАКТЫ 19

СОДЕРЖАНИЕ

Page 3: CUDA АЛЬМАНАХ ИЮЛЬ 2015 - nvidia.ru°льманах-july-2015.pdf · Облачный сервис IBM и SoftLayer официально объявили о добавлении

CUDA АЛЬМАНАХ / ИЮЛЬ 2015 3

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

ДИРЕКТИВЫ OpenACCOpenACC API описывает набор директив компилятору для выделения тех циклов и участков кода на стандартных C, C++ и Fortran, обработку которых нужно перенести с CPU или центрального процессора на ускоритель, обеспечивая портативность в рамках операционной системы, процессора и ускорителя.

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

Новый Toolkit OpenACC Новый Toolkit OpenACC доступен на сайте и включает в себя:

• Компилятор PGI – OpenACC, бесплатный для академических структур

• Профайлер NVProf , помогающий с добавлением директив компилятору

• Мастер GPU, позволяющий определить список библиотек для быстрого и успешного запуска кода

• Примеры кода с алгоритмами

• Документы, форум, истории успеха

Производительность OpenACC

ЗАРЕГИСТРИРУЙТЕСЬ СЕЙЧАС, ЧТОБЫ ПОЛУЧИТЬ БЕСПЛАТНУЮ ВЕРСИЮ КОМПИЛЯТОРА С ПОДДЕРЖКОЙ ДИРЕКТИВ!

www.nvidia.ru/openacc

ДОСТУПЕН НОВЫЙ TOOLKIT OPENACC

Page 4: CUDA АЛЬМАНАХ ИЮЛЬ 2015 - nvidia.ru°льманах-july-2015.pdf · Облачный сервис IBM и SoftLayer официально объявили о добавлении

CUDA АЛЬМАНАХ / ИЮЛЬ 2015 4

Релиз-кандидат CUDA 7.5 доступен для скачивания по ссылке.

Особенности версии 7.5:

16-битный формат представления данных с плавающей запятой (FP16)• Позволяет хранить до 2-х раз больше данных в памяти GPU

• Снижает требование к пропускной способности памяти до 2х раз

• cublasSgemmEX() поддерживает матрицы большей размерности

Новые процедуры cuSPARSE GEMVI• Оптимизированние операции перемножения плотной матрицы на разреженный вектор –

идеально подходит для программирования естественных языков

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

• Простота использования оптимизации производительности

НОВЫЕ ВОЗМОЖНОСТИ CUDA 7.5

Page 5: CUDA АЛЬМАНАХ ИЮЛЬ 2015 - nvidia.ru°льманах-july-2015.pdf · Облачный сервис IBM и SoftLayer официально объявили о добавлении

CUDA АЛЬМАНАХ / ИЮЛЬ 2015 5

ПРОЙТИ БЕСПЛАТНЫЙ ТЕСТ-ДРАЙВ TESLA K80Зарегистрироваться на www.nvidia.ru/gputestdrive Tesla K80 обеспечивает в 2-4 раза более высокую производительность по сравнению с ускорителями предыдущих поколений

УСКОРИТЕЛЬ TESLA K80 СОЗДАН ДЛЯ МАКСИМИЗАЦИИ ПРОИЗВОДИТЕЛЬНОСТИ ПРИЛОЖЕНИЙ

Page 6: CUDA АЛЬМАНАХ ИЮЛЬ 2015 - nvidia.ru°льманах-july-2015.pdf · Облачный сервис IBM и SoftLayer официально объявили о добавлении

CUDA АЛЬМАНАХ / ИЮЛЬ 2015 6

Облачный сервис IBM и SoftLayer официально объявили о добавлении ускорителей NVIDIA® Tesla® K80 в виртуальные сервера. С решениями NVIDIA облачная платформа IBM Cloud позволяет ускорять как приложения HPC, так и приложения глубокого обучения.

Узнать подробнее.

ВСЕ ПРЕИМУЩЕСТВА TESLA K80 ТЕПЕРЬ ДОСТУПНЫ В ОБЛАЧНОМ СЕРВИСЕ SOFTLAYER ОТ IBM

Audi, при поддержке NVIDIA и ряда научно-исследовательских организаций, нацелилась на покорение Луны вместе с командой учёных Part-Time Scientists. Группа немецких инженеров работает над проектом, чтобы принять участие в соревновании Google Lunar XPRIZE и отправить беспилотный луноход на естественный спутник Земли. Чтобы выиграть премию Google Lunar XPRIZE, команда с частным финансированием должна успешно доставить робота на поверхность Луны и исследовать минимум 500 метров, передавая видео и фотографии высокого разрешения обратно на Землю.

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

Подробнее

НОВОСТИ NVIDIA CUDA

ПРИЗЕМЛИТЬСЯ НА ЛУНЕ: КОМАНДА ИЗ ГЕРМАНИИ ПРИ ПОДДЕРЖКЕ AUDI СОРЕВНУЕТСЯ ЗА ПРЕМИЮ GOOGLE LUNAR XPRIZE

Page 7: CUDA АЛЬМАНАХ ИЮЛЬ 2015 - nvidia.ru°льманах-july-2015.pdf · Облачный сервис IBM и SoftLayer официально объявили о добавлении

CUDA АЛЬМАНАХ / ИЮЛЬ 2015 7

А. В. Шевченко1, Н. И. Хохлов2, И. В. Цыбулин1

1 МФТИ, Лаборатория флюидодинамики и сейсмоакустики

2 МФТИ, Лаборатория прикладной вычислительной геофизики

Справка об институтеМосковский физико-технический институт является одним из первых в стране ВУЗов, в котором началось преподавание технологии CUDA. За семилетнюю практику регулярных занятий и летних школ обучение прошло более тысячи человек. А в 2011 году университету был присвоен статус «GPU Research center».

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

В центре используются различные подходы к речению возникающих вычислительных задач. Вычисления проводятся как на известных вычислительных комплексах, использующих CUDA (AMBER, Matlab, Ansys, LAMMPS), так и на собственных разработках. В вычислительных кодах, разработанных в центре, использование GPU NVIDIA позволяет получить ускорение до 50 раз в реальных прикладных задачах по сравнению с вычислениями на одном ядре CPU.

СейсмикаЧисленное моделирование распространения динамических волновых возмущений в твердых телах используется при решении широкого круга задач. К таким задачам относятся задачи сейсморазведки, т.е. обнаружения месторождений полезных ископаемых посредством регистрации отражённых от неоднородностей в земной толще сейсмических волн. В лаборатории прикладной вычислительной геофизики МФТИ создан программный комплекс для моделирования таких задач. В силу ресурсоёмкости вычислений, для ускорения расчетов применяются технологии параллельных архитектур.

Модель геологической среды составляют уравнения линейной динамической теории упругости (уравнения движения и реологические соотношения), а также различные физически-согласованные граничые условия, в том числе и на внутренних границах расчётной области (трещины, каверны, границы контакта флюида и твёрдого тела). Для численного моделирования задач применяется сеточно-характеристический метод совместно с методом расщепления по пространственным координатам. Использование данного подхода позволяет получить вычислительные алгоритмы, во-первых, достаточной степени точности, а, во-вторых, пригодные для распараллеливания на GPU.

На рис. 1 приведен график ускорения работы алгоритма на различных устройствах, а на рис. 2 – график зависимости ускорения от количества используемых устройств.

ИССЛЕДОВАТЕЛЬСКИЕ И УЧЕБНЫЕ ЦЕНТРЫ CUDAМОСКОВСКИЙ ФИЗИКО-ТЕХНИЧЕСКИЙ ИНСТИТУТ ИССЛЕДОВАТЕЛЬСКИЙ ЦЕНТР NVIDIA CUDA

Page 8: CUDA АЛЬМАНАХ ИЮЛЬ 2015 - nvidia.ru°льманах-july-2015.pdf · Облачный сервис IBM и SoftLayer официально объявили о добавлении

CUDA АЛЬМАНАХ / ИЮЛЬ 2015 8

Рис. 1. Ускорение работы алгоритма на CUDA по сравнению с одним ядром CPU

Рис. 2. Ускорение в зависимости от количества GPU

Тесты с использованием нескольких GPU были сделаны только для одинаковых устройств. Это сделано из-за того, что при использовании GPU с разной производительностью более быстрые устройства будут ждать остальных, и эффект от их совместного использования может оказаться менее заметным. Измерения произведены на трех разных моделях GPU: 2 x GeForce GTX 980, 3 x GeForce GTX 680, 4 x Tesla M2070. Эффективность распараллеливания оказалась близка к максимально возможной, даже с использованием CPU в качестве промежуточного звена при обмене памятью между устройствами. В конечной реализации для обмена данных между устройствами используется GPUDirect RDMA, что позволяет осуществлять пересылки данных между устройствами через PCI-Express без участия памяти хоста.

Page 9: CUDA АЛЬМАНАХ ИЮЛЬ 2015 - nvidia.ru°льманах-july-2015.pdf · Облачный сервис IBM и SoftLayer официально объявили о добавлении

CUDA АЛЬМАНАХ / ИЮЛЬ 2015 9

На рис. 3 показан результат расчета двумерной задачи сейсмического моделирования. Цветом отображен модуль скорости. Линиями отображены границы раздела сред.

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

Рис. 3. Результат сейсмического моделирования. Распространение возмущения от точечного источника на поверхности. Цветом отображен модуль скорости.

Рис. 4. Объединение интенсивностей на поверхности полусферы.

Page 10: CUDA АЛЬМАНАХ ИЮЛЬ 2015 - nvidia.ru°льманах-july-2015.pdf · Облачный сервис IBM и SoftLayer официально объявили о добавлении

CUDA АЛЬМАНАХ / ИЮЛЬ 2015 10

В исследовательском центре был разработан программный комплекс, позволяющий решать задачу переноса излучения методом трассировки лучей в распределенном (MPI) варианте. В дальнейшем самая трудоемкая вычислительная часть была распараллелена в рамках гибридной модели MPI+CUDA, когда каждый вычислительный процесс имеет доступ к отдельному графическому ускорителю.

Сравнение реализаций проводилось на задаче с пространственной сеткой из 500 тысяч точек (около 3 миллионов тетраэдров) с 110 направлениям и при 64 частотах. Вычисления на двух узлах с 16 ускорителями K40m заняли 1310 с. Решение той же задачи, но с одной частотой в варианте без ускорителей на 16 процессорах заняло 93 с (5952 с для 64 направлений), что соответствует ускорению CUDA версии в 4.5 раза. Столь незначительное ускорение связано с хаотическим доступом к памяти из-за неструктурированности вычислительной сетки.

Комплекс был применен для численного воспроизведения профиля линии излучения по предоставленным результатам МГД моделирования взаимодействия звезды с ее аккреционным диском. На рисунке представлен, так называемый, конический ветер, который можно обнаружить по синему смещению линии поглощения при условии, что наблюдатель находится в окрестности образующей конуса. Для восстановления профиля линии задача переноса была решена в 1091 направлениях. На рис. 4. показано объединение интенсивностей на поверхности полусферы для каждого из направлений при частоте, соответствующей синему смещению 100 км/с.

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

Исследования выполнены при финансовой поддержке РФФИ в рамках научного проекта № 15-37-20673 мол_а_вед и гранта Президента РФ МК-3383.2014.9, проекта Министерства образования и науки РФ №3.522.2014/К, а также программы повышения конкурентоспособности ведущих российских университетов «5топ100».

Page 11: CUDA АЛЬМАНАХ ИЮЛЬ 2015 - nvidia.ru°льманах-july-2015.pdf · Облачный сервис IBM и SoftLayer официально объявили о добавлении

CUDA АЛЬМАНАХ / ИЮЛЬ 2015 11

28 Июля: Applied Deep Learning for Vision and Natural Language with Torch7

Также доступны для просмотра:

Ускорение вычислений с OpenACC

CUDA 7 - обзор производительности

CUDA 7 – описание и особенности

Ускорение глубокого обучения с помощью cuDNN

Обзор DIGITS 2

Основные моменты GTC 2015

ВЕБИНАРЫ НА АНГЛИЙСКОМ ЯЗЫКЕ

Page 12: CUDA АЛЬМАНАХ ИЮЛЬ 2015 - nvidia.ru°льманах-july-2015.pdf · Облачный сервис IBM и SoftLayer официально объявили о добавлении

CUDA АЛЬМАНАХ / ИЮЛЬ 2015 12

УЛУЧШЕНИЕ РЕАЛИЗАЦИИ МЕТОДА ДИФФЕРЕНЦИАЛЬНОЙ ЭВОЛЮЦИИ НА

ГРАФИЧЕСКИХ ПРОЦЕССОРАХМ.А. Фарков, А.И. Легалов

Подробнее

НАУЧНЫЕ РАБОТЫ С ИСПОЛЬЗОВАНИЕМ ВЫЧИСЛЕНИЙ НА CUDA

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

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

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

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

Page 13: CUDA АЛЬМАНАХ ИЮЛЬ 2015 - nvidia.ru°льманах-july-2015.pdf · Облачный сервис IBM и SoftLayer официально объявили о добавлении

CUDA АЛЬМАНАХ / ИЮЛЬ 2015 13

ИСПОЛЬЗОВАНИЕ ГРАФИЧЕСКИХ ПРОЦЕССОРОВ В ЗАДАЧЕ ПОИСКА

СТРУКТУРНЫХ РАЗЛИЧИЙ ИЗОБРАЖЕНИЙФ.А. КОРНИЛОВ

Подробнее: Поиск структурных различий изображений: алгоритмы и методика исследования // Машинное обучение и анализ данных, 2014. Т. 1. № 7. С. 902-919.

Задача поиска существенно изменившихся областей (change detection) на последовательности изображений вот уже много лет привлекает внимание исследователей по всему миру. Причиной такой популярности является многообразие прикладных задач, для решения которых требуется знание о произошедших в изучаемой сцене изменениях: это задачи видеонаблюдения (в которых поиск различий является предобработкой с целью уменьшить объем входных данных), видеокодирования, анализ движения, медицинские приложения и анализ космоснимков (мониторинг земной поверхности), которому и будет уделено основное внимание в данной работе. В общем случае, решение задачи поиска различий состоит из следующих шагов:

1. Геометрическая и радиометрическая коррекция входных изображений.

2. Собственно поиск различий, результатом которого является полутоновое разностное изображение.

3. Пороговая обработка разностного изображения.

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

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

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

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

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

В таблице приводятся данные о сравнении времени расчетов в секундах алгоритмов поиска структурных различий на CPU и GPU для изображений размером 1000 x 1000 пикселей. Для сравнения использовались процессор Intel Core i7-2600 3.40 GHz и видеокарта NVIDIA GeForce GTX 550 Ti.

Page 14: CUDA АЛЬМАНАХ ИЮЛЬ 2015 - nvidia.ru°льманах-july-2015.pdf · Облачный сервис IBM и SoftLayer официально объявили о добавлении

CUDA АЛЬМАНАХ / ИЮЛЬ 2015 14

Сравнение времени работы в миллисекундах алгоритмов поиска структурных различий для CPU и GPU

Алгоритм CPU GPUМорфологический проектор 1264 78.1Линейная функция 2808 91.3Квадратичная функция 4383 99.5Регуляризованный морфологический проектор 46894 7965.8Глобальная оптимизация 21993584 429152.1

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

При сравнении расчетов на CPU и GPU можно отметить значительное - в 6-51 раз (в зависимости от алгоритма) - уменьшение времени работы, что позволяет сделать вывод о необходимости использования данной технологии для практического поиска структурных различий изображений.

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

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

изображений по цвету(оттенок насыщенность, яркость) и по геометрическимхарактеристикам (углы, пропорции, масштаб идр.). Такая стыковка возможна с использованиеминформации из смежных областей текстуры.В случае подготовки детализированной текстурынебольшого размера, такого рода интеграция данныхможет быть выполнена в общей памяти рабочейстанции, где обеспечивается прямой доступ ковсем областям текстуры. Однако данный подходстановится неприменимым при необходимостиподготовки текстуры, размер и объем которойпревышают аппаратные возможности отдельнойрабочей станции (далее будем называть такиетекстуры сверхбольшими). Логичным путемобхода этого ограничения является подготовкасверхбольшой текстуры по частям с последуюимобъединением готовых фрагментов в единоеизображение, размещаемое в хранилище данных.Эффективность синтеза сверхбольшой текстуры можетбыть существенно повышена путем распределенияподготовки фрагментов текстуры между несколькимивычислительными узлами, ввиду чего возникаетзадача разработки такой технологии, которая быпозволяла подготавливать сверхбольшую текстуру почастям, независящим друг от друга, и обеспечивалабесшовную стыковку готовых фрагментов врезультирующей текстуре.В данной работе предлагается технологиятакой подготовки, позволяющая интегрироватьизображения, заданные в распространеннойпроекции Меркатора, в единую текстуру, заданнуюв эквидистантной цилиндрической проекции.Формирование результирующей текстуры выполняетсяпо частям (тайлам), обрабатываемым независимодруг от друга, при этом обеспечивается бесшовнаястыковка полученных фрагментов. Описанная в работесистема синтеза сверхбольших текстур позволяетповысить общую скорость подготовки результирующейтекстуры путем распараллеливания подготовкиее тайлов на отдельных вычислительных узлах(компьютерах).Для сокращения времени подготовки тайлов,обработка тайлов маски и синтез тайла текстуры быливыполнены на GPU графических ускорителей NVidia споддержкой архитектуры параллельных вычислений CUDA.

Page 15: CUDA АЛЬМАНАХ ИЮЛЬ 2015 - nvidia.ru°льманах-july-2015.pdf · Облачный сервис IBM и SoftLayer официально объявили о добавлении

CUDA АЛЬМАНАХ / ИЮЛЬ 2015 15

ИСПОЛЬЗОВАНИЕ МЕТОДОВ ПАРАЛЛЕЛЬНОГО ПРОГРАММИРОВАНИЯ ПРИ

ЧАСТОТНО-ВРЕМЕННОМ АНАЛИЗЕ СИГНАЛОВ ГЕОАКУСТИЧЕСКОЙ ЭМИССИИА.А. Ким

Подробнее

Более десяти лет на полуострове Камчатка проводится непрерывное наблюдение геоакустической эмиссии (ГАЭ) на различных стадиях сейсмической активности. Выявлена связь между активизацией деформационных процессов и поведением акустической эмиссии, в том числе при подготовке землетрясений.

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

Для ускорения работы метода и для осуществления возможности анализа сигналов ГАЭ в режиме реального времени разработан параллельный алгоритм метода согласованного преследования с реализацией на платформе CUDA.

Полученный алгоритм был внедрен в качестве программного модуля системы автоматического выявления и анализа импульсов ГАЭ в лаборатории акустических исследований ИКИР ДВО РАН, где показал высокую скорость работы по сравнению со стандартным (непараллельным) алгоритмом и позволил проводить обработку данных в режиме реального времени.

Page 16: CUDA АЛЬМАНАХ ИЮЛЬ 2015 - nvidia.ru°льманах-july-2015.pdf · Облачный сервис IBM и SoftLayer официально объявили о добавлении

CUDA АЛЬМАНАХ / ИЮЛЬ 2015 16

Новый каталог с приложениями, ускоряемыми на GPU можно скачать по ссылке.

Материалы GPU Technology Conference 2015 доступны по ссылке

Форум Разработчиков NVIDIAПрисоединятесь к Форуму CUDA-разработчиков, делитесь своим опытом и узнавайтемного нового. http://devtalk.nvidia.com/

Документация по CUDAСо списком документации по CUDA можно ознакомиться здесь.

Обучение онлайнUdacity | Coursera | Курс на русском языке

Библиотеки с поддержкой GPU ускоренияСписок библиотек с поддержкой GPU ускорения от NVIDIA и партнеров.

GPU Тест-Драйв Хотите бесплатно протестировать Tesla? Зарегистрируйтесь здесь.

Ускоряйте научные приложения с OpenACCПротестируйте компилятор PGI OpenACC бесплатно в течение месяца. Подробнее.

Приложения, ускоряемые на GPUОзнакомиться со списком из более 270 приложений можно на сайте.

Книги, посвященные CUDA и вычислениям на GPUСо списком книг, посвященных CUDA и вычислениям на GPU, можно ознакомиться здесь.

СкачайтеCUDA http://developer.nvidia.com/cuda-downloads Nsight http://www.nvidia.com/object/nsight.html

Страница NVIDIA в vk.comhttps://vk.com/nvidia

ПОЛЕЗНЫЕ РЕСУРСЫ ПО CUDA

Page 17: CUDA АЛЬМАНАХ ИЮЛЬ 2015 - nvidia.ru°льманах-july-2015.pdf · Облачный сервис IBM и SoftLayer официально объявили о добавлении

CUDA АЛЬМАНАХ / ИЮЛЬ 2015 17

Москва

Обязанности:• Написание различных “движков” детектирования/анализа как для “серверного” так и

“клиентского” применения

• Написание веб-систем для внутреннего пользования (извлечение данных, управление данными и т.п.)

• Поддержка старого кода (неосновная нагрузка)

Требования:

Обязательно:• хорошее знание С++

• опыт коммерческой разработки ПО в команде не менее 3-х лет

• опыт разработки кросплатформенного кода unix/windows/мобильные

• знание основных алгоритмов

• осведомленность в технологиях анализа различных данных и умение их применять

• понимание устройства web, основных сетевых протоколов и способность создавать несложные веб-приложения

• письменный английский (разбор научных статей, переписка)

Необязательно, но желательно:• знание какого-либо скриптового языка (ruby,javascript,php,python)

• SQL

• многопоточное программирование

• CUDA/OpenCL

• опыт в написании алгоритмов и программ анализа текста, изображений, сырых данных.

• начальный уровень администрирования linux (мелочи вроде ssh,apache,git)

Подробнее

ВАКАНСИИ CUDA РАЗРАБОТЧИК-ИССЛЕДОВАТЕЛЬ С++

Лаборатория Касперского

Page 18: CUDA АЛЬМАНАХ ИЮЛЬ 2015 - nvidia.ru°льманах-july-2015.pdf · Облачный сервис IBM и SoftLayer официально объявили о добавлении

CUDA АЛЬМАНАХ / ИЮЛЬ 2015 18

Москва

Комания НВИДИА ищет талантливого инженера для работы над вспомогательными программами для CUDA. Команда занимается разработкой профилировщиков, отладчиков и других программ в интегрированной среде разработки. Вам предстоит заниматься написанием и поддержкой инструментария на С++, QT и Java, а также создавать новые плагины и интегрировать поддержку новых языков и компиляторов для среды Eclipse.

Требования:- Владение С++, QT

- Опыт программирования на Java как плюс

- Опыт работы с Eclipse IDE как плюс

- Опыт разработки под Android как плюс

- Разговорный английский язык

Подробнее

РАЗРАБОТЧИК ИНСТРУМЕНТАРИЯ ДЛЯ CUDANVIDIA

Page 19: CUDA АЛЬМАНАХ ИЮЛЬ 2015 - nvidia.ru°льманах-july-2015.pdf · Облачный сервис IBM и SoftLayer официально объявили о добавлении

CUDA АЛЬМАНАХ / ИЮЛЬ 2015 19

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

Лидия Андреева[email protected]

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

Антон Джораев[email protected]

КОНТАКТЫ