Массовый параллелизм для гетерогенных вычислений на C++ для беспилотных автомобилей (Майкл Вонг, SECR-2016) — различия между версиями
Материал из 0x1.tv
StasFomin (обсуждение | вклад) |
StasFomin (обсуждение | вклад) (Batch edit: replace PCRE (\n\n)+(\n) with \2) |
||
(не показано 27 промежуточных версий этого же участника) | |||
Я расскажу о новых предложениях в области параллельных вычислений в языке C++ — некоторые из них включены в версию стандарта C++17, другие могут быть добавлены в C++20/23. Подробно остановлюсь на концепции “исполнителей” (executors), позволяющую унифицировать управление ресурсами и параллельным кодом. “Исполнители” демонстрируют, как гетерогенные вычисления могут быть поддержаны в будущих версиях C++. Один из стандартов, поддерживающих “исполнители” уже сегодня – Khronos SYCL и библиотека SYCL ParallelSTL. SYCL это система “строительных блоков” для C++ приложений; она служит “мостиком” между абстракциями С++ и аппаратными устройствами. Бесплатная версия SYCL выпущена под названием ComputeCPP Community Edition; с её помощью можно построить высокоуровневые абстракции для моделирования нейросетей, машинного зрения, а в итоге и полного управления беспилотными автомобилями. Синхроперевод [[Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016)]] </blockquote> {{VideoSection}} {{vimeoembed|195093989|800|450}} {{youtubelink|-4T8kGR_iaI}}{{letscomment}} {{SlidesSection}} [[File:Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016).pdf|left|page=-|300px]] {{----}} [[File:{{#setmainimage:Массовый параллелизм для гетерогенных вычислений на C++ для беспилотных автомобилей (Майкл Вонг, SECR-2016)!.jpg}}|center|640px]] {{LinksSection}} * {{ConferencePage|http://2016.secrus.ruorg/program/invited-speakers/michael-wong}} <!-- <blockquote>[©]</blockquote> --> {{fblink|1835774170008929}} {{vklink|411}} <references/> <!-- topub --> {{stats|disqus_comments=0|refresh_time=2017-12-25T21:58:402021-08-31T17:26:57.891192016095|vimeo_comments=0|vimeo_plays=922|youtube_comments=0|youtube_plays=19}}14}} [[Категория:SECR-2016]] [[Категория:C++]] [[Категория:Компьютерное зрение]] [[Категория:Параллельное программирование]] |
Текущая версия на 12:21, 4 сентября 2021
- Докладчик
- Майкл Вонг
В моей роли председателя группы 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; с её помощью можно построить высокоуровневые абстракции для моделирования нейросетей, машинного зрения, а в итоге и полного управления беспилотными автомобилями.
Синхроперевод Massive Parallel Dispatch for Heterogeneous Computing in C++ for Self-Driving Cars (Michael Wong, SECR-2016)
Видео
Посмотрели доклад? Понравился? Напишите комментарий! Не согласны? Тем более напишите.
Презентация
Примечания и ссылки
Plays:136
Comments:0