Накопилось сразу много новостей, мимо которых нельзя пройти мимо.
NVidia
High Performance Linpack для CUDA/Fermi
Внезапно обнаружил, что High Performance Linpack для Fermi с начала августа доступен на сайте Nvidia для зарегистрированных девелоперов.
Презентация про эту штуку есть тут: CUDA Accelerated Linpack for Clusters, пишут про 350 GFLOP/s для DGEMM на Tesla M2050 (только GPU) и 435 GFLOP/s для комбинации M2050+8CPU (2xQuad core Xeon 2.66). Для более мощной машины (CPU на 2.8 а не 2.33) показаны 475 GFLOP/s на DGEMM, 401 GFLOP/s для Linpack с одним GPU и 705 GFLOP/s с двумя GPU.
Нашлась еще статья китайцев: Early Linpack Performance Benchmarking on IPE Mole 8.5 Fermi GPU Cluster, где есть цифирка про 200 TFLOP/s на кластере из 320 узлов, по 6 GPU на узел.
NVidia OpenCL 1.1
NVidia в рассылке для девелоперов сообщает нам, что в драйверах начиная с 280.13 поддерживается OpenCL 1.1
Я пощупал драйвера 280.18 для Win7/x64, и так оно и оказалось.
Проверил все примеры из AMD APP SDK, существенная часть которых раньше не работала с NVidia т.к. требовала OpenCL 1.1. Ситуация стала лучше, хотя и не идеальной:
- Два примера должны бы работать, но не работают по причине разницы синтаксиса:
- FluidSimulation2D ломается c диагностикой "не могу преобразовать вектора разных размеров" на конструкции вида int8 = unsigned + int8.
- GlobalMemoryBandwidth ломается на вызове "overloadable" функции native_divide()
- Еще три примера ломаются т.к. NVidia не поддерживает ряд расширений (что вполне ожидаемо):
- DeviceFission - нет соответствующего расширения (хотя на Fermi его хотелось бы иметь, аппаратура то умеет)
- SimpleDX10 - нет интеграции с DX10
- TransferOverlap - работает, если не попросить для памяти флаг CL_MEM_USE_PERSISTENT_MEM_AMD
CUDA by Example на русском

Нам сообщают, что вышел русский перевод книги CUDA by Example.
ISBN: 978-5-94074-504-4, 978-0-13-138768-3
Доступна в онлайн-магазинах. например в Озоне и Лабиринте.
Я (исходный) английский вариант не читал, поэтому спиратил нашел в ознакомительных целях, быстро пролистал и удалил :).
Книга производит очень приятное впечатление как по порядку изложения материала, так и по полноте: помимо базовых вещей не забыты текстуры, не забыто взаимодействие с OpenGL/DX. В ней нет ничего про "продвинутые оптимизации", а вот как базовое изложение - очень понравилось.
О качестве русского перевода пока ничего сказать не могу.
Свежие GPGPU tools
В последние дни оба основных разработчика GPU обновили свои GPGPU toolkits до CUDA 4.0 RC2 и APP SDK 2.4, соответственно.
Новости одной строкой
Вдруг накопилось много мелких, но довольно существенных новостей, которые анонсирую одним текстом:
- Parallel Nsight Pro стал бесплатным
-
Pro-версия Parallel Nsight теперь раздается бесплатно (раньше - только версия Standard). Берут отсюда, требуется регистрация.
Профессиональная версия отличается наличием отладчика.
- Поддержка OpenCL включена в ATI/AMD Catalyst 11.x
-
До версии Catalyst 10.10, для поддержки OpenCL нужны были девелоперские драйвера, которые входили в Stream SDK. Начиная с 10.10 - появилась специальная версия с включенным OpenCL, которая ставилась как обычные драйвера, но пользователю нужно было специально скачивать эту версию.
В 11.1 (11.0 я пропустил и потому не знаю) все наоборот - в стандартный драйвер поддержка OpenCL входит, но если вам оно не надо, то можно скачать обрезанную версию на 20 мегабайт поменьше.
Другими словами, пользователя можно просить "поставь стандартные драйвера 11.x и будет тебе счастье.
- AMD выпустил готовый комплект преподавателя для курса по OpenCL
- AMD/ATI предлагает преподавателям готовый комплект из 13 презентаций и трех примеров кода (два примера - микроскопические, один - NBody), предназначенный для чтения лекций в университетах.
Про качество мне судить трудно, но посмотреть всяко имеет смысл.
Amazon EC2 и GPGPU
Амазон прислал сегодня уведомление, дескать начали продавать виртуальные машины с GPU (NVidia Tesla).
Конфигурация инстанса, вкратце:
- 22GB памяти
- 33.5 EC2 Compute units (это эквивалентно примерно 8-ядерному Xeon гигагерца на 2.5-3)
- Два ядра NVidia Tesla M2050
- 1.6TB instance storage
- 10G-Ethernet
Стоит это удовольствие $2.10 в час (плюс плата за трафик и за дополнительный сторадж, если потребуются) при оплате по потреблению. Если планируется большое потребление, есть варианты взять подешевле, смотрите цены.
Наличие 10G очень приятно: можно поднимать большие (и очень большие) кластеры.
Мне казалось, что Амазон не первый такой, однако быстрое гуглование не нашло ни одного сервиса, который предлагал бы (виртуальные) машины с Теслой и с почасовой оплатой без платы за установку/запуск. Поправьте меня, если конкуренты таки есть.
Update: Доступны первые бенчмарки из коих следует, что виртуализация практически не мешает, а на некоторых тестах Амазон оказался и вовсе быстрее, чем тестовое сравнительное железо....
Материалы GTC 2010
NVIDIA выложила в сеть материалы GPU Technology Conference 2010
Ссылка: http://developer.download.nvidia.com/compute/cuda/docs/GTC_2010_Archives.htm
Практически для всех материалов доступна "звуковая презентация" - слайды в виде видео и голос выступающего. Для некоторых выступлений - есть PDF-презентация.
Объем - чудовищный, 297 презентаций (если мой скрипт их правильно посчитал). Надеюсь, каждый найдет для себя много интересного.
Краткий обзор наиболее интересного (с точки зрения авторов обзора, конечно) можно найти тут Slidecasts: 300 Hours of GPU Technology Conference
OpenCL 1.1
Новостные сайты массово написали, что Khronos Group выпустила спецификации OpenCL 1.1 (вот, скажем, HardOCP).
Удивительно, но на сайте Khronos об этом знаменательном событи не написано (хотя вот на HardOCP лежит 3-страничный пресс-релиз). Ну да новость сегодняшняя, сначала пресс-релиз, потом сайт...уже написано, за час справились. К сожалению, удобного содержательного диффа не обнаружилось (кроме пресс-релиза), чтобы понять разницу - нужно 300+ страниц спецификации честно прочитать.
Из пресс-релиза, естественно, ничего существенного понять нельзя.
Но есть в этом и содержательная сторона: NVidia моментально прислала письмо, что у них есть Conformance Candidate (в письме, впрочем, в некоторых местах написано что OpenCL 1.0, ну так торопились), который доступен на девелоперском сайте.
И действительно, доступен. В числе прочего, там лежат виндовые драйвера версии 258.19, которые, как я понимаю, новее и текущих доступных на оф-сайте бета-драйверов 257.15 и прилагавшихся к свежему Нексусу 257.19.
А значит можно потестироваться на предмет, исправились ли странности бета-драйверов 257.15.
OpenCL: ATI + NVidia, текущее состояние дел (windows)
По случаю выхода , описанное в несколько устарело. Теперь все иначе, по меньшей мере под Windows.
OpenCL.DLL устанавливается и драйверами NVidia (поверх имеющегося) и ATI SDK (только если в системе такого нет? если в системе есть более старый?) . При этом тот вариант, который ставят драйвера NVidia 196.xx - хороший, позволяющий работать и с NVidia и с ATI картами без каких-то избыточных телодвижений, а вот ATI-шный в двухкарточном варианте у меня вызывал непонятные проблемы.
Еще об NVidia и ATI в одной машине
Как ни печально, но поведение драйверов NVidia ничем не лучше драйверов ATI: чтобы CUDA/OpenCL работали, к какой-то видеокарте NVidia должен быть подключен какой-то из активных дисплеев.
Таким образом, идея потестировать NVidia Nexus на одной машине с двумя видеокартами, одна ATI и одна NVidia, полностью провалилась: если к Geforce не подключать монитор, то с точки зрения CUDA/NEXUS этой карты не существует. Вот если бы у меня было две карты NVidia, разговор был бы другой.
OpenCL, NVidia, ATI и все все все....
Вопрос о совместимости OpenCL между железом разных производителей - является необычайно волнительным. Понятно, что задумывалось все совместимым, но насколько это получилось и сколько граблей разложено на пути к этой совместимости - отдельный интересный вопрос, который перешел в практическую плоскость сразу после выпуска ATI Stream SDK 2.0 beta 4, где появилась поддержка OpenCL на графическом адаптере. До того поддержка OpenCL на PC была только у NVidia и вопрос был сугубо теоретическим.
Как только мне в руки попал Radeon HD5870, так сразу захотелось тему исследовать... и в первом приближении я ее изучил.
CUDA 3.0 Beta
24 ноября стал публично доступен CUDA Toolkit 3.0 Beta.
Все ссылки на скачивание , их много, не вижу смысла тут дублировать.
К сожалению, в документации обновился только (и он же теперь ), вся остальная документация несет на себе гордую надпись Version 2.3.
Для работы нужен драйвер 195-й серии (195.62 уже не бета, по меньшей мере для Windows, от клиентов можно требовать апгрейда).
Cписок новых фич, кратко (более полный список - в Release Notes):
NVidia OpenCL Beta1
Спешу сообщить, что OpenCL SDK Beta1 от NVidia доступен на (т.е. опять через регистрацию, но на форумах ходят упорные слухи, что регистрируют сейчас быстро, особенно если вам есть что показать по CUDA: записки в блогах, статьи).
Поддержаные платформы: 4 вида Windows (XP/Vista, 32/64) и Linux. Mac OS, вероятно, ожидает снежных леопардов.
Для обсуждения и общения с разработчиками
OpenCL (NVidia)
На (только для бел.. зарегистрированных девелоперов, регистрация ) выложили OpenCL 1.0 Conformance Candidate Release