Новости про OpenCL

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 доступны в файловой области проекта.

DirectCompute Benchmark версии 0.45

Последнее в этом году обновление бенчмарка DirectCompute/OpenCL.

Новая версия собрана с учетом изменений в финальном релизе AMD Stream SDK 2.0, кроме того сделаны следующие улучшения и исправления:

  • улучшена поддержка систем с несколькими графическими процессорами SLI/Crossfire;
  • программа теперь выдает более детальные сведения об ошибках;
  • за счет отказа от debug версий библиотек повысилась эффективность расчетов на CPU

К сожалению, как отмечает автор, окончательной стабильности работы с видеокартами AMD Radeon 4870x2 добиться так и не удалось. Следующая версия утилиты обещается не раньше января, а загрузить последнюю версию уходящего года можно, как всегда, с официального форума программы (~0,5 МБ).

GPU Caps Viewer 1.8.1

Экстренное обновление информационно-диагностической утилиты для поддержки OpenCL в ATI Stream 2.0.

В связи с релизом ATI Stream 2.0 и реализацией поддержки OpenCL в Windows через OpenCL ICD, автор программы GPU Caps Viwer выпустил версию, поддерживающую новый механизм инициализации OpenCL. Напомним, что NVIDIA также реализовала механизм OpenCL ICD в драйверах 195-й серии. Помимо этого, в GPU Caps Viwer 1.8.1 сделана экспериментальная поддержка расширения cl_khr_gl_sharing для взаимодействия между OpenGL и OpenCL, но в связи с неофициальным статусом поддержки данного раширения у AMD, для его проверки программу следует запускать через файл Start_OpenCL_With_GLInterop.bat.

Загрузить последнюю версию программы можно с официального сайта или с нашего (~3,5 Мб).

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 соотношение обычно обратное.

DirectCompute Benchmark версии 0.44

Небольшое обновление бенчмарка универсальных вычислений.

В новой версии 0.44 улучшена поддержка видеокарт AMD Radeon 4870X2 и добавлена совместимость с новыми драйверами AMD Catalyst версии 9.12. Напоминаем, что программа поддерживает как API Microsoft DirectCompute, входящий в состав DirectX 11, так и платформонезависимый OpenCL.

Загрузить программу можно из форума NGOHQ.com (~0,5 Мб).

GPU Caps Viewer версии 1.8.0

Обновилась информационно-диагностическая утилита GPU Caps Viewer.

Основным изменением в новой версии 1.8.0 стала поддержка OpenCL в дополнение к появившейся в прошлой версии поддержке NVIDIA CUDA. При наличии совместимых видеокарты и драйверов в программе появляется закладка OpenCL, содержащая подробные сведения о возможностях ускорения универсальных вычислений c помощью данного API, а также позволяющая проверить поддержку с помощью четырёх специальных тестов-демонстраций. Помимо этого, имеются следующие изменения и улучшения:

  • теперь выводится температура каждого графического процессора в системе;
  • две новых тест-демонстрации с использованием OpenGL 3.x;
  • обновлена встроенная база данных графических процессоров и расширений OpenGL;
  • исправлена ошибка определения объема оперативной памяти в системах с более 2 Гб RAM;
  • для видеокарт Radeon показываются частоты всех режимов производительности;
  • улучшен интерфейс программы. 

Загрузить последнюю версию утилиты можно с официального сайта либо с нашего (~3,5 Мб).

Тестирование Open CL в SiSoftware Sandra 2010

Недавно компания SiSoftware представила синтетический тестовый пакет Sandra 2010. Он среди прочих тестов включает несколько, предназначенных для проверки работы технологии Open CL.

Open CL — язык, позволяющий производить расчёты общего назначения средствами видеокарт (поддерживаются решения поколения DirectX 10 и выше).

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

Судя по этим тестам, видеокарты с поддержкой DirectX 11 значительно превосходят по вычислительным параметрам решения прошлого поколения. Так, ATI Radeon HF 5870 в несколько раз превосходит двухчипового флагмана предыдущего поколения — GeForce GTX 295.

Стоит, правда, заметить: SiSoftware предупреждает, что поддержка OpenCL 1.0 для видеокарт AMD находится в неокончательной стадии, но тем не менее. Очень интересно увидеть результаты Fermi.

Для проверки собственной видеокарты и сравнения её результатов с эталонными аналогами, можно скачать бесплатную Lite-Версию утилиты.

NVIDIA отвечает на вопросы о PhysX

В официальных форумах NVIDIA сотрудники корпорации ответили на ряд вопросов пользователей о PhysX.

В ходе компании «Would you like to Ask Nvidia A question?», проводимой в форуме NVIDIA, стали известны мнения некоторых сотрудников NVIDIA о перспективах развития и поддержки технологии NVIDIA PhysX.

Будет ли PhysX конкурентоспособна в мире DirectX 11/OpenCL?

Ответил Том Петерсен, директор по маркетингу технологий: PhysX не конкурирует с OpenCL или входящим в состав DX11 DirectCompute.

PhysX прежде всего интерфейс программирования и среда исполнения для моделирования игровой физики в компьютерных играх. Представьте PhysX как уровень над OpenCL или DirectCompute, которые в свою очередь являются низкоуровневыми интерфейсами для вычислений с помощью графических процессоров. Разработчики игр не создают контент на уровне OpenCL или DirectCompute, они творят, используя наборы инструментов (в том числе и предоставляемые NVIDIA), позволяющие создавать быстро. Как только у них получается качественный контент, они «компилируют» его под конечную платформу (будь то персональный компьютер или игровая приставка) используя другие инструменты.

В этом процессе студии исходят из трёх основных вопросов:

  1. Облегчает ли использование PhysX создание игр для любых платформ, включая консоли?
  2. Позволяет ли PhysX с легкостью включить сногсшибательные эффекты в игру?
  3. Поддержит ли NVIDIA усилия по внедрению данной технологии?

И ответ на все три вопроса следующий: да, да и еще раз — да. Мы тратим наши время и деньги на удовлетворение данных потребностей разработчиков, и в настоящее время сообщество игроделов не требует от нас поддержки OpenCL и DirectCompute.

В конечном итоге, успех PhysX как технологии будет зависеть от того, насколько легко её будет использовать разработчикам и насколько невероятные эффекты можно будет с ней создать. Игра Batman: Arkham Asylum является хорошим примером, каких эффектов можно достичь при использовании PhysX совместно с графическими процессорами NVIDIA, и мы работает над следующим поколением еще более неотразимых игр. В настоящее время NVIDIA не рассматривает возможности по миграции с CUDA на OpenCL или DirectCompute в качестве исполнительного движка для использования ускорения графических процессоров. Мы предпочитаем поддерживать разработчиков во внедрении поразительных спецэффектов.

Будет ли открыт исходный код PhysX?

Ответил Том Петересен: NVIDIA вложила огромные средства и время в PhysX и мы не планируем сегодня делать её общим достоянием. При этом, бинарные модули SDK доступны бесплатно и исходный код может быть лицензирован разработчикам игр, будь у них такая потребность.

Правда ли, что NVIDIA предлагала ATi получить PhysX при условии самостоятельного написания драйвера и осуществления поддержки пользователей? Или ATi правы в утверждениях, что NVIDIA сразу заявила, что никогда не позволит PhysX работать на графических процессорах ATi? Какова официальная позиция NVIDIA по вопросу разрешения ATi бесплатно создать драйвер для работы PhysX на их графических процессорах через OpenCL?

Ответил Джейсон Пол, менеджер продуктов GeForce: Мы открыты для лицензирования PhysX, и уже сделали это для целого ряда платформ, достаточно упомянуть PS3, Xbox, Nintendo Wii и iPhone. Мы желали бы сотрудничать и с AMD, если бы видели такое же желание с их стороны. Мы не можем раздавать технологию PhysX «бесплатно» по тем же причинам, по которым лицензии на Havok или архитектуру x86 не раздаются всем желающим безвозмездно — технология дорого обходится в разработке и поддержке. В целом, мы готовы лицензировать PhysX любой компании, которая сделает нам достаточно серьезное предложение.