The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Увидела свет спецификация OpenCL 1.2

16.11.2011 12:43

Комитет по разработке технологий Khronos, связанный с открытым графическим стандартом OpenGL, представил обновлённую спецификацию OpenCL 1.2, определяющую API и расширения языка Си для организации кросс-платформенных параллельных вычислений с использованием как многоядерных CPU, так и GPU видеокарт. Спецификация OpenCL 1.2 полностью обратно совместима с выпусками OpenCL 1.0 и 1.1. Стандарт OpenCL является открытым и не требует лицензионных отчислений.

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

  • Партицирование устройств - возможность разбиения на уровне OpenCL-приложения устройства на несколько подустройств для непосредственной привязки работ к конкретным вычислительным блокам, резервирования ресурсов для более приоритетных задач или более эффективного совместного использования аппаратных ресурсов, таких как кэш;
  • Раздельная компиляция и связывание объектов - появилась возможность создания динамических библиотек, позволяющих использовать в сторонних программах, ранее реализованные подпрограммы с OpenCL-вычислениями;
  • Расширенная поддержка изображений, включая возможность работы с одномерными изображениями и массивами одномерных или двухмерных изображений. Кроме того, в расширении для организации совместного доступа (sharing) добавлена возможность создания OpenCL-изображения на основе отдельных текстур OpenGL или массивов текстур;
  • Встроенные OpenCL-ядра теперь позволяют использовать возможности специализированного или непрограммируемого аппаратного обеспечения и связанных с ним прошивок. Например, появилась возможность использования возможностей и более тесной интеграции с фреймворком OpenCL таких устройств, как DSP-процессоры или видео кодировщики/декодировщики;
  • Возможность бесшовного совместного использования поверхностей (Media Surface Sharing) между OpenCL и API DirectX 9/11.

В работе над стандартом приняли участие более 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.

  1. Главная ссылка к новости (http://www.khronos.org/news/pr...)
  2. OpenNews: Представлена открытая реализация OpenCL, базирующаяся на использовании LLVM
  3. OpenNews: Компания Intel выпустила OpenCL SDK для Linux
  4. OpenNews: Вышла спецификация OpenCL 1.1, позволяющая задействовать GPU для вычислений
  5. OpenNews: Представлены финальные версии спецификации OpenCL 1.0 и OpenVG 1.1
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/32315-opencl
Ключевые слова: opencl
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (26) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Ваня (?), 13:27, 16/11/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Лучше бы та же nVidia открыла ABI своих видеокарт... Или реализовала OpenCL на уровне ABI.
     
     
  • 2.2, Аноним (-), 13:43, 16/11/2011 [^] [^^] [^^^] [ответить]  
  • –5 +/
    Ты, случаем, ABI с API не попутал, Ваняша?
     
     
  • 3.3, Ваня (?), 13:49, 16/11/2011 [^] [^^] [^^^] [ответить]  
  • +/
    "Важно понимать разницу между ABI и API. API определяет интерфейс между исходным кодом, создаваемой программы, и библиотеками, обеспечивая возможность компиляции этого кода на любой платформе. В свою очередь, ABI позволяет скомпилированному объектному коду функционировать без изменений на любой платформе, где используется та же конфигурация ABI. API не обеспечивает совместимость времени исполнения программы — это задача ABI." (вики)

    Проще: API - высокоуровневый, ABI - низкоуровневый.

     
     
  • 4.26, Аноним (-), 19:14, 16/11/2011 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Ваня, ты вообще термины понимаешь? У меня создалось впечатление, что без викип..оров ты вообще ноль.
     
     
  • 5.44, Аноним (-), 00:51, 17/11/2011 [^] [^^] [^^^] [ответить]  
  • +/
    >Ваня, ты вообще термины понимаешь? У меня создалось впечатление, что без викип..оров ты вообще ноль.

    Ничего личного, но у меня складывается впечатление (уже давно, т.к. сужу по его сообщениям) что они и с википи..ами даже нуль. Дело может быть в том что чтобы по-начтоящему понимать значение термина нужно знать что он скрывает за собой и "как это работает".

     
  • 2.7, rain87 (?), 14:47, 16/11/2011 [^] [^^] [^^^] [ответить]  
  • +1 +/
    эм. как можно открыть ABI? он или есть, или его нет. и вдогонку - при наличии АПИ - кто мешает написать и собрать бинарник, который (само собой) будет бинарно совместим с дровами, для которых был предоставлен апи?
     
     
  • 3.8, Ваня (?), 14:54, 16/11/2011 [^] [^^] [^^^] [ответить]  
  • –1 +/
    ABI - тот же API, но на низком уровне. В зависимости от того что считать верхом и низом можно считать ABI {Win32 API}, а API {MFC}. Как можно открыть: легко! Стандартизировать (наконец) и открыть протокол обмена с видеоадаптером без использования драйверов. Бинарник совместим с LIB/DLL, они с ядром, ядро с драйверами, драйвера с аппаратурой (API/ABI аппаратуры).

    Мне уже надоела эта репка: бабка за внучку, внучка за жучку, жучка за мышку, и т.д. Я хочу репку тянуть, а не вонючую задницу престарелого деда. С каждым годом появляются новые уровни абстракций которые ничего нового не несут. И новые протоколы (тот же OpenCL), которые также ничего нового не несут. НАДОЕЛО.

     
     
  • 4.10, rain87 (?), 15:39, 16/11/2011 [^] [^^] [^^^] [ответить]  
  • +/
    ну т.е. ты, грубо говоря, хочешь чтоб они открыли код драйверов (точнее, даже большего - чтобы они открыли спеки, по которым они пишут свои драйвера). я думаю все хотят :) если честно, не понимаю почему нвидия этого не сделает

    > ABI - тот же API, но на низком уровне. В зависимости от
    > того что считать верхом и низом можно считать ABI {Win32 API},
    > а API {MFC}

    не согласен. винапи это как раз апи. читай в той же википедии - An ABI should not be confused with an application programming interface (API) which defines a library of routines to call, data structures to manipulate, and/or object classes to use in the construction of an application using that particular (often language specific) API.
    половина винапи - это как раз описание структур, интерфейсов и всего прочего. а мфц это вообще отдельная библиотека, написанная на основе винапи

     
     
  • 5.12, Ваня (?), 15:49, 16/11/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Да, я хочу чётких стандартов по взаимодействию с аппаратурой. Причём желательно единый для всех производителей. Драйвера производителя могут быть закрыты, имея открытый стандарт будет выбор, которого сейчас нет.

    Приложения MFC не используют типы данных и функции Win32. Поэтому для приложения MFC родным API будет API MFC, а ABI - API Win32. Аналогично для приложений Win32 родным будет API Win32, а ABI - SYSCALL в ядро Windows, который вызывается из системных DLL.

     
     
  • 6.37, анон (?), 20:39, 16/11/2011 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >>Да, я хочу чётких стандартов по взаимодействию с аппаратурой. Причём желательно единый для всех производителей

    http://ru.wikipedia.org/wiki/OpenGL

    Всегда пожалуйста.

     
  • 6.40, Аноним (-), 21:23, 16/11/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > Да, я хочу чётких стандартов по взаимодействию с аппаратурой.

    Устройство аппаратуры может меняться. Например устройство видях амд и нвидии довольно существенно отличается. В том числе, системы команд SIMD элементов у них разумеется разные, такие как амд и нвидии было удобно по их мнению. OpenCL как раз и был сделан затем чтобы разработчики не факали мозг "какую же систему команд пользует вон тот девайс" а могли собрать из сорца opencl kernel который соберется под любой девайс и там заработает.  

     
     
  • 7.48, Ваня (?), 11:14, 17/11/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Вам слово "стандарт" что-нибудь говорит?
     
     
  • 8.49, Аноним (-), 17:18, 17/11/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Вам фраза Технический прогресс чего-нибудь говорит Или вы думаете что ваш ст... текст свёрнут, показать
     
  • 5.25, Аноним (-), 18:51, 16/11/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > ну т.е. ты, грубо говоря, хочешь чтоб они открыли код драйверов (точнее,
    > даже большего - чтобы они открыли спеки, по которым они пишут
    > свои драйвера). я думаю все хотят :) если честно, не понимаю
    > почему нвидия этого не сделает

    Это уже тысячу раз обсуждалось - вопрос инвестиции. Одним железом много не наторгуешься.
    Другой момент - открытые спеки ATI, много чего там сделано? Где поддержка OpenCL, где "работа  лучше проприетарного в тысячу раз"? От того, что у вас будут открытые спеки не поменяется ровным счётом ничего.

     
  • 4.11, ewhg (?), 15:41, 16/11/2011 [^] [^^] [^^^] [ответить]  
  • +/
    А кто сказал что abi не меняется, железо то как-раз постоянно меняется, а если надоел дед то переходи на ati , там вроде все открыто, по карайней мере так говорят.
     
     
  • 5.13, Ваня (?), 15:51, 16/11/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Открыты драйвера, закрыты спецификации. Какое то время назад они (и Интел) открыли документацию по видеокартам (старым в основном), но сейчас этого не делают. Есть открытый драйвер видеокарт nVidia, но его производительность оставляет желать лучшего.

    Могу ошибаться, за ситуацией не слежу.

     
     
  • 6.16, Аноним (-), 16:50, 16/11/2011 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Сильно ошибаешься... :)
    http://www.opennet.me/opennews/art.shtml?num=27691
     
     
  • 7.17, Ваня (?), 17:18, 16/11/2011 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Открытый код =/= Спецификация.
     
     
  • 8.35, анон (?), 20:34, 16/11/2011 [^] [^^] [^^^] [ответить]  
  • +/
    http www x org wiki RadeonFeature Сымый низ страници, раздел Documentation ... текст свёрнут, показать
     
  • 8.36, Аноним (-), 20:35, 16/11/2011 [^] [^^] [^^^] [ответить]  
  • +/
    была же ссылка, на кой её тереть Если R700 уже старая карта - то Ваня - неадекв... текст свёрнут, показать
     
  • 8.38, Аноним (-), 20:48, 16/11/2011 [^] [^^] [^^^] [ответить]  
  • +/
    http www opennet ru opennews art shtml num 19962 ... текст свёрнут, показать
     

  • 1.9, BratSinot (?), 15:23, 16/11/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Комплексных типов и функций все еще нет...
     
  • 1.14, Loooooker (?), 15:55, 16/11/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    "Раздельная компиляция и связывание объектов".
    А разве это не задача компилятора?
     
     
  • 2.22, Аноним (-), 18:25, 16/11/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > "Раздельная компиляция и связывание объектов".
    > А разве это не задача компилятора?

    А это и есть компилятор.

     
  • 2.34, BratSinot (?), 20:20, 16/11/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Там имеется ввиду OCL код, а не C, C++ или другой.
     
  • 2.41, Аноним (-), 21:25, 16/11/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > А разве это не задача компилятора?

    Ну так OpenCL получает на вход исходник opencl kernel и перегоняет его в нативный для целевого девайса вид. Разумеется комиплируя его :)))

     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру