Reply to comment

Intel OpenCL 1.5: AVX, отладчик, но плохая производительность

Tagged:  

Пощупал вышедший вчера Intel OpenCL SDK 1.5.

Заявленные новые фишки:

  • Поддержка AVX-векторизации (т.е. векторов в 256 бит)
  • Отладчик
Имею сказать:
Отладчик
Отладчик - работает. Пошаговая отладка, просмотр значений переменных, все отлично. С каким конкретно потоком работать - задается до запуска программы.

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

AVX и 256 бит
Генерируемый 256-битный код, на мой вкус, безумно странен. Да, 256-битные регистры (YMM) используются, но как-то очень редко.
Для тестирования производительности я взял 6 примеров из AMD APP SDK и запустил их c Intel OpenCL 1.1, а потом с 1.5. Результат меня огорчил:
  • BitonicSort, EigenValue, Nbody: исполнение под OpenCL 1.5 в 2.5-3 раза медленнее.
  • RadixSort: новая версия в 1.5 раза медленнее.
  • SimpleConvolution: время исполнения не изменилось.
  • Histogram: стало на 15% быстрее.
При этом Historgam новый OpenCL отказывается векторизовать (на старый - не посмотрел), а все остальные - векторизуются и от того стало хуже.

Помимо проблем с производительностью, у меня еще не запускается GUI к 64-битному Offline Compiler (комманд-лайн версия работает без проблем), с диагностикой "не найден файл" (а какой файл - не скажу). Проблема с ioclgui64 решается как написано в README: нужно явно прописать путь к Java Runtime, иначе или 32-битная версия ioclgui не находит 64-битную яву, или, наоборот, 64-битный gui страдает без явы 32-битной.

Мораль: хотите отладчика - ставьте новую версию. Для всех других использований рекомендовать ее трудно. Надеемся на скорый выход фиксов.

Reply

The content of this field is kept private and will not be shown publicly.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <i> <table> <td> <tr> <th>
  • Lines and paragraphs break automatically.
  • You can enable syntax highlighting of source code with the following tags: <code>, <blockcode>. The supported tag styles are: <foo>, [foo].
  • Images can be added to this post.

More information about formatting options

Copyright © 2008-2011 Alex Tutubalin