Ведущий технический консультант ПО Intel для разработчиков, Intel Россия
Дмитрий более 15 лет занимается разработкой и поддержкой компиляторов в компаниях Intel и Sun Microsystems. В настоящее время является евангелистом продуктов Intel для разработчиков в России.
Дмитрий окончил Новосибирский Государственный Университет по специальности математика и компьютерные науки.
Является действующим тренером и коучем по управлению разработкой ПО и презентационным навыкам.
Со-докладчик: Сергей Прейс
Принципиальный (Principal) Инженер, Intel Россия
Сергей Прейс ведущий инженер (PE) по разработке программного обеспечения в Интел, Россия. Он руководит разработкой векторизатора в компиляторе Интел (Intel Parallel Composer XE). Векторизатор позволяет ускорять код приложений с использованием инструкций из наборов SSE/AVX/AVX512 как оптимизация кода на С/С++/Fortran и через поддержку программных моделей для SIMD-параллелизма таких как Cilk™ Plus и OpenMP 4.0 SIMD. Сергей является экспертом в области компиляторов, современных аппаратных архитектур и программирования с параллелизмом по данным. Сергей внедрял поддержку векторизации для Intel MIC и AVX512 и внёс заметный вклад в появление программных моделей для программирования с параллелизмом по данным и их поддержку в компиляторе Интел.
Сергей окончил Новосибирский Государственный Университет в степени магистра по специальности Прикладная Математика и Информатика. В свободное время Сергей увлекается фотографией и катается на сноуборде.
Вектризуй или умри! Техники векторизации сложных программ
Уже прошел год как Intel анонсировала набор инструкций AVX-512, который расширяет размер векторного регистра до 512 бит. Через несколько месяцев первые процессоры, поддерживающие этот набор инструкций, появятся на рынке (Intel® Xeon Phi™). Для эффективного использования возможностей будущих процессоров Intel требуется умение веторизовать программы. Закон Амдаля говорит, что масштабируемость программы ограничена размером непараспараллеленой части. Этот же закон можно распространить и на векторизацию. Таким образом, чтобы получить ожидаемую масштабируемость программы при переходе с 256-битных AVX регистров, нужно увеличить векторизованную часть программы. Intel® Parallel Studio XE 2016 расширяет средства разработчиков по векторизации программ с использованием OpenMP 4.0, и некоторых возможностей OpenMP 4.1. Часто векторизацию рассматривают как вариант оптимизации вычислительных программ с матрицами и векторами. Даже такой узкий взгляд, позволяет эффективно использовать ее в вычислительных алгоритмах, финансовой математике, обработке изображений, трассировке лучей и других приложениях. Но нам бы хотелось поговорить о векторизации сложных потоков управления в программах, что позволяет существенно расширить область ее применения.
Comment