CUDA

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

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

OpenCL

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

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 на узел.

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 и будет тебе счастье.

Берут из стандартного места для Catalyst

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: Доступны первые бенчмарки из коих следует, что виртуализация практически не мешает, а на некоторых тестах Амазон оказался и вовсе быстрее, чем тестовое сравнительное железо....

Параллельное программирование на современных видеокартах - слайды

Выкладываю слайды со встречи, проходившей вчера на физфаке МГУ.

По сравнению с тем, что было показано в аудитории, стало чуть больше слайдов и добавлен небольшой список литературы (учебные курсы и статьи, которые упоминались с голоса)

Полная презентация в PDF-формате доступна тут: Parallel-Programming-On-GPU-29092010-PhysDept-MSU.pdf

CUDA 3.1 beta

На девелоперском сайте NVIdia (увы, нужен логин туда), выложили CUDA 3.1 Beta.

Из реально вкусного, там 16-way kernel concurrency, плюс обновления для CUBLAS/CUFFT.

Но:

  • Примеров (GPU Computing SDK) пока нету, только сам CUDA Toolkit.
  • Драйвера, поддерживающие все это дело - только для Tesla. Наверное, можно их поставить обычным хаком (прописав PCI IDs в setup.inf), но я не стал. Update: драйвера 257.15 для GTX480 появились на сайте NVidia в разделе с бета-драйверами.
Релиз обещают "в следующем месяце", проще подождать.

Update: в форум запостили ссылку на TPB со всем этим счастьем. Update2: С драйверами 197.xx не работает.

NVdia Nexus: работа из виртуальной машины

После успеха с запуском NVidia Nexus на двух машинах, я загорелся сделать это на одной.

Стандартные системные требования в этом случае простые: две G92/G200 видеокарты, к одной подключается монитор (мониторы, если их несколько), вторая настраивается как "ускоритель PhysX" (без подключенного монитора) и все должно работать.

У меня в рабочей машине - две видеокарты, но одна из них NVidia, а вторая - ATI и сделать так, как написано выше - невозможно, если отключить от NVidia-карты мониторы, то она пропадает из системы, запустить CUDA-программу даже локально (без Nexus) не выходит. Вынимать ATI (менять на NVidia) не хотелось, для третьей двухслотовой карты места в машине нет, покупать еще одну видеокарту хотелось еще меньше.

После успеха с запуском NVidia Nexus на двух машинах, я загорелся сделать это на одной.

Стандартные системные требования в этом случае простые: две G92/G200 видеокарты, к одной подключается монитор (мониторы, если их несколько), вторая настраивается как "ускоритель PhysX" (без подключенного монитора) и все должно работать.

У меня в рабочей машине - две видеокарты, но одна из них NVidia, а вторая - ATI и сделать так, как написано выше - невозможно, если отключить от NVidia-карты мониторы, то она пропадает из системы, запустить CUDA-программу даже локально (без Nexus) не выходит. Вынимать ATI (менять на NVidia) не хотелось, для третьей двухслотовой карты места в машине нет, покупать еще одну видеокарту хотелось еще меньше.

Курс по CUDA для всех желающих (Москва)

В прошлом году я прощелкал, а в этом - нет, успеваю анонсировать.

С 24 февраля по 12 мая, еженедельно, по вторникам, на ВМиК МГУ (Москва, Воробьевы горы, м. Университет) будет читаться второй уже курс программирования NVidia CUDA для всех желающих.

Процитирую из анонса:

Московский Государственный Университет им. М.В. Ломоносова совместно с компанией NVIDIA приглашает заинтересованных студентов пройти специализированный курс "Архитектура и программирование массивно-параллельных вычислительных систем" на основе технологии CUDA. В рамках курса вы узнаете о современных многоядерных архитектурах, моделях программирования и основополагающих принципах, лежащих в основе построения эффективных параллельных алгоритмов. Вы также познакомитесь с реализациями типичных алгоритмов и задач, возникающих в цифровой обработке сигналов, математическом моделировании и гидродинамике. По окончании курса вы сможете применить свои знания на практике уже сегодня при решении вычислительноемких задач в ваших курсовых и дипломных работах. Приобретенные знания необходимы для всех, кто планирует связать свое будущее с высокими технологиями и высокопроизводительными вычислениями. Всем студентам, успешно завершившим курс "Архитектура и программирование массивно-параллельных вычислительных систем" будут выданы дипломы.

Еще об NVidia и ATI в одной машине

Как ни печально, но поведение драйверов NVidia ничем не лучше драйверов ATI: чтобы CUDA/OpenCL работали, к какой-то видеокарте NVidia должен быть подключен какой-то из активных дисплеев.

Таким образом, идея потестировать NVidia Nexus на одной машине с двумя видеокартами, одна ATI и одна NVidia, полностью провалилась: если к Geforce не подключать монитор, то с точки зрения CUDA/NEXUS этой карты не существует. Вот если бы у меня было две карты NVidia, разговор был бы другой.

CUDA 3.0 Beta

24 ноября стал публично доступен CUDA Toolkit 3.0 Beta.

Все ссылки на скачивание в теме форума NVidia, их много, не вижу смысла тут дублировать.

К сожалению, в документации обновился только Reference Manual (и он же теперь есть online), вся остальная документация несет на себе гордую надпись Version 2.3.

Для работы нужен драйвер 195-й серии (195.62 уже не бета, по меньшей мере для Windows, от клиентов можно требовать апгрейда).

Cписок новых фич, кратко (более полный список - в Release Notes):

Ссылки с веба

Для тех, кому лень следить за gpgpu.org две тщательно отобранных ссылки, показавшихся мне интересными (остальные полтора десятка свежих материалов - не зацепили)

CUDA 2.1

Вышла NVidia CUDA 2.1 (релиз). На официальном сайте пока нет, все ссылки для скачивания лежат в форуме по CUDA, обсуждать предлагается в отдельном треде, но обсуждение пока не очень интересное.

CUDA 2.1 beta

Вышла NVidia CUDA 2.1 BETA.

Из заметных изменений:

  • Поддержка компиляции .PTX-кода на лету (драйвером)
  • Поддержка TESLA на Висте
  • Расширено взаимодействие с Direct3D
  • Поддержан Microsoft Visual C++ 9 (VS2008)

Скачать можно откуда обычно: Get CUDA, для скачивания предлагаются драйвер и CUDA Toolkit, судя по всему SDK пока не обновлен.

Syndicate content
Copyright © 2008-2011 Alex Tutubalin