О OpenCL для OS X

OpenCL™ (Открытый Вычислительный Язык) является открытым стандартом для межплатформенного, программирования современных высоко параллельных архитектур процессора. Начатый с OS X v10.6, OpenCL состоит из основанного на C99 языка программирования, разработанного для параллелизма, мощное планирование API, и гибкое время выполнения, выполняющее ядра на CPU или GPU. OpenCL позволяет Вашему приложению использовать вычислительную мощность этих процессоров для улучшения, производительность и поставлять новые функции на основе вычисляют - интенсивные алгоритмы.

Кроме того, для поддержки для стандарта OpenCL 1.1 OS X v10.7 добавляет интеграцию между OpenCL, Grand Central Dispatch (GCD) и XCode для создания еще проще использовать OpenCL в приложении.

Сразу

Используя OpenCL проще чем когда-либо с OS X v10.7:

Можно, конечно, продолжать использовать код, который Вы уже записали в стандарт OpenCL 1.1. Но посмотрите Совместимость на уровне двоичных кодов Ядер OpenCL для примечания о том, как обработать существующие двоичные файлы.

Поскольку OpenCL C основывается на C99, Вы свободны обработать свои данные в функциях OpenCL C, как Вы были бы в C с немногими ограничениями. Кроме поддержки рекурсии и указателей функции, нет многих функций языка, что C имеет тот OpenCL C, не имеет. Фактически, OpenCL C обеспечивает несколько выгодных функций, которые язык программирования C не предлагает исходно, такие как оптимизированные функции доступа к образу. OpenCL C имеет встроенную поддержку вектора intrinsics и предлагает векторные типы данных. Операторы в OpenCL C перегружаются, и арифметика выполнения между векторными типами данных синтаксически эквивалентна выполнению арифметики между скалярными значениями. Обратитесь к Спецификация OpenCL для большего количества подробных данных о встроенных функциях и средствах языка C OpenCL.

Предпосылки

Это руководство предполагает, что Вы программируете в C и имеете доступ к Спецификации OpenCL. Несмотря на то, что это руководство обсуждает много API-функций ключа OpenCL, оно не предоставляет подробную информацию о OpenCL API или языке программирования OpenCL C.

См. также

Спецификация OpenCL, доступная от Khronos Group в http://www .khronos.org/registry/cl/, предоставляет информацию о стандарте OpenCL.

Руководство по программированию OpenCL Aaftab Munshi, Бенедиктом Гэстером, Тимоти G. Мэттсон, Джеймс Фун, и Дан Гинсбург, доступный от Pearson Education, Inc., является полезным введением в язык OpenCL и стандарт; эти темы не обсуждены в этой книге.

Для получения дополнительной информации о Центральных очередях Отгрузки, см. Руководство по программированию Параллелизма: Очереди Отгрузки.