Новости про GPGPU и OpenCL

AMD представляет FirePro W9100

Компания Advanced Micro Devices выпустила свою новую флагманскую профессиональную карту под названием Firepro W9100.

Последнее решение семейства профессиональных видеокарт компании нацелено на удовлетворение растущего рынка GPGPU расчётов и создания контента. Новая карта основана на GPU Hawaii и является первой в промышленности картой с 16 ГБ видеопамяти GDDR5 с пропускной способностью 320 Гб/с.

Видеоускоритель может похвастать предельно высокой производительностью, которая составляет 2 терафлопса при вычислениях с двойной точностью.

Представленный ускоритель основан на полностью разблокированном GPU Hawaii, который содержит 2816 потоковых процессоров, 176 TMU и 64 ROP. Кроме инженерных и GPGPU расчётов W9100 прекрасно подходит для профессионалов в области видеообработки, поскольку использует OpenCL ускорения, а производительности карты достаточно для обработки 4K видео в реальном времени.

Видеокарта Firepro W9100 пока ещё не поступила в продажу, сейчас компания лишь провела официальную презентацию платы, представив технические характеристики устройства.

Rightware анонсировали бенчмарк Basemark CL

Компания Rightware представила утилиту тестирования производительности Open CL в многоядерных системах.

Представленный тест производительности предназначен в первую очередь для тестирования скорости работы производителями оборудования, полупроводниковыми компаниями и их партнёрами для проведения оптимизаций выполнения расчётов посредством OpenCL.

Тест Basemark CL производит нагрузку посредством выполнения OpenCL расчётов, которые очень похожи на типичные нагрузки. Именно по этой причине результат тестирования, выдаваемый этой программой, предельно объективен и релевантен. Язык OpenCL может быть крайне полезен для увеличения производительности в играх и пользовательском интерфейсе, а также улучшения их внешнего вида и реалистичности за счёт внедрения игровых элементов и анимации, основанной на физических эффектах.
Представленная версия программы Basemark CL нацелена на настольные компьютеры. Компания Rightware уверяет, что расширенная версия этого же теста будет опубликована несколько позднее.

Несмотря на состоявшийся анонс загрузить программу пока ещё невозможно.

oclHashcat — взломщик паролей с использованием GPU

Забытый пароль вскоре может перестать быть проблемой. 

Развитие GPGPU-технологий осложнило жизнь системным администраторам и простым пользователям, заботящимся о защите своих данных: вскрытие пароля нормальной длины и сложности путём перебора, ранее считавшееся доступным лишь спецслужбам и группам хакеров, стало возможным почти для каждого — достаточно «натравить» на пароль современную видеокарту на базе логики AMD и NVIDIA. Программа oclHashcat, в отличие от специализированных GPGPU-утилит для вскрытия паролей баз данных и архивов RAR, является настоящим комбайном, умея подбирать хэши MD5, SHA1, NTLM, кэшированных паролей домена и паролей баз данных MySQL. Поддерживаются видеокарты как на базе AMD (OpenCL, требуется Catalyst 10.12 и ATI Stream SDK), так и NVIDIA (CUDA, требуется драйвер 260.хх и новее), программа работает в Windows и Linux.

Производительность перебора для современных карт составляет:

  • GeForce GTX 480: 1041 M c/s
  • GeForce GTX 580: 1217 M c/s
  • Radeon HD 5870: 1211 M c/s
  • Radeon HD 6970: 1575 M c/s

Интересно, что программа умеет использовать и несколько GPU одновременно в системах SLI/Crossfire (до 16, по заявлениям авторов). Будучи основанной на коде Hashcat, к программе могут подключаться словари аналогичного формата для дополнительного ускорения перебора. Лишь сложный консольный интерфейс отпугнёт желающих восстановить свой забытый пароль или узнать чужой.

AMD предлагает инвестировать средства на поддержку разработчиков программ для архитектуры Fusion

AMD имеет большие планы на Fusion и планирует выделять инвестиции, направленные на создание прочной базы разработчиков.

В интервью PC World, директор AMD по продажам Fusion Джон Тейлор объявил о планах AMD по инвестированию в программное обеспечение для разработки приложений, предназначенных для нового поколения процессоров. Тейлор также отметил, что AMD будет вкладывать средства в компании, занимающиеся разработкой оборудования и комплектующих для поддержки архитектуры Fusion.

Тейлор отметил, что целью AMD является ускорение внедрения уникальных решений и вычислительных приложений, специально разработанных для использования комплексной архитектуроы Fusion. Он отметил, что графические процессоры могут, среди прочего, ускорять приложения рендеринга и обеспечивать безопасность браузеров.

Ранее AMD и NVIDIA поддержали усилия по использованию GPU при вычислениях. AMD оказывает помощь разработчикам OpenCL, а NVIDIA оказывает содействие развитию CUDA в течение многих лет.

Тейлор подтвердил, что AMD уже сделала некоторые, связанные с Fusion, стратегические инвестиции, но не раскрыл название компаний, принимающих участие в программе.

Подробнее вы можете прочитать на сайте pcworld.com (на английском).

Окончательные спецификации OpenCL 1.1

Один из лидеров в мире Open Source программирования, Khronos Group сегодня опубликовал спецификации OpenCL 1.1 — первое крупное обновление OpenCL, распространяемое бесплатно.

Версия OpenCL 1.1 добавляет значительные функциональные возможности для расширения возможностей параллельного программирования и привносит в создаваемые приложения больше гибкости, функциональности и производительности, в том числе засчет:

  • новые типы данных, в том числе 3-х компонентные вектора и дополнительные графические форматы;
  • обработка команд из нескольких хостов и использование буфера между несколькими устройствами;
  • операции по отдельным частям буфера в том числе чтение, запись и копирование 1D, 2D или 3D прямоугольных областей;
  • расширенное использование событий и систем управления командами;
  • дополнительные OpenCL C встроенные функции, такие как: integer clamp, shuffle и asynchronous strided copies;
  • улучшенная совместимость с OpenGL на основе эффективного обмена изображениями и буферами для связи OpenCL и OpenGL событий.

Напомню, в рабочую группу OpenCL входят такие известные компании, как: AMD, Apple, Blizzard Activision, Electronic Arts, Ericsson, IBM, Intel, Nokia, S3 Graphics, Sony, STMicroelectronics, Symbian, Texas Instruments и, конечно же, NVIDIA.

Swan — преобразователь программ CUDA в OpenCL

Инструмент для собирающихся переводить имеющиеся GPGPU программы с CUDA на OpenCL.

Консольное приложение Swan позволяет в среде Linux автоматически преобразовать исходный код ядра CUDA-программ в ядро OpenCL. Программа заменяет вызовы функций и создаёт новые точки входа. Также предлагается собственный «абстрактный» API, позволяющий создавать программы, равно легко конвертируемые с помощью Swan в CUDA или OpenCL.

Конечно, программа имеет множество ограничений, пока что не поддерживается работа с несколькими устройствами и конвертация для выполнения CUDA/OpenCL кода на CPU, как и использование возможностей C++ в исходном тексте CUDA-программы. Будем надеяться, что подобные экономящие время инструменты не останутся без развития, благо программа выпущена под GPL и исходный код доступен. Загрузить утилиту можно с официального сайта.

ATI Stream SDK 2.01 с улучшенной поддержкой OpenCL

AMD дорабатывает средства GPGPU для разработчиков приложений.

Новая версия 2.01 пакета Stream для неграфического использования GPU AMD содержит изменения «средней тяжести»:

  • ATI Stream Profiler теперь полностью интегрируется в среду Microsoft Visual Studio 2008;
  • поддержка Red Hat® Enterprise Linux версии 5.3;
  • поддержка отладки ядра приложений OpenCL с помощью отладчика GNU в среде Linux;
  • предварительная реализация взаимодействия OpenCL и Direct3D 9/10;
  • четыре новых примера;
  • поддержка отдельно загружаемого средства анализа производительности Stream KernelAnalyzer;
  • исправление множества проблем с компиляцией и исполнением OpenCL;
  • поддержка разработки на Radeon HD 5670 и 5570.

Загрузить пакет ATI Stream можно с сайта AMD для 32- и 64-разрядных версий OpenSUSE, RHEL, Ubuntu, Windows XP, Vista и 7.

Наиболее интересным представляется запрятанная в нёдрах Release Notes улучшенная поддержка ATI CAL, низкоуровневого API для AMD GPU, являющегося эквивалентом CUDA driver-level API у NVIDIA. Теперь можно использовать CAL и OpenCL в одном приложении, и даже запускать OpenCL-программы при неустановленном драйвере Catalyst, что будет востребованным в серверной среде. ATI CAL также позволяет достичь большей производительности с графическими процессорами AMD предыдущих поколений, чья совместимость с OpenCL ограничена.

А вот что не исчезло, так это проблемы с работой OpenCL в системах с установленными реализациями как от AMD, так и от NVIDIA. Разработчикам по-прежнему, как в цирке, приходится перебрасывать из руки в руку библиотеки OpenCL.dll от конкурентов для отладки универсального приложения.

gDEBuggerCL — отладчик для OpenCL

API универсальных вычислений обретает популярность и обрастает различными вспомогательными инструментами для разработчиков.

Вслед за проектом компилятора OpenCL появился и проект специализированного отладчика OpenCL-программ gDEBugger CL, от известной своими отладчиками OpenGL фирмы Graphic Remedy. Судя по обещаемым возможностям, инструмент придётся впору каждому разработчику на OpenCL:

  • определение проблем производительности параллельных вычислений;
  • остановка, редактирование и продолжение работы ядра OpenCL программы «на лету»;
  • расставление точек останова для ошибок OpenCL, вызовов функций, утечек памяти;
  • визуальный просмотр потребления памяти OpenCL приложением;
  • просмотр данных OpenCL как изображений и как «сырцов»;
  • отслеживание времени выполнения инструкций OpenCL;
  • ведение истории вызовов;
  • просмотр взаимозависимостей между OpenCL- и OpenGL-кодом, разделяемых объектов.
Инструмент пока находится на стадии бета-тестирования, записаться в которое можно по электронной почте с сайта проекта. Релиз ожидается во втором квартале 2010 года, для платформ Windows, MacOS и Linux. Цены и политика лицензирования пока не озвучены.

Проект компилятора для OpenCL

API универсальных вычислений обретает популярность и обрастает различными вспомогательными инструментами для разработчиков.

На известном хостинге open-source проектов Sourceforge.net появился проект OpenCL Kernel Compiler. Как следует из аннотации, clcc (тонкая аллюзия на gcc, надо полагать) предназначен для проверочной сборки файлов ядра OpenCL-программы, предоставляя удобные средства обнаружения и информирования об ошибках компиляции. Прежде программистам приходилось самостоятельно добавлять всю логику обнаружения ошибок компиляции в исходные тексты программ и проверять ядро OpenCL уже при исполнении. Как исходный текст компилятора для Unix/Linux, так и бинарные сборки для Windows и MacOS доступны в файловой области проекта.

AMD признала ограниченную пригодность Radeon 4xxx для OpenCL

Владельцы видеокарт 4000 серии недолго радовались долгожданной поддержке OpenCL — архитектурные ограничения R700 снижают эффективность универсальных вычислений.

В форуме AMD для разработчиков сотрудник компании дал объяснения наблюдаемому феномену низкой производительности вычислений OpenCL на видеокартах Radeon 4000 серии. Как следует из объяснения, архитектура R700 не была изначально приспособлена для OpenCL, в отличие от новой архитектуры «Cypress». В частности, при использовании локальной видеопамяти она эмулируется в глобальной, что приводит к удвоенному расходу памяти.

Сотрудник AMD сказал, что впоследствии будет приняты меры по улучшению производительности OpenCL для видеокарт 4000 серии, но кардинальных перемен ждать не следует. Для достижения приемлемой производительности следует специально писать программы с учетом данной особенности R700, используя по-возможности регистры GPU вместо локальной памяти.

Напомним, что официальная поддержка OpenCL для видеокарт Radeon 4xxx появилась лишь в этом месяце с выходом исправления для драйверов Catalyst версии 9.12, причем ожидавшаяся поддержка для более старых карт 3ххх и 2ххх серий была официально отменена. Одними из первых феномен низкой производительности в OpenCL отметили пользователи утилиты DirectCompute Benchmark: согласно сообщениям в форуме программы видеокарты 4800 серии показывают в полтора-два раза меньший результат в OpenCL по сравнению с результатом в Microsoft DirectCompute, в то время как для видеокарт 5800 серии и видеокарт NVIDIA соотношение обычно обратное.

NVIDIA любит все API, поддерживающие GPU-вычисления

Как известно, Microsoft продвигает DirectCompute для Windows 7, а Apple — OpenCL в Snow Leopard, но NVIDIA верит, что обе компании вдохновлены CUDA.

Иен-Сан Юань во время своего последнего визита в Китай сказал: «Нам нравятся оба эти API, и мы первыми представили компиляторы и драйверы для них. Мы выпустили первый OpenCL-драйвер, первый драйвер с DirectCompute, при этом у нас до сих пор лучший в мире OpenCL-драйвер и мы всё ещё имеем лучший DirectCompute-драйвер, а также лучший в мире CUDA C-компилятор. Причина, по которой мы любим эти API в том, что нам нравятся любые методы программирования GPU».

Он также заметил, что как DirectCompute, так и OpenCL преимущественно сфокусированы лишь на одной операционной системе, тогда как CUDA является куда более открытой платформой.

Также господин Юань подчеркнул преимущества CUDA в качестве стандарта: «Если вам нужны GPU-вычисления для Linux, у нас есть CUDA, если вам нужны GPU-вычисления в будущем для Android, CUDA на сотовых телефонах, или GPU-вычисления на сотовых телефонах, у нас есть CUDA».

AMD и Pixelux объединят усилия для ускорения физики на OpenCL

Шесть месяцев назад компания AMD вместе с Havok во время конференции разработчиков игр демонстрировала аппаратное ускорение физики тканей через OpenCL. Однако, по всей видимости, далее такой демонстрации пока дело не пойдёт: Intel не хочет выпускать Havok с поддержкой аппаратного ускорения до выхода Larrabee. Поэтому на днях компания AMD в пресс-релизе сообщила о начале работы c компаний Pixelux Entertainment, разработчиком третьего по популярности физического движка Bullet Physics.

Результатом этого сотрудничества должно стать появление версии движка Bullet Physics, поддерживающего ускорение средствами видеокарт через стандарт OpenCL. Важно отметить, что в отличие от PhysX, AMD собирается создать полностью открытый стандарт, ускоряющий физику с помощью любого оборудования OpenCL на любой платформе, в том числе и средствами видеокарт NVIDIA GeForce.

Между прочим, движок Bullet Physics использовался в такой достаточно известной игре как Star Wars: The Force Unleashed и Indiana Jones от LucasArts, версия для ПК которой выходит в этом году.

Выбор AMD пал на OpenCL, а не на DirectCompute потому, что последний стандарт привязан к APIDirectX, то есть к Windows, в то время как OpenCL является отдельным, цельным вычислительным решением.

Не упустила AMD в своём пресс-релизе и сделать упрёк в сторону PhysX, отметив, что NVIDIA, создав стандарт, исполняющейся только на видеокартах GeForce, разделяет пользователей и разработчиков и тем самым тормозит развитие графической индустрии.

Однако, если NVIDIA столкнётся с сильным открытым стандартом ускорения физики, то она быстро перенесёт PhysX на OpenCL или DirectCompute, что позволит разработчикам, наконец, без оглядки на производителей оборудования использовать в своих играх богатые физические эффекты. Ждём OpenCL-версию Bullet Physics.

15 октября NVIDIA выпустит бета-версию Nexus

На технологической конференции, посвященной видеоускорителям, (GPU Technology Conference), которая проходит сейчас в Сан-Хосе, NVIDIA снова показала свою разработку Nexus — первую среду GPU/CPU-разработки, интегрированную в Microsoft Visual Studio.

Nexus поддерживает Windows 7 и Vista и дает возможность разработчикам приложений, использующим вычислительные мощности видеокарт, с помощью средств Microsoft Visual Studio не прибегать к необходимости создавать различные версии программ.

Пакет Nexus включает:

  1. Отладчик кода CUDA C, HLSL и DirectCompute, поддерживающий контрольные точки источника и данных, а также прямой анализ использования памяти видеокарты. Вся отладка исполняется непосредственно на оборудовании.
  2. Инструмент для оценки производительности системы с учетом GPU-событий (ядра, запросы API, передачи по памяти) и CPU-запросов (использования ядер, события передачи запросов и их обработки, а также интервалов ожидания) — всё это отражается на единой взаимосвязанной временной шкале.
  3. Графический инспектор предоставляет разработчикам возможность отладки и профилирования кадров, визуализированы с помощью таких API, как Direct3D. Разработчики смогут использовать этот инструмент для изучения влияния каждой текстуры, вершинных буферов и состояния API в кадре.

NVIDIA планирует выпустить бета-версию Nexus 15 октября. Более подробно с этой средой разработки можно ознакомиться на официальном сайте NVIDIA для разработчиков. Там можно увидеть Nexus в работе, узнать возможности, которые будут включены в бета-версию, а также изучить новую архитектуру CUDA в связи переходом в Fermi на принцип MIMD (Many Instructions Many Data).

AMD поддерживает физический движок Bullet, разрабатываемый на GeForce

Журналисты ресурса Fudzilla сообщили, что на одной из конференций NVIDIA сказала, что господин Эрвин Куманс, создатель движка Bullet Physics разрабатывает его на картах GeForce. Между прочим, именно этот физический движок AMD хочет ускорить с помощью своих видеокарт через OpenCL.

Также Эрвин Куманс отметил: «Ускорение средствами видеокарт AMD расчётов Bullet через OpenCL будет работать на любом совместимом драйвере: к примеру, мы использовали видеокарты NVIDIA GeForce для нашей разработки и даже применили код из их инструментов для разработчиков: NVIDIA является отличным технологическим партнёром».

Это означает, что аппаратное ускорение Bullet разрабатывается на видеокартах NVIDIA GeForce, несмотря на то, что AMD собирается представить драйвер и аппаратное ускорение для Bullet Physics. Кстати, это же сообщение говорит в пользу того, что аппаратное ускорение Bullet Physics будет прекрасно работать на видеокартах GeForce.

Так или иначе, но NVIDIA сейчас намного впереди с реализацией аппаратного ускорения физики: её движок PhysX является самым популярным. Havok занимает второе место, однако Intel, владеющая этим стандартом, ни за что не даст реализовать аппаратное ускорение физики Havok на видеокартах AMD или NVIDIA: ей он ещё понадобится для Larrabee.

Bullet Physics занимает лишь третье место, однако, благодаря будущей поддержке OpenCL и полной открытости, у него есть все шансы примирить разработчиков и производителей видеокарт, став индустриальным стандартом.

Есть ещё один достаточно популярный физический движок — Open Dynamics Engine, однако он занимает всего 4,1 % рынка.

Snow Leopard использует OpenCL для кодирования видео

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

К примеру, сотрудники ресурса Engadget протестировали программу MovieGate для MacOS X Snow Leopard, в последней версии которой ведена поддержка OpenCL для кодирования и декодирования видео.

Так, при тестировании системы Mac Pro с 4-ядерным процессором Intel 2,66 ГГц и видеокартой GeForce 8800GT, скорость кодирования видеопотока MPEG-2 в MovieGate в Snow Leopard повысилась по сравнению с Leopard с 104 кадров в секунду до 150, то есть в 1,5 раза. Также при декодировании видеопотока загрузка процессора снизилась со 165 % до 70 %.

Не очень впечатляющий прирост от использования OpenCL, но все-таки он есть и это только начало.