Пощупал вышедший вчера Intel OpenCL SDK 1.5.
Заявленные новые фишки:
- Поддержка AVX-векторизации (т.е. векторов в 256 бит)
- Отладчик
- Отладчик
-
Отладчик - работает. Пошаговая отладка, просмотр значений переменных, все отлично. С каким конкретно потоком работать - задается до запуска программы.
Несколько неудобно то, что путь до файла с исходными текстами передается в флагах компиляции. Казалось бы, компилятор все видит в момент компиляции, однако ж.
- AVX и 256 бит
- Генерируемый 256-битный код, на мой вкус, безумно странен. Да, 256-битные регистры (YMM) используются, но как-то очень редко.
- BitonicSort, EigenValue, Nbody: исполнение под OpenCL 1.5 в 2.5-3 раза медленнее.
- RadixSort: новая версия в 1.5 раза медленнее.
- SimpleConvolution: время исполнения не изменилось.
- Histogram: стало на 15% быстрее.
Помимо проблем с производительностью, у меня еще не запускается GUI к 64-битному Offline Compiler (комманд-лайн версия работает без проблем), с диагностикой "не найден файл" (а какой файл - не скажу). Проблема с ioclgui64 решается как написано в README: нужно явно прописать путь к Java Runtime, иначе или 32-битная версия ioclgui не находит 64-битную яву, или, наоборот, 64-битный gui страдает без явы 32-битной.
Мораль: хотите отладчика - ставьте новую версию. Для всех других использований рекомендовать ее трудно. Надеемся на скорый выход фиксов.