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 ()
Последнее исправление: AP (всего исправлений: 2)
Ответ на: комментарий от Eddy_Em

видеокарты от nVidia - самые лучшие
Только лишь после одного взгляда на заголовок, я уже знал, что у Эдуарда здесь будет бенeфис.

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

Тогда давай однопроцессорную карту от ATI, которая быстрее GTX580.
Не будет однопроцессорная карта от AMD быстрее GTX580 в играх, оптимизированных под nVidia. Или вы думаете заставку nVidia в играх ставят за красивые глаза разработчиков движков?

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

Даже не напрягая мозг для вспоминания: darktable, blender, luxrender. да на самом деле много уже чего пользует opencl, всё вспоминать лень.

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

В каком месте они лучшие? Те же ATI->AMD всю жизнь обгоняли их как по цене, так и по производительности на несколько месяцев. Единственное, с чем у ATI/AMD вечные проблемы - так это с драйверами.

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

Единственное, с чем у ATI/AMD вечные проблемы - так это с драйверами

Я об этом выше говорил уже.

Как появится у ATI нормальный блоб - заходите. А пока - тусуйтесь лесом!

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

Мне, извините, ехать. Потому что писать приложение, которое не заработает у половины пользователей — это фу.

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

А что, что на cuda ты приложение сделаешь в 10 раз быстрее тебя волнует? Можно написать и отладиться на cuda, а потом, если надо, портировать на opencl.

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

>так и по производительности

Ой вот не надо. Особенно когда nvidia могла не парясь перемаркировывать свою 8 линейку в 9, а потом и в 2хх

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

> Как появится у ATI нормальный блоб - заходите

Уже полгода как. Все баги о которых я репортил, исправляли в течение месяца. У нвидии с багом про наличие видео на некоторых hdmi телевизорах только при включённом hdmi аудио до сих пор никаких подвижек.

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

Я об этом выше говорил уже.

А ещё выше Вы говорили про видеокарты.
Видеокарта != видеодрайвер.

P.S. в лесу тусуюсь летом. ок. Вам рекомендую тоже попробовать.

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

Ой вот не надо. Особенно когда nvidia могла не парясь перемаркировывать свою 8 линейку в 9, а потом и в 2хх

Речь не о технологии, а о своевременном её применении. Или Вам есть какой-то прок от то и дело анонсируемых 128- и ещё туевохуча-ядерных процессоров?

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

>Речь не о технологии, а о своевременном её применении.

Тоже не все так просто. AMD отказывается от своей няшной VLIW архитектуры и делает как у nvidia.

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

Двучиповые видеокарты в современной реализации для игр под офтопиком смысла не имеют.

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

Когда я слышал про это последний раз, OpenCL на нвидии был медленее.

По поводу удобства разработки — OpenCL ещё нигде, кроме яббла, не прижился особо, это известно. Потому что он сильно новее.

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

OpenCL на CPU заметно медленее его же на GPU, но хуже от него точно не будет, только будет распараллеливание по ядрам. Насколько я помню, результаты тестов cpu-режима в каком-то драйвере совпадали с результатами MPI на той же машине же.

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

Видеокарта != видеодрайвер

Да пусть это будет хоть суперпроизводительное железо с миллионом GPU-ядер. Если драйверов для него не будет, это железо годится лишь в качестве музейного экспоната!

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

P.S. в лесу тусуюсь летом. ок. Вам рекомендую тоже попробовать.

У нас поселок, можно сказать, в лесу располагается :)

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

Ошибся, конечно, для меня сейчас утро. Извиняюсь.

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

За счет различных удобств. Типа C++, шаблонов, меньше дублирования кода, отсутствия затрат на инициализацию, удобства отладки.

Reset ★★★★★
()

В ArchLinux сабж ставится командой

$ yaourt -S pocl-bzr

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

Например, можно единый код писать для для double и float. А инициализации вообще в cuda нет, так как программа компилируется и линкуется как есть. То есть ты пишешь cuda-функцию и исполняешь её сразу как есть, не делая никаких промежуточных вещей.

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

Ты уверен? Насколько я понял — кудовый код нельзя компилировать обычным компилятором, и там просто свой препроцессор, который заворачивает все эти примочки в обычный вид. Я ошибся?

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

Нельзя, но разве это что-то меняет? Компилируешь файл wtf.cu (внутри обычный c++ код с cuda-вставками) nvidia-компилятором, а потом линкуешь его с остальным кодом обычным gcc без всякой магии.

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

> OpenCL ещё нигде, кроме яббла, не прижился особо, это известно

Вы забываете про мобильно-планшетный сегмент, где nVidia не имеет монополии и куда уже лезет WebCL. Конечно, на мобильниках и планшетках числодробилок никто устраивать не будет, но использовать во всяких графических приложениях, типа обработчиков фоток и видео - это да.

А с мобильников OpenCL снова вернётся на настольные компы.

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

Это позволяет не писать кучу кода. Но любители гопака могут использовать и plain-c, в этом их никто не ограничивает.

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

А что там такого, что требует обобщённого программирования? Контейнеры, алгоритмы? Разве там нужно оперировать классами, перегружать операторы и делать причий мега стаф?

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

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

Вот, например. Это умножение sparse-матрицы на вектор. От типа (float/double) мы тут не зависим, также не зависим от типа памяти (обычная или текстурная).

template < typename T, typename APR, typename AIR, typename XR, typename AXR >
__global__ void sparse_mult_vector_csr_(T * r, 
        APR Ap, 
        AIR Ai, 
        AXR Ax,
        XR x, 
        int n)
{
        int threads = gridDim.x  * blockDim.x;
        int i, i0, to, j;
        int start = blockDim.x * blockIdx.x + threadIdx.x;

        for (j = start; j < n; j += threads) {
                i0 = Ap.get(j);    
                to = Ap.get(j + 1);

                T rj = (T)0.0;

                for (; i0 < to; ++i0) {
                        i   = Ai.get(i0);
                        rj += Ax.get(i0) * x.get(i);
                }

                r[j] = rj;
        }
}
Reset ★★★★★
()

уже не нужно, числодробилку я уже на куде, с указания научрука, пишу

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

> Ну мобильный сегмент всегда были музеем костылей и лишних сущностей, начиная с вапа и мидлетов.

Вы только не забывайте, что между «тогда» и «сейчас» образовался приличный водораздел. Теперь мобильные устройства: 1. Законодатель мод; 2. Цель для разработки интерфейсов; 3. Лидер по количеству устройств. А в обозримом будущем, вероятно, лидер по суммарной вычислительной мощности.

Теперь вспомним, как бытовое железо вытеснило профессиональное, потому что научилось быстро работать и было дешёвым и доступным.

P.S. А CUDA мне напоминает Glide. Помните такую штуку? API стал легендой, познакомил мир с аппаратно-ускоренными играми, но слился из-за сурового Vendor lock-in. Кстати то, что именно nVidia купили 3dfx я считаю несколько символичным. :)

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

Слился он из-за того, что слилась 3dfx и одновременно с этим появились вменяемая альтернатива glide в виде directx5. Сейчас же предпосылок для слития cuda нет.

Reset ★★★★★
()

как бы 21-й век уже на дворе

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

Ну... Не буду спорить. Вы имеете право думать, что причинно-следственная связь была именно такая. :)

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

>правда, для начала нужно под не nVidia'вские видеокарты нормальные блобы иметь

amd?

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

>Сейчас же предпосылок для слития cuda нет.

Производительность карт от АМД в разы превышает нвидийные. Крупный вендор готовой продукции Эппле двигает openCL а предпосылок все нет?!

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

>Если одно ядро в 580 работают как два ядра в 6990, то очевидно, что два ядра в 590 работают быстрее двух ядер в 6990.

если одно ядро в 580 стоит дороже чем два ядра в 6990, то два ядра в 590 будут соревноваться с четырьмя ядрами в 6990.

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

>Не видел ни одного теста где было бы «в разы» и тем более на gpgpu

в нахождении монеток. даже в факи прописали.

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

ты бы на market.yandex.ru для начала заглянул прежде чем такую чушь пороть

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

Это говорит только о том, что разрабам проплатила ati. Ты лучше приведи тесты на одном из серьезных ресурсов: geeks3d, guru3d, ixbt, thg ...

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