LINUX.ORG.RU

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

 , ,


0

1

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

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

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

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

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

★★★★★

Проверено: Shaman007 ()

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

openmp же есть

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

Eddy_Em ☆☆☆☆☆ ()
Ответ на: комментарий от Eddy_Em

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

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

ChALkeR ★★★★★ ()
Ответ на: комментарий от Eddy_Em

>openmp же есть

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

Ttt ☆☆☆☆☆ ()
Ответ на: комментарий от ChALkeR

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

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

Eddy_Em ☆☆☆☆☆ ()
Ответ на: комментарий от Ttt

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

Eddy_Em ☆☆☆☆☆ ()
Ответ на: комментарий от ChALkeR

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

Eddy_Em ☆☆☆☆☆ ()
Ответ на: комментарий от ChALkeR

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

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

Eddy_Em ☆☆☆☆☆ ()
Ответ на: комментарий от Eddy_Em

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

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

ChALkeR ★★★★★ ()

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

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

devl547 ★★★★★ ()
Ответ на: комментарий от ChALkeR

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

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

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

Eddy_Em ☆☆☆☆☆ ()
Ответ на: комментарий от Eddy_Em

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

ChALkeR ★★★★★ ()
Ответ на: комментарий от ChALkeR

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

Eddy_Em ☆☆☆☆☆ ()
Ответ на: комментарий от devl547

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

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

Ttt ☆☆☆☆☆ ()
Ответ на: комментарий от devl547

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

Ttt ☆☆☆☆☆ ()
Ответ на: комментарий от Ttt

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

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

devl547 ★★★★★ ()
Ответ на: комментарий от devl547

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

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

Ttt ☆☆☆☆☆ ()
Ответ на: комментарий от Ttt

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

devl547 ★★★★★ ()
Ответ на: комментарий от devl547

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

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

Ttt ☆☆☆☆☆ ()

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

ZenitharChampion ★★★★★ ()
Ответ на: комментарий от ZenitharChampion

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

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

devl547 ★★★★★ ()
Ответ на: комментарий от Eddy_Em

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

Quasar ★★★★★ ()
Ответ на: комментарий от devl547

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

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

Quasar ★★★★★ ()
Ответ на: комментарий от Eddy_Em

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

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

Quasar ★★★★★ ()
Ответ на: комментарий от Quasar

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

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

Eddy_Em ☆☆☆☆☆ ()
Ответ на: комментарий от Eddy_Em

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

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

Quasar ★★★★★ ()
Ответ на: комментарий от Quasar

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

Eddy_Em ☆☆☆☆☆ ()
Ответ на: комментарий от Ttt

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

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

gag ★★★★★ ()

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

ymuv ★★★★ ()

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

Но зачем?

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

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

hwnd ()

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

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

Booster ★★ ()
Ответ на: комментарий от Eddy_Em

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

MikeB ★★★ ()
Ответ на: комментарий от Ttt

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

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

DNA_Seq ★★☆☆☆ ()
Ответ на: комментарий от hwnd

>Но зачем?

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

DNA_Seq ★★☆☆☆ ()
Ответ на: комментарий от Ttt

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

DNA_Seq ★★☆☆☆ ()
Ответ на: комментарий от MikeB

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

Eddy_Em ☆☆☆☆☆ ()
Ответ на: комментарий от Eddy_Em

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

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

Booster ★★ ()
Ответ на: комментарий от Booster

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

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

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

Eddy_Em ☆☆☆☆☆ ()
Ответ на: комментарий от ChALkeR

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

Reset ★★★★★ ()
Ответ на: комментарий от Eddy_Em

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

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

dn2010 ★★★★★ ()
Ответ на: комментарий от dn2010

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

Eddy_Em ☆☆☆☆☆ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.