Декабрьские новости

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

OpenCL

Месяц назад был объявлен OpenCL 1.2, тут о нем еще не писалось, потому что писать особо нечего: изменения мне кажутся не слишком значительными (ну кроме лучшей интеграции с DX11), а реализаций все еще нет (но вот-вот могут появиться, см. ниже).

Nvidia

  • Вышел CUDA Toolkit RC2, доступный всем без предварительной регистрации. Судя по Release Notes, есть множество мелких (но существенных) изменений:
    • Компилятор теперь основан на LLVM, а не на Open32. Соответственно, возможны заметные изменения в эффективности в обе стороны, надо внимательно смотреть. Обещают ускорение up to 10%, но для некоторого кода жалуются на замедление.
    • Существенно расширены библиотеки (NPP, cuSPARSE, cuRAND)
    • P2P-communications (между картами, мимо CPU) теперь работают не только для Tesla, а для любых Fermi-карт.
    • И много других мелких улучшений.
  • К CUDA 4.1 вышел соответствующий Parallel NSight 2.1 RC2.

    В отличие от CUDA, он доступен пока только зарегистрированным девелоперам, причем не старым зарегистрированным девелоперам (на сайте nvdeveloper.nvidia.com), а на полностью новом developer.nvidia.com

    Для доступа к Parallel Nsight требуется одобрение вашей регистрации, в моем случае оно произошло в течение нескольких часов, ночью по калифорнийскому времени, а одобрение CUDA и вовсе прилетело мгновенно.

  • Помянутый выше LLVM-компилятор обещают заопенсорсить. Пока по этому адресу только форма регистрации, я зарегистрировался, посмотрим что дальше будет. В-принципе, JIT-компилятор CUDA, делающий код, заточенный под конкретное устройство на конкретной машине - полезная же вещь.

AMD

  • AMD APP SDK 2.6 Preview недоступен с родного сайта AMD, но доступен с GPU-Tech.org (сайт временами лежит). Обещают помянутый выше OpenCL 1.2, пока не смотрел: для работы требуется Catalyst 11.12, который вышел только сегодня, пока не успел.
  • AMD тоже опенсорсит свой компилятор (из OpenCL в IL). Не в виде анонса, а в виде патчей к LLVM 2.9 которые можно взять тут

Intel

Это не GPGPU, а data parallel, но все равно интересно. Интел зарелизил версию 1.1 своего SPMD Program Compiler. BSD-лицензия, LLVM-based.

Это такой компилятор C-подобного языка, позволяющий легко писать SIMD- и (с нашлепкой для multi-threading) MultiCore/SMP код. В отличие от OpenCL для CPU, этот код может работать с данными прямо по месту, без их копирования в буферы, что для задач с низкой арифметической интенсивностью оказывается очень выгодно.

Tags: