LINUX.ORG.RU
 
ChALkeR

Анонсирована свободная переносимая реализация OpenCL


0

1

Portable OpenCL позволит разрабатывать и запускать программы, использующие OpenCL, на его свободной платформонезависимой реализации (до этого существовали SDK, предоставляемые вендорами аппаратуры).

Это свободная (MIT-лицензия), основанная на LLVM реализация стандарта OpenCL, которая может быть легко приспособлена для новых целевых платформ. Одна из задач проекта — улучшение «переносимости производительности» программ на OpenCL, избегая нужды в ручной оптимизации, зависящей от целевой платформы. Цель «native» включена, что позволяет запускать ядра OpenCL на CPU.

Также ведётся работа над реализацией OpenCL поверх драйверов видеокарт из Gallium3D (Clover state tracker), в котором можно отметить некоторый прогресс за лето, произошедший в рамках GSoC.

Сайт проекта: https://launchpad.net/pocl

>>> Подробности


[#]  
>>-----Цитата---->>

позволяет запускать ядра OpenCL на CPU

<<-----Цитата----<<

openmp же есть

Ну, а вообще, хоть я очень скептически к openCL отношусь, вполне возможно, что когда-нибудь оно сможет тягаться с CUDA (правда, для начала нужно под не nVidia'вские видеокарты нормальные блобы иметь).

**** ()
[#] Ответ на: комментарий от Eddy_Em 17.10.2011 21:59:53  
ChALkeR

Куда — вендор лок ин со всеми вытекающими.

А скорость — ты понимаешь, что блобостроители никогда не выпустят реализацию переносимой платформы, которая работает быстрее их же залоченной? Ты что, хотел, чтобы OpenCL в драйверах нвидии был бы быстрее их же куды?

**** ()
[#] Ответ на: комментарий от Eddy_Em 17.10.2011 21:59:53  

>openmp же есть

Ну так это другой стандарт, код придётся переписывать. А так будем иметь один код, который сможет работать и на CPU, и на GPU, в зависимости от того, что имеется на конкретной машине.

***** ()
[#] Ответ на: комментарий от ChALkeR 17.10.2011 22:10:59  
>>-----Цитата---->>

Ты что, хотел, чтобы OpenCL в драйверах нвидии был бы быстрее их же куды?

<<-----Цитата----<<

Нет, конечно: по CUDA я провел два туалетовечера с мануалом и начал переписывать жрущие ресурсы функции для выполнения на GPU. А про openCL почитал-почитал, да понял, что нафиг оно не втарабанилось: уродище жуткое, писанины слишком уж много.

**** ()
[#] Ответ на: комментарий от Ttt 17.10.2011 22:12:06  

Заманчиво, конечно (я пишу параллельно два файла: один для GPU, один для CPU, на этапе компиляции подключается тот или иной в зависимости от оборудования, а так геморроя было бы чуть меньше). Вот только не был бы этот openCL таким страшным...

**** ()
[#] Ответ на: комментарий от ChALkeR 17.10.2011 22:26:40  

Если бы там еще и привели примеры кода, выполняющего одно и то же, то CUDA явно стала бы лидером. А так, видно, что CUDA лидирует, лишь когда внимательно все прочитаешь.

**** ()
[#] Ответ на: комментарий от Eddy_Em 17.10.2011 22:32:15  
ChALkeR

Куда, к сожалению, не является переносимой.

**** ()
[#] Ответ на: комментарий от ChALkeR 17.10.2011 22:37:07  

Как не является? Отлично переносима между nVidia'вскими видеокартами.

Жаль только, что особо нужные "плюшки" есть лишь на "крутых" видеокартах (которые с архитектурой 2.х).

**** ()
[#] Ответ на: комментарий от Eddy_Em 17.10.2011 22:39:12  
ChALkeR
>>-----Цитата---->>

Как не является? Отлично переносима между nVidia'вскими видеокартами.

<<-----Цитата----<<

Троллишь? Или у тебя макосьикс и direct3d переносимы?

**** ()
[#]  
devl547

OpenCL сливает куде по удобству. Собственно, число программ использующих CUDA сильно выше.

//А в целом, все это фигня - ну нет сейчас достаточно числа софта для домашнего компа, чтобы это пригодилось. Вменяемые видео/аудио кодеки под это не пишут(((

**** ()
[#] Ответ на: комментарий от ChALkeR 17.10.2011 22:39:20  

Не дам: не помню уже, где я это видел. Для примера можно в CUDA toolkit посмотреть: там есть демонстрашки и для openCL.

>>-----Цитата---->>

Или у тебя макосьикс и direct3d переносимы?

<<-----Цитата----<<

А нафига мне эта дрянь?

**** ()
[#] Ответ на: комментарий от Eddy_Em 17.10.2011 22:42:42  
ChALkeR

Ой-ой, в куде нельзя компилировать чем угодно, там нужен свой тулчейн.

**** ()
[#] Ответ на: комментарий от ChALkeR 17.10.2011 22:44:24  

В смысле? Ставим CUDA SDK и компилируем на здоровье...

**** ()
[#] Ответ на: комментарий от devl547 17.10.2011 22:42:19  

>Собственно, число программ использующих CUDA сильно выше.

Можно хотя бы одну из широкоупотребительных (а не созданных для разовых вычислений)?

***** ()
[#] Ответ на: комментарий от Eddy_Em 17.10.2011 22:46:48  
ChALkeR

Вендор лок ин во всей красе ).

**** ()
[#] Ответ на: комментарий от devl547 17.10.2011 23:20:39  

Какой конкретно? И да, h.264 не нужен :)

***** ()
[#] Ответ на: комментарий от Ttt 17.10.2011 23:21:45  
devl547

Конкретно фирменный от nvidia :3

а есть альтернативы? ни theora, ни vp8 ему пока не конкуренты.

**** ()
[#] Ответ на: комментарий от devl547 17.10.2011 23:31:25  

>Конкретно фирменный от nvidia :3

А он под какие ОС? Что-то ни разу не слышал. В любом случае, приводить программы от NVIDIA в качестве доказательства преимущества проприетарного нвидиевского API — не корректно. Это всё равно что, например, приводить M$ SQL в качестве доказательства преимущества win server перед linux и другими серверными системами.

***** ()
[#] Ответ на: комментарий от Ttt 18.10.2011 0:08:02  
devl547

Дело в том, что CUDA для десктопа используют, хоть бы и под виндой.
А OpenCL - где оно? imagemagick? GIMP? все?

**** ()
[#] Ответ на: комментарий от devl547 18.10.2011 0:10:15  

>А OpenCL - где оно? imagemagick? GIMP? все?

А биткоиногенераторы? Также из беглого прочтения статьи в английской педивикии удалось выяснить, что, например, mathematica умеет: http://reference.wolfram.com/mathematica/OpenCLLink/guide/OpenCLLink.html Также LuxRender: http://www.luxrender.net/wiki/GPU

***** ()
[#]  
ZenitharChampion

Заемчательно! Есть что использовать открытым видеодрайверам. А пока на CPU, хотя проприетарный AMD APP SDK и так позволяет использовать CPU как устройство OpenCL.

** ()
[#] Ответ на: комментарий от devl547 18.10.2011 0:10:15  
ZenitharChampion

Хм... В винде OpenCL тоже есть и продвигается AMD.

** ()
[#] Ответ на: комментарий от ZenitharChampion 18.10.2011 0:26:02  
devl547

>OpenCL тоже есть и продвигается AMD.

Они не слишком адекватны и в то же самое время продвигают его фактического конкурента - AMD Stream.

**** ()
[#] Ответ на: комментарий от devl547 18.10.2011 0:28:36  
ZenitharChampion

Я думал, это одно и то же. Спасибо за информацию.

** ()
[#] Ответ на: комментарий от Eddy_Em 17.10.2011 21:59:53  

OpenCL намного лучше, чем CUDA. Хотя бы тем, что CUDA ориентируется только на GPU и вообще никогда не будет ориентироваться на что-то другое by design (придётся с нуля делать, чтобы от GPU её отодрать), а OpenCL - это единый интерфейс к гетерогенной вычислительной среде.

**** ()
[#] Ответ на: комментарий от devl547 17.10.2011 22:42:19  

devl547> OpenCL сливает куде по удобству.

А Win32 сливает по удобству GTK, ага. OpenCL - низкоуровневая библиотека.

**** ()
[#] Ответ на: комментарий от Eddy_Em 17.10.2011 22:46:48  

Eddy_Em> Ставим CUDA SDK и компилируем на здоровье...

Только вот эта CUDA SDK, к примеру, для PowerPC отсутствует. Итого потенциал технологии этой раскрыт быть не может в виду того, что в данном случае получается использование ускорителя для слабенького x86.

**** ()
[#] Ответ на: комментарий от Quasar 18.10.2011 9:07:49  
>>-----Цитата---->>

Только вот эта CUDA SDK, к примеру, для PowerPC отсутствует

<<-----Цитата----<<

А что, у этого динозавра есть PCI-X?

**** ()
[#] Ответ на: комментарий от Eddy_Em 18.10.2011 9:08:41  

Eddy_Em> А что, у этого динозавра есть PCI-X?

Динозавра? И с какой стати там нет PCI-E? Рабочие станции на PowerPC делают до сих пор. И использование решений от нвидии оправдано только для сиюминутной выгоды, так как в перспективе они проигрывают вообще всем, кому только возможно. Дело в том, что нвидия никогда и ни при каких обстоятельствах не даёт спецификации на оборудование. А это значит, что и код нельзя будет использовать потом.

**** ()
[#] Ответ на: комментарий от Quasar 18.10.2011 9:11:30  

Но при этом до сих пор видеокарты от nVidia - самые лучшие. И как быть?

**** ()
[#] Ответ на: комментарий от Ttt 18.10.2011 0:21:20  

Ну и, конечно же, MATLAB.

Интересно, как там тем временем дела у octave & scilab?..

* ()
[#]  
ymuv

То есть можно будет запускать на фрибд?
Или будет исполнятся только но cpu&

* ()
[#] Ответ на: комментарий от Eddy_Em 18.10.2011 9:12:43  
Gorthauer

Не скажу, последние радеоны круче.

*** ()
[#]  
hwnd

>> позволяет запускать ядра OpenCL на CPU

Но зачем?

>> В винде OpenCL тоже есть и продвигается AMD.

Эти неадекватные товарищи не умеют ни софт писать, ни железо делать. Я бы их близко не подпускал бы к разработке чего-либо высокопроизводительного.

()
[#]  

>Также ведётся работа над реализацией OpenCL поверх драйверов видеокарт из Gallium3D

Меня убеждали что эта информация закрыта даже на радеонах. А вообще было-бы круто, блоб у меня вообще не работает.

** ()
[#] Ответ на: комментарий от Eddy_Em 18.10.2011 9:12:43  
MikeB

>Но при этом до сих пор видеокарты от nVidia - самые лучшие. толсто же.

* ()
[#] Ответ на: комментарий от Ttt 17.10.2011 23:07:00  
DNA_Seq

>Можно хотя бы одну из широкоупотребительных (а не созданных для разовых вычислений)?

ugene например. Опенсорц, использует куду для тяжелых расчетов

*** ()
[#] Ответ на: комментарий от hwnd 18.10.2011 9:57:08  
DNA_Seq

>Но зачем?

Как зачем? Чтоб было! Именно по такому принципу пишется 95% гнутого софта. При этом на удобство и практичность всем насрать.

*** ()
[#] Ответ на: комментарий от Ttt 17.10.2011 23:07:00  
DNA_Seq

Или допустим AMBER чем не устраивает? Молекулярная динамика, тяжелый научный софт.

*** ()
[#] Ответ на: комментарий от MikeB 18.10.2011 10:06:33  

Ну переубедите меня. Покажите мне видеокарту от ATI, чья мощность примерно соответствовала бы, скажем, 240-му "гефорсу", цена была бы не выше, скорость вычислений на GPU - не ниже.

**** ()
[#] Ответ на: комментарий от Eddy_Em 18.10.2011 10:37:04  

>чья мощность примерно соответствовала бы, скажем, 240-му "гефорсу"

Почему именно 240? Может потому, что вы хотите показать то, что хотите показать? Great Holly War!

** ()
[#] Ответ на: комментарий от Booster 18.10.2011 10:48:06  
>>-----Цитата---->>

Почему именно 240?

<<-----Цитата----<<

Эта карточка на моем основном рабочем компьютере.

ОК, давайте послабее: дома у меня 9600.

**** ()
[#] Ответ на: комментарий от ChALkeR 17.10.2011 22:10:59  
Reset

Дело не в скорости работы, а в скорости разработки. OpenCL и CUDA на nvidia одинаковы по производительности.

***** ()
[#] Ответ на: комментарий от ChALkeR 17.10.2011 23:07:58  
Reset

Тебе шашечки или ехать?

***** ()
[#] Ответ на: комментарий от Eddy_Em 18.10.2011 9:12:43  

>Но при этом до сих пор видеокарты от nVidia - самые лучшие.

Для чего самые лучшие? В играх под win32 AMDшные сейчас быстрее, электричества они тоже меньше при одинаковой производительности едят, в набивании биткойнов VLIW5 вообще вне конкуренции. Работающие открытые драйвера для них есть, хотя для тех, что поддерживаются блобом, они и не шедевр. Блоб в целом неплохо сейчас работает, у него есть проблемы с переключением на консоль, но в графическом режиме проблем не наблюдалось.

***** ()
[#] Ответ на: комментарий от dn2010 18.10.2011 11:05:19  

А посчитать что-нибудь? Мне ваше "МММ" не нужно, мне реальные расчеты нужны.

**** ()