Linux Forum Казахстан

Общий => Новости => Тема начата: Zhek@Ch от 20 Октября 2011, 16:48

Название: OpenCL
Отправлено: Zhek@Ch от 20 Октября 2011, 16:48
[size="3"]Представлена открытая реализация OpenCL, базирующаяся на использовании LLVM [/size]

В списке рассылки разработчиков LLVM представлен (http://lists.cs.uiuc.edu/pipermail/llvmdev/2011-October/044266.html) проект Portable OpenCL (https://launchpad.net/pocl), в рамках которого ведётся разработка полностью открытой и независимой реализации стандарта OpenCL (http://www.khronos.org/opencl/), который определяет API и расширения языка Си для параллельного программирования с использованием как многоядерных CPU, так и GPU видеокарт.

Задача проекта - создать единую реализацию OpenCL, независимую от производителей графических ускорителей, которая позволила бы разработчикам не задумываться об особенностях той или иной реализации стандарта и применении специфических техник оптимизации. Для этого Portable OpenCL реализован по модульному принципу, позволяющему использовать различные бэкенды для выполнения OpenCL-ядер на разных типах графических и центральных процессоров. Пока проект находится в стадии активной разработки, поэтому доступен только один бэкенд, поддерживающий использование центрального процессора на базе архитектуры x86.

Также стало известно (http://lists.cs.uiuc.edu/pipermail/llvmdev/2011-October/044380.html) о появлении проекта по работе над открытой OpenCL-библиотекой, который имеет сходные цели, но гораздо меньшие масштабы. В рамках проекта libclc (http://www.pcc.me.uk/%7Epeter/libclc/) идет работа только над интерфейсом языка Си, описанном в стандарте, без реализации уровней OpenCL Platform и OpenCL Runtime. Для связи библиотеки с конкретной реализацией OpenCL от производителя используется простое переопределение функций. Цель проекта: позволить разработчикам использовать стандартные открытые средства разработки приложений вместо инструментов, предоставляемых производителями графических ускорителей.

Для генерации OpenCL-кода обе реализации используют инструментарий LLVM (http://www.llvm.org/). Дополнительно можно отметить ещё один открытый проект FreeOCL (http://code.google.com/p/freeocl/), в рамках которого создаётся реализация спецификации OpenCL 1.1, нацеленная на использование CPU (x86, x86_64, ARM, PPC64). Во FreeOCL вместо использования отдельного компилятора задействованы некоторые нововведения стандарта C++11 для использования внешних компиляторов, таких как GCC 4.4, ICC 11.0, LLVM 2.8 и armcc.

# opennet.ru (http://www.opennet.ru/opennews/art.shtml?num=32092)
Название: OpenCL
Отправлено: Zhek@Ch от 17 Ноября 2011, 00:16
[size="3"]Увидела свет спецификация OpenCL 1.2 [/size]

Комитет по разработке технологий Khronos, связанный с открытым графическим стандартом OpenGL, представил (http://www.khronos.org/news/press/khronos-releases-opencl-1.2-specification) обновлённую спецификацию OpenCL 1.2 (http://www.khronos.org/opencl/), определяющую API и расширения языка Си для организации кросс-платформенных параллельных вычислений с использованием как многоядерных CPU, так и GPU видеокарт. Спецификация OpenCL 1.2 полностью обратно совместима с выпусками OpenCL 1.0 и 1.1. Стандарт OpenCL является открытым и не требует лицензионных отчислений.

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

В работе над стандартом приняли участие более 30 компаний, среди которых: IBM, NVIDIA, AMD, Apple, ARM, Electronic Arts, Qualcomm, Texas Instruments, Toshiba, Intel, национальная лаборатория Los Alamos, Nokia. Компании Intel, ARM, AMD и NVIDIA уже объявили о намерении включить поддержку OpenCL 1.2 в ближайших выпусках своих продуктов. Дополнительно можно отметить, что начиная с выпуска проприетарных драйверов AMD Catalyst 11.11, run-time компоненты для обеспечения использования стандарта OpenCL теперь входят в комплект, что позволяет использовать OpenCL c GPU AMD/ATI только при наличии видеодрайвера, без необходимости установки AMD Stream SDK.

# opennet.ru (http://www.opennet.ru/opennews/art.shtml?num=32315)