Ашот Варданян
Компания: UNUM
В прошлом году Ашот рассказывал о способах программирования для видеокарт. Они могут обсчитать большую data-parallel задачу существенно быстрее центрального процессора, но их едва ли можно назвать универсальным решением. Когда данные приходят маленькими пакетами или задача имеет суб-линейную сложность, их слишком долго пересылать по PCI-E шине.
Что делать? Использовать SIMD-инструкции. Они есть в большинстве современных процессоров и вы уже заплатили за их наличие высокую цену. В железе появились большие регистры, раздулся CISC-RISC транслятор, да и планировщик задач стал сложнее... А компиляторы так и не научились самостоятельно подставлять сложные инструкции. Значит, будем писать руками!
Ашот расскажет о ключевых правилах использования векторизованных инструкций, покажет несколько примеров оптимизаций и «анти-оптимизаций», с которыми ему пришлось столкнуться при работе над Unum.
Компания: UNUM
Компания: Intel