Комитет по разработке технологий Khronos, связанный с открытым графическим стандартом OpenGL, представил (http://www.khronos.org/news/press/khronos-releases-opencl-1....) обновлённую спецификацию OpenCL 1.2 (http://www.khronos.org/opencl/), определяющую API и расширения языка Си для организации кросс-платформенных параллельных вычислений с использованием как многоядерных CPU, так и GPU видеокарт. Спецификация OpenCL 1.2 полностью обратно совместима с выпусками OpenCL 1.0 и 1.1.
В новой версии отмечено множество небольших улучшений, связанных с увеличением гибкости языка и оптимизацией производительности. Из добавленных в OpenCL 1.2 значительных новшеств отмечается:- Партицирование устройств - возможность разбиения на уровне OpenCL-приложения устройства на несколько подустройств для непосредственной привязки работ к конкретным вычислительным блокам, резервирования ресурсов для более приоритетных задач или более эффективного совместного использования аппаратных р...
URL: http://www.khronos.org/news/press/khronos-releases-opencl-1....
Новость: http://www.opennet.me/opennews/art.shtml?num=32315
Лучше бы та же nVidia открыла ABI своих видеокарт... Или реализовала OpenCL на уровне ABI.
Ты, случаем, ABI с API не попутал, Ваняша?
"Важно понимать разницу между ABI и API. API определяет интерфейс между исходным кодом, создаваемой программы, и библиотеками, обеспечивая возможность компиляции этого кода на любой платформе. В свою очередь, ABI позволяет скомпилированному объектному коду функционировать без изменений на любой платформе, где используется та же конфигурация ABI. API не обеспечивает совместимость времени исполнения программы — это задача ABI." (вики)Проще: API - высокоуровневый, ABI - низкоуровневый.
Ваня, ты вообще термины понимаешь? У меня создалось впечатление, что без викип..оров ты вообще ноль.
>Ваня, ты вообще термины понимаешь? У меня создалось впечатление, что без викип..оров ты вообще ноль.Ничего личного, но у меня складывается впечатление (уже давно, т.к. сужу по его сообщениям) что они и с википи..ами даже нуль. Дело может быть в том что чтобы по-начтоящему понимать значение термина нужно знать что он скрывает за собой и "как это работает".
эм. как можно открыть ABI? он или есть, или его нет. и вдогонку - при наличии АПИ - кто мешает написать и собрать бинарник, который (само собой) будет бинарно совместим с дровами, для которых был предоставлен апи?
ABI - тот же API, но на низком уровне. В зависимости от того что считать верхом и низом можно считать ABI {Win32 API}, а API {MFC}. Как можно открыть: легко! Стандартизировать (наконец) и открыть протокол обмена с видеоадаптером без использования драйверов. Бинарник совместим с LIB/DLL, они с ядром, ядро с драйверами, драйвера с аппаратурой (API/ABI аппаратуры).Мне уже надоела эта репка: бабка за внучку, внучка за жучку, жучка за мышку, и т.д. Я хочу репку тянуть, а не вонючую задницу престарелого деда. С каждым годом появляются новые уровни абстракций которые ничего нового не несут. И новые протоколы (тот же OpenCL), которые также ничего нового не несут. НАДОЕЛО.
ну т.е. ты, грубо говоря, хочешь чтоб они открыли код драйверов (точнее, даже большего - чтобы они открыли спеки, по которым они пишут свои драйвера). я думаю все хотят :) если честно, не понимаю почему нвидия этого не сделает> 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.
половина винапи - это как раз описание структур, интерфейсов и всего прочего. а мфц это вообще отдельная библиотека, написанная на основе винапи
Да, я хочу чётких стандартов по взаимодействию с аппаратурой. Причём желательно единый для всех производителей. Драйвера производителя могут быть закрыты, имея открытый стандарт будет выбор, которого сейчас нет.Приложения MFC не используют типы данных и функции Win32. Поэтому для приложения MFC родным API будет API MFC, а ABI - API Win32. Аналогично для приложений Win32 родным будет API Win32, а ABI - SYSCALL в ядро Windows, который вызывается из системных DLL.
>>Да, я хочу чётких стандартов по взаимодействию с аппаратурой. Причём желательно единый для всех производителейhttp://ru.wikipedia.org/wiki/OpenGL
Всегда пожалуйста.
> Да, я хочу чётких стандартов по взаимодействию с аппаратурой.Устройство аппаратуры может меняться. Например устройство видях амд и нвидии довольно существенно отличается. В том числе, системы команд SIMD элементов у них разумеется разные, такие как амд и нвидии было удобно по их мнению. OpenCL как раз и был сделан затем чтобы разработчики не факали мозг "какую же систему команд пользует вон тот девайс" а могли собрать из сорца opencl kernel который соберется под любой девайс и там заработает.
Вам слово "стандарт" что-нибудь говорит?
>Вам слово "стандарт" что-нибудь говорит?Вам фраза "Технический прогресс" чего-нибудь говорит?
Или вы думаете что ваш "стандарт" это такая универсальная штука, которая может все и вся? А если что-то новое требует переделки стандарта, тогда как? Бежать к вам и спрашивать стоит ли это делать?
> ну т.е. ты, грубо говоря, хочешь чтоб они открыли код драйверов (точнее,
> даже большего - чтобы они открыли спеки, по которым они пишут
> свои драйвера). я думаю все хотят :) если честно, не понимаю
> почему нвидия этого не сделаетЭто уже тысячу раз обсуждалось - вопрос инвестиции. Одним железом много не наторгуешься.
Другой момент - открытые спеки ATI, много чего там сделано? Где поддержка OpenCL, где "работа лучше проприетарного в тысячу раз"? От того, что у вас будут открытые спеки не поменяется ровным счётом ничего.
А кто сказал что abi не меняется, железо то как-раз постоянно меняется, а если надоел дед то переходи на ati , там вроде все открыто, по карайней мере так говорят.
Открыты драйвера, закрыты спецификации. Какое то время назад они (и Интел) открыли документацию по видеокартам (старым в основном), но сейчас этого не делают. Есть открытый драйвер видеокарт nVidia, но его производительность оставляет желать лучшего.Могу ошибаться, за ситуацией не слежу.
Сильно ошибаешься... :)
http://www.opennet.me/opennews/art.shtml?num=27691
Открытый код =/= Спецификация.
http://www.x.org/wiki/RadeonFeatureСымый низ страници, раздел "Documentation"
> Открытый код =/= Спецификация.была же ссылка, на кой её тереть? Если R700 уже старая карта - то Ваня - неадекват.
> Открытый код =/= Спецификация.
Комплексных типов и функций все еще нет...
"Раздельная компиляция и связывание объектов".
А разве это не задача компилятора?
> "Раздельная компиляция и связывание объектов".
> А разве это не задача компилятора?А это и есть компилятор.
Там имеется ввиду OCL код, а не C, C++ или другой.
> А разве это не задача компилятора?Ну так OpenCL получает на вход исходник opencl kernel и перегоняет его в нативный для целевого девайса вид. Разумеется комиплируя его :)))