Массовый параллелизм для гетерогенных вычислений на C++ для беспилотных автомобилей (Майкл Вонг, SECR-2016) — различия между версиями

Материал из 0x1.tv

[[File:Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf|left|page=-|300px]]

{{----}}
{{LinksSection}}
* {{ConferencePage|http://2016.secr.ru/program/invited-speakers/michael-wong}}
<!-- <blockquote>[©]</blockquote> -->

<references/>



<!-- topub -->

[[Категория:SECR-2016]]
{{stats|disqus_comments=0|refresh_time=2018-013-10T21:48:5701T18:24:27.911926971117|vimeo_comments=0|vimeo_plays=915|youtube_comments=0|youtube_plays=19}}23}}

Версия 15:24, 1 марта 2018

Докладчик
Michael Wong.jpg
Майкл Вонг

В моей роли председателя группы SG14 комитета по стандартизации языка C++ я постоянно сталкиваюсь с требованием создания параллельной модели программирования для гетерогенных устройств – требования, исходящего от разработчиков компьютерных игр, систем финансового трейдинга и встраиваемых устройств. В поисках такой модели я изучил огромное количество стандартов – включая SYCL, HPX, Agency, HCC, OpenMP, OpenACC, OpenCL, C++ AMP, Halide, CUDA, Kokkos, Raja… и многие, многие другие. Задача усложняется тем, что вычислительные устройства отличаются огромным разнообразием – CPU, GPU, FPGA, нестандартные аппаратные системы для конкретных областей применения – и для всего этого разнообразия необходимо решение, позволяющее достичь как высокой производительности, так и низкого энергопотребления – то, чем славится современный C++. Развитие языка C++ стремится отвечать требованием пользователей, и в современных версиях стандарта C++ появляется всё больше и больше поддержки параллельного программирования и гетерогенности – причём как на уровне библиотеки, так и самого языка. В своём докладе я проведу сравнение некоторых из самых популярных моделей параллельного программирования, включая используемые ими модели памяти, передачи данных и абстракции вычислений.

Я расскажу о новых предложениях в области параллельных вычислений в языке C++ — некоторые из них включены в версию стандарта C++17, другие могут быть добавлены в C++20/23. Подробно остановлюсь на концепции “исполнителей” (executors), позволяющую унифицировать управление ресурсами и параллельным кодом. “Исполнители” демонстрируют, как гетерогенные вычисления могут быть поддержаны в будущих версиях C++. Один из стандартов, поддерживающих “исполнители” уже сегодня – Khronos SYCL и библиотека SYCL ParallelSTL. SYCL это система “строительных блоков” для C++ приложений; она служит “мостиком” между абстракциями С++ и аппаратными устройствами. Бесплатная версия SYCL выпущена под названием ComputeCPP Community Edition; с её помощью можно построить высокоуровневые абстракции для моделирования нейросетей, машинного зрения, а в итоге и полного управления беспилотными автомобилями.

Видео

on youtube


Презентация

Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf

Примечания и ссылки


Plays:38   Comments:0