Про AVX и OpenCL

Вчера вышел Intel OpenCL SDK 1.5 с соответствующим анонсом: Increase OpenCL application performance with the new Intel OpenCL SDK 1.5

Пытаюсь enlarge increase эту самую performance, сую в бензопилу лом туда AMD-шные примеры, которые на предыдущей версии работали очень бодренько (и временами почти догоняли AMD-шную видеокарту) и вижу замедление в 2-3 раза для половины примеров.

Начинаю читать код и не вижу там 256-битности. Ну, почти не вижу. Кое-где есть 256-битные load/store, нашел даже один vandps ymm1,ymm1,[memory], но в подавляющем большинстве код - 128-битный.

Он и в прошлой версии был 128-битный, но какой-то более человеческий.

Зато есть пошаговый отладчик, если бы не он, я бы версию 1.5 сразу бы снес, а так - еще подумаю.

Ну то есть понятно, производительность не переносится, но 2-3 раза просадки - это беспредел.

Единственный пример, который стал быстрее, называется Histogram. Но его и старая версия отказывалась векторизовать (немудрено) и новая тоже не хочет.

Comments

О, надо же. Посмотрю обязательно. А отладчик в какой VS запускаете? А то заявлена поддержка VS2008, а у меня 2010 стоит.

Я под VS2008-м смотрел.

Никто же не запрещает этих студий иметь несколько на одной машине.

Так то да, но если у меня проекты в VS2010, то не совсем понятно, зачем мне пробовать дебаггер в VS2008.

В 2010-й я эту штуку в меню Tools (где, собственно, все включается) - не вижу. Пробовать что-то подебажить не стал, не до грибов сейчас.

Может быть ея туда можно как-то запихать, но тут я совсем не специалист.

Спасибо.

В Интеловском форуме пишут нам:

The Intel OpenCL kernel debugger doesn't currently work in VS 2010, only VS 2008. We hope to have 2010 support added in the future.

http://software.intel.com/en-us/forums/showthread.php?t=86648&o=a&s=lr

О, и еще раз спасибо!

На 20% агрегированно просела производительность у меня после перехода с 1.1 на 1.5.

А процессор с AVX?

Ага, i5-2500

Ну вот и мне кажется, что ерунду какую-то они выпустили.

Может быть и не их вина, а вовсе LLVM: тройка все никак не выйдет (а 2.9 - без AVX), я периодически обновляю из SVN и каждый раз там новые странности, то код удивительный мне, то компилятор падает на том, что раньше собирал.

А на Linux Вы ставили 1.5?

Да как-то не было повода, у меня Linux-машина включается далеко не каждую неделю

А там все иначе?

У меня не получилось, очевидно, от недостатка опыта. Там rpm пакет, при установке ругается на какие-то отсутствующие зависимости (типа stdlib-а нужной версии), а сам их скачать и поставить почему то не предлагает :) Расслабился я с deb пакетами :)

Под OpenSUSE 11.4 (rpm-based) встало без проблем. Что при этом качало и ставило - не посмотрел, GUI скрывает это от меня.

Проверял только Offline Compiler, работает.

Понял, спасибо.