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

Появление OpenCL

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

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

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

Кстати, разработкой открытого стандарта занимаются в основном Khronos Group, Apple и NVidia. Но кроме них свою лепту внесли такие монстры компьютерной индустрии, как Activision Blizzard, AMD, ARM, Broadcom, Electronic Arts, Fujitsu, GE, Graphic Remedy, IBM, Intel, Motorola, Nokia, Petapath, QNX, Qualcomm, Samsung, S3, Texas Instruments, Toshiba и многие другие. Первая же версия стандарта появилась в конце 2008 года.

Нас, как обычных пользователей, этот стандарт интересует с позиции использования возможностей графической подсистемы.

Мощность и производительность графической системы

Последние несколько лет производительность граф. систем растет в геометрической прогрессии, если считать в гигафлопах. Самые мощные современные графические процессоры на даный момент могут выполнять более триллиона операций в секунду, для чего 12 лет назад требовался суперкомпьютер ASCII RED размером с комнату.

Технология OpenCL позволяет использовать фантастические (даже по сегодняшним меркам) возможности графических процессоров и предоставить к ним доступ различным программам. Таким образом, мощность графической подсистемы может быть использована не только в компьютерных играх или программах для 3D-моделирования.

Например, в бухгалтерских программах появится возможность работать со сложными методами финансового моделирования; графические файлы и видео в мультимедийных приложениях будут обрабатываться на более высоком уровне. А учёные и исследователи смогут выполнять задачи высокого уровня сложности на обычных компьютерах.

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

Задача во главе угла

Как уже упоминалось в начале, OpenCL автоматически подстраивается под тот тип графического процессора, который установлен в каждом конкретном Mac’е и корректирует собственное поведение в зависимости от мощности этого процессора. Именно благодаря этому обеспечивается стабильная точность вычислений и высокая скорость работы — ведь это результат устранения проблемы написания программ для разных графических процессоров. В этом и есть вся прелесть OpenCL.

Кроме этого, OpenCL — Open Computing Language (открытый язык вычислений) — является разновидностью языка C. Его синтаксис которого хорошо знаком многим программистам, которые при наличии инструментов Xcode смогут адаптировать любую программу для работы с этой технологией. Ведь для совместимости с OpenCL не нужно переписывать весь код приложения, достаточно изменить нужно только те фрагменты, которые требуют максимальной мощности. При этом основной код программы останется без изменений.

Вместо заключения

С помощью этой технологии Mac-разработчики могут легко получать доступ к мощностям GPU не только для решения графических задач. За счет параллельных вычислений можно повысить скорость работы многих приложений: от развлекательных программ до профессиональных решений для обработки видео и изображений и сложных научных исследовательских систем.

Точнее, это могут осуществить не только Маc-разработчики, а и вся компьютерная индустрия в целом.


Читайте также: