Вектризуй или умри! Техники векторизации сложных программ (Дмитрий Петунин, SECR-2015)

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

Версия от 21:06, 7 ноября 2015; StasFomin (обсуждение | вклад) (Новая страница: «== Аннотация == ;Докладчик: {{Speaker|Дмитрий Петунин}} <blockquote> Уже прошел год как Intel анонсирова…»)

(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)

Аннотация

Докладчик
Дмитрий Петунин.jpg
Дмитрий Петунин

Уже прошел год как Intel анонсировала набор инструкций AVX-512, который расширяет размер векторного регистра до 512 бит.

Через несколько месяцев первые процессоры, поддерживающие этот набор инструкций, появятся на рынке (Intel® Xeon Phi™).

Для эффективного использования возможностей будущих процессоров Intel требуется умение веторизовать программы. Закон Амдаля говорит, что масштабируемость программы ограничена размером непараспараллеленой части.

Этот же закон можно распространить и на векторизацию. Таким образом, чтобы получить ожидаемую масштабируемость программы при переходе с 256-битных AVX регистров, нужно увеличить векторизованную часть программы. Intel® Parallel Studio XE 2016 расширяет средства разработчиков по векторизации программ с использованием OpenMP 4.0, и некоторых возможностей OpenMP 4.1.

Часто векторизацию рассматривают как вариант оптимизации вычислительных программ с матрицами и векторами. Даже такой узкий взгляд, позволяет эффективно использовать ее в вычислительных алгоритмах, финансовой математике, обработке изображений, трассировке лучей и других приложениях. Но нам бы хотелось поговорить о векторизации сложных потоков управления в программах, что позволяет существенно расширить область ее применения.


Видео


Слайды

Примечания и отзывы