Гетерогенное программирование с использованием ComputeCPP, C++17 Parallel STL и C++ Concurrency | CEE-SECR 2016 Гетерогенное программирование с использованием ComputeCPP, C++17 Parallel STL и C++ Concurrency – CEE-SECR 2016
2019 | 2018 | 2017 | 2016 | 2015 | 2014 | 2013 | 2012 | 2011 | 2010 | 2009 | 2008 | 2007 | 2006 | 2005

Мастер-классы

Гетерогенное программирование с использованием ComputeCPP, C++17 Parallel STL и C++ Concurrency

Майкл Вонг

30 октября 2016
8 часов

Мастер-класс читается на английском языке с переводом на русский
Требуется отдельная регистрация

Стандарты OpenCL™ и SYCL™, развиваемые консорциумом Khronos™ Group, позволяют выполнять программы, написанные на языках C и C++, на самых разнообразных гетерогенных системах, включая GPU, интегрированные CPU, DSP и даже FPGA. Подобные расширения языка обсуждаются для включения в стандарт C++; первый шаг, в виде технической спецификации C++17 Parallel and Concurrency, уже сделан. Пока что его применение ограничено лишь CPU. В будущем, основываясь на опыте использования SYCL и других высокоуровневых моделей, мы придём к созданию единого высокоуровневого стандарта параллельного программирования для таких прикладных областей как беспилотные автомобили, компьютерное зрение и нейросети.

SYCL уже сейчас позволяет запускать вычисления на гетерогенных устройствах и включает в себя реализацию C++17 ParallelSTL, дополняя её возможностями использования GPU и дополнительных CPU. На этом мастер-классе мы покажем, как писать параллельные программы на SYCL и использовать экспериментальную версию ParallelSTL.

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

  • Мы начнём с простой программы (“hello world!”), в которой запускаются очереди в одной задаче и потоковом объекте, и на её примере покажем разницу между “обычным” С++, SYCL и OpenCL.
  • Далее расскажем об обмене данными между хостом и GPU с использованием буферов и аксессоров; о важности времени жизни и базовых параллельных конструкциях.
  • После чего перейдём к более продвинутым вещам, таким как Гауссово размытие для обработки изображений, позволяющую решать задачу распознавания пешеходов.
  • Затем продемонстрируем использование параллельных алгоритмов C++17 с помощью реализации ParallelSTL, входящей в SYCL, которая позволяет запускать код не только на CPU, но и на гетерогенных устройствах.

Кроме практической части, на мастер-классе будут прочитаны лекции о SYCL, OpenCL, а также новых возможностях, предлагаемых в спецификации C++ Parallelism and Concurrency, включая C++17 Parallel STL, C++11 async, фьючерсы (futures), атомики, программирование с передачей продолжений, барьеры, атомарно разделяемый _ptr, а также инструменты для параллельного программирования без использования семафоров.

От участников ожидается знание языка C++ и наличие ноутбука. Необходимое для работы программное обеспечение можно будет установить на месте с USB-накопителя. Мастер-класс может быть полезен и для начинающих разработчиков, но основной материал посвящён продвинутым методам параллельного программирования с использованием C++.

О ведущих мастер-класса

Майкл Вонг

Майкл Вонг

VP Research and Development, Codeplay Software


Майкл Вонг — вице-президент исследований и разработки в Codeplay Software, директор и вице-президент ISOCPP.org, старший член Комитета по стандартизации С++ с 15-летним опытом, вице-президент по языкам программирования в Совете стандартов Канады. Майкл также возглавляет представительство Канады в комитете по стандартам C++. В прошлом — генеральный директор OpenMP, а также старший технический архитектор по стратегиям компиляторов IBM.

Майкл возглавляет WG21 SG5 транзакционной памяти и развитие SG14 Разработки Игр / Low Latency / Financials, и является соавтором ряда фич C++ / OpenMP / Transactional Memory, включая: generalized attributes, user-defined literals, inheriting constructors, weakly ordered memory models, and explicit conversion operators. Майкл — автор ряда научных работ, книги по C++11, редактор технических спецификаций Concurrency и Transactional Memory.

Майкл — приглашенный и ключевой докладчик на многих конференциях, в университетах, компаниях, научно-исследовательских институтах, таких как: ACCU, C++Now, Meeting C++, ADC++, CASCON, Bloomberg, Activision/Blizzard, CERN.

Дункан МакБэйн

Дункан МакБэйн

Developer Relations Manager, Codeplay Software


Дункан – инженер-программист в Codeplay. Начал c финансируемого Европейским Союзом проекта LPGPU, в котором занимался поиском путей повышения производительности и снижения энергопотребления устройств на GPU. С тех пор работал над рядом заказных проектов, а в последнее время – над реализацией Codeplay SYCL, ComputeCPP. В последнее время занимался также поддержкой внешних разработчиков, использующих ComputeCPP.

Впервые Дункан познакомился с гетерогенным программированием на курсе в Университете Эдинбурга. В своей диссертации он использовал API CUDA для ускорения вычислений FFT. Этого было достаточно, чтобы увлечься возможностями гетерогенных устройств.


Comment

Your email address will not be published. Required fields are marked *

*

Gold

Технологический Центр Дойче БанкаJetBrainsSAPFirst Line Software

Silver

Dell Technologies

Embedded

Аурига

Sponsors

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

Генеральные партнёры

РУССОФТАП КИТSECON

При содействии

Association for Computing MachineryACM Special Interest Group on Software Engineering

Технические партнёры

Хостинг-ЦентрVirtuozzoСофтИнвентСтудия „7пап“Print SalonГруппа МPrezent.ru

При поддержке

РАЭК

Организаторы

Software Russiai-Help
Поделиться:

Конференция окончена
Ждём вас на SECR 2017!

Размещение в гостинице, транспортное и экскурсионное обслуживание по специальным ценам.