CUDA АЛЬМАНАХ ДЕКАБРЬ 2014 ® CUDA АЛЬМАНАХ / ДЕКАБРЬ 2014 2 СОДЕРЖАНИЕ НОВОСТИ NVIDIA CUDA NVIDIA объявляет конкурс: зарегистрируйтесь на бесплатный онлайн курс по CUDA и ответьте на несколько вопросов по программированию GPU 4 Примите участие в ежегодной конференции по графическим процессорам GTC 2015 5 ВЕБИНАРЫ НА АНГЛИЙСКОМ ЯЗЫКЕ 6 НАУЧНЫЕ РАБОТЫ С ИСПОЛЬЗОВАНИЕМ ВЫЧИСЛЕНИЙ НА GPU Параллельное программирование с CUDA. Часть 1: Введение // В. Горбатюк 7 Параллельные алгоритмы в среде с графическими процессорами для задач кластерного анализа // Б.С. Байжанов, Н.Г. Литвиненко 8 3D-визуализация для планирования операций и выполнения хирургического вмешательства (CASтехнологии) // Щаденко С.В., Горбачёва А.С., Арсланова А.Р., Толмачёв И.В. 9 ПОЛЕЗНЫЕ РЕСУРСЫ ПО CUDA 10 ВАКАНСИИ CUDA 11 КОНТАКТЫ 12 CUDA АЛЬМАНАХ / ДЕКАБРЬ 2014 3 NVIDIA® ОБЪЯВЛЯЕТ КОНКУРС! С 15 декабря 2014 года по 31 января 2015 года зарегистрируйтесь на бесплатный онлайн курс по CUDA и ответьте на несколько вопросов по программированию массивно-параллельных процессоров. Прослушав курс, вы получите широкий спектр практических навыков, которые позволят Вам к концу занятий овладеть основами программирования современных графических процессоров (GPU) NVIDIA, а также ознакомиться с директивным программированием GPU ускорителей (стандарт OpenACC) и особенностями использования нескольких GPU видеокарт для решения Ваших задач. У вас есть возможность получить следющие призы: GeForce Titan Black, GeForce GTX 750 или книгу по параллельному программированию. • Один из первых пяти ответивших верно на все вопросы получит GeForce TITAN Black. GeForce® GTX™ TITAN Black – это лучший ускоритель для разработки вычислительно-интенсивных приложений, содержащий в себе 2880 CUDA ядер и 12 ГБ памяти. • Пятый, Пятнадцатый и Тридцатый правильно ответившие на все вопросы получат GeForce GTX 750. • Каждый десятый зарегистрировавшийся на курс получит книгу по параллельному программированию на CUDA. ПОДРОБНЕЕ CUDA АЛЬМАНАХ / ДЕКАБРЬ 2014 4 ПРИМИТЕ УЧАСТИЕ В ЕЖЕГОДНОЙ КОНФЕРЕНЦИИ ПО ГРАФИЧЕСКИМ ПРОЦЕССОРАМ GTC 2015 У вас есть возможность принять участие в GPU Technology Conference 2015, 17-20 марта 2015 года в Силиконовой Долине США. Участники из более 50 стран мира приедут на Конференцию по GPU-технологиям, чтобы узнать о потрясающих возможностях параллельных вычислений. Посетите данное мероприятие вместе с другими учеными, разработчиками, графическими художниками, конструкторами, исследователями, инженерами и ITменеджерами, чтобы: • Рассказать о своем научном проекте • Получить информацию о передовых инновациях • Узнать о значительных успехах использования GPU • Поучиться у профессионалов в области параллельных вычислений и визуализации • Познакомиться с коллегами и экспертами в отрасли ПОДАТЬ ЗАЯВКУ НА УЧАСТИЕ CUDA АЛЬМАНАХ / ДЕКАБРЬ 2014 5 ВЕБИНАРЫ НА АНГЛИЙСКОМ ЯЗЫКЕ ОПЫТ ИСПОЛЬЗОВАНИЯ GPU В НЕФТЯНОЙ ОТРАСЛИ 23 ДЕКАБРЯ, 18:00 ПО МОСКОВСКОМУ ВРЕМЕНИ За более чем семилетний период существования технологии CUDA были разработаны множество параллельных программ, ориентированных на гибридные архитектуры. Вниманием не была обделена и нефтяная отрасль. В данном вебинаре будут представлены различные аспекты реализации вычислительных алгоритмов на GPU NVIDIA. Будут приведены примеры из сейсморазведки и многофазной многокомпонентной фильтрации. Вебинар будет полезным как для профессионалов в данной области, так и для людей не знакомых с нефтегазовой спецификой. ПОДРОБНЕЕ CUDA АЛЬМАНАХ / ДЕКАБРЬ 2014 6 НАУЧНЫЕ РАБОТЫ С ИСПОЛЬЗОВАНИЕМ ВЫЧИСЛЕНИЙ НА GPU ПАРАЛЛЕЛЬНОЕ ПРОГРАММИРОВАНИЕ С CUDA В. Горбатюк Часть 1: Введение На Хабре было уже немало хороших статей по CUDA — раз, два и другие. Однако, поиск комбинации «CUDA scan» выдал всего 2 статьи никак не связанные с, собственно, алгоритмом scan на GPU — а это один из самых базовых алгоритмов. пропускная способность автомобиля — 4/40=0.1 операций/секунду; задержка автобуса — 3600/60=60с, пропускная способность автобуса — 20/60=0.3(3) операций/секунду. Так вот, CPU — это автомобиль, GPU — автобус: он имеет большую задержку но также и большую пропускную способность. Если для вашей задачи задержка каждой конкретной операции не настолько важна как количество этих операций в секунду — стоит рассмотреть применение GPU. Поэтому, вдохновившись только что просмотренным курсом на Udacity — Intro to Parallel Programming, я и решился написать ПОДРОБНЕЕ более полную серию статей о CUDA. Сразу скажу, что серия будет основываться именно на этом курсе, и если у вас есть время — намного полезнее будет пройти его. Первый вопрос, который должен задать каждый перед применением GPU для решения своих задач — а для каких целей хорош GPU, когда стоит его применять? Для ответа нужно определить 2 понятия: Задержка (latency) — время, затрачиваемое на выполнение одной инструкции/операции. Пропускная способность — количество инструкций/операций, выполняемых за единицу времени. Простой пример: имеем легковой автомобиль со скоростью 90 км/ч и вместимостью 4 человека, и автобус со скоростью 60 км/ч и вместимостью 20 человек. Если за операцию принять перемещение 1 человека на 1 километр, то задержка легкового автомобиля — 3600/90=40с — за столько секунд 1 человек преодолеет расстояние в 1 километр, CUDA АЛЬМАНАХ / ДЕКАБРЬ 2014 7 НАУЧНЫЕ РАБОТЫ С ИСПОЛЬЗОВАНИЕМ ВЫЧИСЛЕНИЙ НА GPU ПАРАЛЛЕЛЬНЫЕ АЛГОРИТМЫ В СРЕДЕ С ГРАФИЧЕСКИМИ ПРОЦЕССОРАМИ ДЛЯ ЗАДАЧ КЛАСТЕРНОГО АНАЛИЗА. Б.С. Байжанов, Н.Г. Литвиненко Кластеризация – это разбиение объектов одной природы на несколько групп так, чтобы объекты в одной группе были в каком-то смысле схожими, а объекты из разных групп значительно отличались друг от друга. Под схожестью обычно понимается близость объектов друг к другу в соответствии с выбранной метрикой. Кластеризация может применяться в любой области науки, где необходимо исследование статистических или экспериментальных данных. Метод ближайшего соседа является одним из наиболее часто используемых при решении задач кластерного анализа. Расстояние между двумя кластерами определяется как расстояние между ближайшими их представителями. На первом этапе работы алгоритма рассчитывается матрица расстояний между объектами. На каждой итерации в матрице расстояний ищется минимальное значение, соответствующее расстоянию между двумя наиболее близкими кластерами. Найденные кластеры объединяются, образуя новый кластер. Процедура повторяется до тех пор, пока не будут объединены все кластеры. В данной работе рассматривается задача с большим количеством данных – до 2 миллионов записей и до 25 показателей. На каждом шаге ведется поиск двух кластеров, расстояние между которыми будет минимальным с последующим слиянием их в один. Вычисление расстояний между объектами определяется какой-либо из общепринятых метрик, в данном случае За расстояние между кластерами P и R возьмем Вычисление расстояний между объектами, но в особенности между кластерами представляет собой достаточно дорогую по времени операцию. Приблизительный подсчет времени показал, что задача будет считаться очень долго. Поэтому при решении данной задачи были задействованы методы, позволяющие значительно сократить время счета. Для решения задач по методам кластеризации по методу МБС в данной работе используются вычислительные мощности графических процессоров. CUDA АЛЬМАНАХ / ДЕКАБРЬ 2014 Это сделано для того, чтобы иметь возможность решать задачи с объемами данных до двух миллионов записей и количеством показателей до 25. Однако даже значительное увеличение вычислительной мощности рабочей станции не позволяет решать такие задачи. Чтобы решить данные проблемы, мы отказываемся от иерархических идей построения алгоритмов. ПОДРОБНЕЕ 8 НАУЧНЫЕ РАБОТЫ С ИСПОЛЬЗОВАНИЕМ ВЫЧИСЛЕНИЙ НА GPU 3D-ВИЗУАЛИЗАЦИЯ ДЛЯ ПЛАНИРОВАНИЯ ОПЕРАЦИЙ И ВЫПОЛНЕНИЯ ХИРУРГИЧЕСКОГО ВМЕШАТЕЛЬСТВА (CAS-ТЕХНОЛОГИИ) Щаденко С.В., Горбачёва А.С., Арсланова А.Р., Толмачёв И.В. CAS-технологии (от англ. Computer Assisted Surgery), или автоматизированные операции, представляют собой хирургический подход, а также ряд методов, в которых компьютерные технологии используются для хирургического планирования и направления или для выполнения хирургических процедур. CASтехнологии также известны как компьютерная хирургия, компьютерное вмешательство, изображения управляемой хирургии и хирургической навигации. CAS-технологии включают в свой состав систему 3D-визуализации, основанную на использовании медицинских изображений, с формированием компьютерной, анатомической 3D-модели зоны интереса пациента и дальнейшее планирование хирургического вмешательства вместе с выполнением виртуальной операции. Задачи, которые решались в нашей работе, можно разделить на три части. 1. Сформулировать требования и описать функциональную структуру системы 3D-визуализации для планирования хирургического вмешательства и проведения виртуальной операции. 2. На основе медицинских изображений высокого разрешения реконструировать компьютерную анатомическую модель органа человека. 3. При помощи 3D-принтера создать материальную модель исследуемого органа. В итоге были получены следующие результаты. 1. Сформулированы требования и описана функциональная структура системы 3D-визуализации для планирования хирургического вмешательства и выполнения виртуальной операции. 2. На основе медицинских изображений высокого разрешения реконструирована и оптимизирована компьютерная анатомическая 3D-модель ушной раковины ребенка с синдромом Гольденхара. 3. На основе медицинских изображений высокого разрешения реконструирована комплексная анатомическая 3D-модель беременной женщины и плода. 4. При помощи 3D-принтера создана материальная 3D-модель ушной раковины из ABS-пластика. ПОДРОБНЕЕ Рис. Создание 3D-модели ушной раковины на основе МРТ высокого разрешения: a – сегментация изображения; б – выделение и построение области ушной раковины; в – оптимизация полученной 3D-модели CUDA АЛЬМАНАХ / ДЕКАБРЬ 2014 9 ПОЛЕЗНЫЕ РЕСУРСЫ ПО CUDA Форум Разработчиков NVIDIA Присоединятесь к Форуму CUDA-разработчиков, делитесь своим опытом и узнавайте много нового. http://devtalk.nvidia.com/ Документация по CUDA Со списком документации по CUDA можно ознакомиться здесь. Обучение онлайн Udacity | Coursera | Курс на русском языке Библиотеки с поддержкой GPU ускорения Список библиотек с поддержкой GPU ускорения от NVIDIA и партнеров. http://www.nvidia.ru/object/tesla-gpu-accelerated-libraries-ru.html GPU Тест-Драйв Хотите бесплатно протестировать Tesla K40? Зарегистрируйтесь здесь. Ускоряйте научные приложения с OpenACC Протестируйте компилятор PGI OpenACC бесплатно в течение месяца. Подробнее. Приложения, ускоряемые на GPU Ознакомиться со списком из более 270 приложений можно на сайте. Книги, посвященные CUDA и вычислениям на GPU Со списком книг, посвященных CUDA и вычислениям на GPU, можно ознакомиться здесь. Скачайте CUDA http://developer.nvidia.com/cuda-downloads Nsight http://www.nvidia.com/object/nsight.html CUDA АЛЬМАНАХ / ДЕКАБРЬ 2014 10 ВАКАНСИИ CUDA Software Developer in Deep Learning domain Itseez Нижний Новгород C++developer, Computer Vision, Machine learning expert (deep learning) ( #6465) Мы ищем талантливых исследователей и разработчиков алгоритмов компьютерного зрения, экспертов в области deep learning. В ваши обязанности будет входить реализация и отладка алгоритмов компьютерного зрения по техническим статьям, изучения лидирующих на сегодняшний день подходов, предложение и проверка новых идей. Все это с ориентацией на последние достижения в области deep learning и сверточных нейронных сетей. Вся работа будет осуществляться поначалу применительно к распознаванию различных объектов и сцен, и вплоть до извлечения общей информации из визуальных данных. Возможный фронт разработок - вклад в библиотеку Caffe. Ключевые слова: • Машинное обучение, Deep Learning, сверточные нейронные сети, Caffe, Компьютерное Зрение, распознавание сцен и объектов. Требования: • Техническое образование в профильной области. • Опыт работы от трех лет. • Хороший письменный и разговорный английский язык. Желательные навыки: • Опыт работы в области компьютерного зрения и машинного обучения. • Опыт в области deep learning, сверточных нейронных сетей. ПОДРОБНЕЕ CUDA АЛЬМАНАХ / ДЕКАБРЬ 2014 11 КОНТАКТЫ Если вы хотите, чтобы ваша статья появилась в следующем выпуске CUDA Альманах пишите нам на: По вопросам приобретения NVIDIA GPU и по прочим техническим Лидия Андреева landreeva@nvidia.com Антон Джораев adzhoraev@nvidia.com вопросам пишите нам на: CUDA АЛЬМАНАХ / ДЕКАБРЬ 2014 12