Intel: OpenCL для CPU (alpha)

Inel выпустил альфа-версию OpenCL для CPU.

Целиком поддерживаю это начинание. Конечно, у AMD такое уже есть полтора года как, но на Intel несколько больше надежды, что это станет стандартной частью системы или, как минимум, удобным redistributable (а не частью "драйвера видеокарты", притом не общего, а отдельной версии). А для всяких GPGPU-решений появится удобный fallback на CPU.

Кроме того, c OpenCL для CPU есть гораздо больше надежды на авто-векторизацию: стандартные векторные типы и все такое. Ну и ряд других вкусностей, таких как анализ OpenCL-кода с помощью VTune (анонсировано, но я не пробовал).

Ссылки:

Ну и на первой странице из списка есть ссылки на много других материалов.

Я помацал это дело руками минут 15 и остался в некотором недоумении.

Хорошее

Примеры - работают. Какой-то чужой (или свой личный) OpenCL-код не пробовал. Документация обещает возможность посмотреть результат компиляции kernel (ассемблер) через посредство VTune и performance analysis тем же средством. Ввиду отсутствия под рукой VTune - подробности не смотрел, хотя и собираюсь.

Странное

Странностей довольно много:

Нет средств отладки?
Никаких следов пошаговой отладки ни в документации, ни при попытках поставить breakpoint (с другой стороны, ставить breakpoint на текстовой константе довольно странно). В то время как космические корабли бороздят пошаговая отладка даже на GPU уже есть, в Parallel Nsight, сделать ее на CPU не должно бы быть принципиально невозможно.
Это - пока еще не OpenCL
Примеры - линкуются с intelocl.lib(.dll), а не с OpenCL.lib. Кроме того, никаких следов инсталлированного драйвера OpenCL в системе не нашлось, ни одно готовое средство показа доступных OpenCL-реализаций - интеловскую не показывает. И, наоборот, не видно способа запустить готовый пример из Intel-SDK на другой реализации OpenCL. То есть никакого interoperability не видать.

Остается ждать дальше. Конечно, VTune на скомпилированный kernel напустить интересно, но пока только в исследовательских целях...

Tags: