Представлен релиз проекта PoCL 3.1 (Portable Computing Language OpenCL), развивающего реализацию стандарта OpenCL, независимую от производителей графических ускорителей и позволяющую использовать различные бэкенды для выполнения OpenCL-ядер на разных типах графических и центральных процессоров. Код проекта распространяется под лицензией MIT. Поддерживается работа на платформах X86_64, MIPS32, ARM v7, AMD HSA APU, NVIDIA GPU и различных специализированных ASIP (Application-Specific Instruction-set Processor) и TTA-процессорах (Transport Triggered Architecture) c архитектурой VLIW...Подробнее: https://www.opennet.dev/opennews/art.shtml?num=58268
Но... погодите-ка... Ведь OpenCL сам по себе подразумевает реализацию, независимую от производителей графических ускорителей и позволяющую использовать различные бэкенды, в отличие от какой-нибудь CUDA, например. В чём же тогда "фишка" этого велосипеда?
блин, забыли фишку добавить. ща удалим всё
На сколько помню, OpenCL-ядра работают на видеокарте с CUDA медленнее, чем CUDA-ядра. Поэтому компилировать первое во второе имеет смысл
> Поэтому компилировать первое во второе имеет смыслАга, чтобы стало ещё медленнее.
По-моему, пора признать, что OpenCL мёртв.
Да здравствует вендорлок! Слабо вас Хуанг 40 серией доит, ох слабо...
Я не высказываю позитивного (или негативного) отношения, просто констатирую факт.
С вашей констатацией фактов нвидия вылетела из топовых суперкомпьютеров которые теперь делают на амд. Вот прямо так.
Нвидия и АМД - это жаба против гадюки. Ещё неизвестно кто хуже, учитывая что последние впихнули во все свои новые процессоры хардварный бэкдор от Майкрософт и АНБ.
Ты забыл рассмотреть что они независимы от оригинальной реализации OpenCL, которая независима от железа. Так что это двойное резервирование.Если OpenCL завтра закроется будет запасная реализация от сабжа.
Куда денется опенкаэль с моего диска?И что значит «независима»? А что зависимо?
Ну подумай что ли.
> от производителей графических ускорителейИменно, что каждый вендор мог написать свой дрейвер OpenCL для выпускаемой железки, но не обязательно. А это Portable OpenCL который может исполнятся даже на CPU (используя SIMD), может через CUDA и надеюсь сможет через Vulkan.
Когда эта штука будет готова её можно будет заюзать для вычислений (как фреймворк), и тогда не нужно будет волноваться что у пользователя может не оказаться OpenCL, в самом худшем случае вычисления исполнятся на CPU, а в идеале если использовать ну например mapreduce подход, то можно будет раскидать вычисления на CPU+iGPU+dGPU, т.е. утилизировать все доступные мощности типового ноутбука.
>утилизироватьпридётся этот утюг, они рассчитаны на минуты такой работы
> А это Portable OpenCL который может исполнятся даже на CPU (используя SIMD)Так OpenCL вроде изначально мог, не?
OpenCL изначально - набор стандартов. И мог он только описывать как делать некоторые вещи, чтобы это было совместимо по поведению. Как там у вас какая-то конкретная реализация делала, на каком железе, с каким набором расширений и фич - вопрос номер два. И вы эту реализацию даже и не назвали.
Вроде декодировать можно все видеокодеки через OpenCL с которым может работать чип видеокарты. Но, вроде не удобно так делать или накладно - для каждого видео чипа, для каждого кодека надо писать отдельную реализацию декодирования видео с OpenCL.Может я ошибаюсь. гдето что-то прочёл помню так.
Если через OpenCL не важно потдерживает видеокарта апаратное декодирование видео или не потдерживает.
Где ты это услышал? Емнип дальше mpeg4 декодеров дело не пошло и те были частичными. Не существует того о чём ты говоришь (и никогда не существовало). Было какое-то максимально-бесполезное частичное ускорение кодирования в x264 которое никогда не работало и почему-то до сих пор не удалено, но это всё. У OpenCL сегодня нет применений (их не было). Промышленное ПО типа кадов может быть остаётся какое-то, но тоже странно, если там не ливнули на CUDA до сих пор. Старые версии разве что.
Вообще, такие штуки есть. В основном туда выпихивают то что тяжелое и массово параллелизуемое, типа loop filter каких.
Да, но тут такое дело, выяснилось, что это далеко не самая проблемная часть сегодня. А проблемную часть не реализовать более эффективно через gpgpu. Поэтому и не получило особого распространения.
дорога у дома
Strongene Lentoid HEVC Decoder. Strongene Lentoid HEVC Decoder OpenCL. Не прав ты, но не прав наверно по тому, что не знаешь. Виндовс декодер Strongene - HEVC/H.265 http://www.strongene.com/en/hevc/hevcProduct.jsp сделан в двух вариантах обычный (CPU) и через OpenCL (GPU), как я вижу там только для AMD GPU чипов каких-то серий. Cписок есть так как для каждой серии AMD GPU чипов есть своя dll с своим названием у dll "Lent_idct_Oland.dll" , "Lent_mc_Pitcairn.dll" и т.д. Сам им пользуюсь, но под мою видеокарту нет, не сделано.Как сделали? Вопрос к тем кто сделал этот декодер.
https://www.techpowerup.com/gpu-specs/amd-pitcairn.g420
https://www.techpowerup.com/gpu-specs/amd-oland.g389
Я так понимаю сделано c OpenCL для 26 серий AMD GPU и нет современных AMD GPU.
двадцать шесть видов, а не двадцать шестая видео карта.
И очевидно и понятно, что декодирование видео через OpenCL нужно для тех GPU у которых нет своего видео декодера.
Если комуто нужно декодирование видео через видеокарту. Мне и процессора хватает для декодирования видео. Я не привередливый меня 240 - 480p устраивает если битрейта хватает.
Это не значит, что я не пользуюсь разрешением выше 480p. По обстоятельствам смотрю в каком разрешении смотреть если есть выбор.
GPGPU не может «поддерживать» или «не поддерживать» что-то. Что на нём запрограммируют, то и будет поддерживать.
"GPGPU не может «поддерживать» или «не поддерживать» что-то. Что на нём запрограммируют, то и будет поддерживать.Поясни если хочешь" Не понял точно что написано. Так я вроде так и написал. "через OpenCL с которым может работать чип видеокарты" Аноним не всегда это разный аноним.
Не там ковычка поставлена. Поясни если хочешь.
Я это и имелл виду когда написал потдерживает. Я не имелл виду что-то ароде "ремень потдерживающий штаны, чтобы они не упали". Сгласен можно было точне написать. Может и нужно было.
имел в виду
Я тут подумал. Под словом потдерживать я имелл виду шире. Как бы видеокарту 30 летней давности выпуска те, что времён PCI или AGP можно через прогромирование в чип добавить декодирование видео? Вроде нет? Конструктивно надо менять чип?Вот что есть:
"производившихся в 1995—1999 годах
3D RAGE II (IIC, II+, II+DVD)
RAGE II+DVD chipВторое поколение чипа RAGE предлагало возросшую почти в 2 раза 3D-производительность. Графический процессор был снова основан на переработанном ядре Mach64 GUI, что обеспечивало оптимальную 2D-производительность с любой памятью типа EDO, работающей в режиме single-cycle или с высокоскоростной памятью SGRAM. Чип 3D RAGE II был улучшенной поконтактно-совместимой версией акселератора 3D RAGE. Второе поколение PCI совместимого чипа увеличило 2D-производительность на 20 процентов и добавило поддержку для воспроизведения MPEG-2 (DVD). Чип также имел драйверы для Microsoft Direct3D и Reality Lab, QuickDraw 3D Rave, Criterion RenderWare и Argonaut BRender. Драйверы OpenGL доступны для профессионального 3D и CAD сообщества, а также Heidi-драйверы доступны для пользователей AutoCAD. Драйверами обеспечивались и операционные системы, такие как Windows 95, Windows NT, Mac OS, OS/2, и Linux. ATI также поставляла чип для оцифровки TV сигнала ImpacTV с картами, основанными на RAGE II.
RAGE IIC PCI cardRAGE II был встроен в несколько компьютеров Macintosh, включая Macintosh G3, Power Mac 6500, и в прототип iMac G3 (RageII+). В IBM PC-совместимых компьютерах чипсет использовали некоторые материнские платы и видеокарты: 3D Xpression+, 3D Pro Turbo и в прототипе All-in-Wonder.
Спецификации RAGE II+DVD:
Частота ядра: 60 МГц
Частота памяти: 60 МГц
До 83 МГц SGRAM памяти
Пропускная способность памяти: 480 Мб/с
DirectX 5.0"
Как бы в видеокарту 30 летней или 15 летней давности.
15 лет назад уже была CUDA.
15 лет я наугад написал так как не знаю когда в видеокартах от Nvidia появилась CUDA. Информацию перепроверять. Вроде CUDA изначально не для работы с OpenCL сделали. Это позже в NVIDIA сделали возможность использовать OpenCL через CUDA. Изначально OpenCL работал только с AMD видеокартами. Вроде так.
И OpenCL можно и через процессоры CPU использовать.
Даже не так, а так. 15 лет я наугад написал. Я не знаю когда в видеокартах от Nvidia появилась CUDA. Информацию перепроверять. Вроде CUDA изначально не для работы с OpenCL сделали. Это позже в NVIDIA сделали возможность использовать OpenCL через CUDA. Изначально OpenCL работал только с AMD видеокартами. Вроде так.
"OpenCL первоначально был разработан в компании Apple Inc. Apple внесла предложения по разработке спецификации в комитет Khronos. Вскоре компания AMD решила поддержать разработку OpenCL (и DirectX 11), который должен заменить фреймворк Close to Metal"
"16 июня 2008 года была образована рабочая группа Khronos Compute для разработки спецификаций OpenCL. В неё вошли Apple, nVidia, AMD, IBM, Intel, ARM, Motorola и другие компании, в том числе специализирующиеся на создании компьютерных игр. Работа велась в течение пяти месяцев, по истечении которых 9 декабря 2008 года организация Khronos Group представила первую версию стандарта.OpenCL 1.0 был впервые показан общественности 9 июня 2008, а выпущен вместе с Mac OS X 10.6, 28 августа 2009 года.
5 апреля 2009 года компания AMD анонсировала доступность для загрузки бета-версии набора разработчика ATI Stream SDK v2.0, в который входит язык мультипроцессорного программирования OpenCL.
20 апреля 2009 года nVidia представила бета-драйвер и набор для разработки программного обеспечения (SDK) с поддержкой открытого GPGPU-стандарта OpenCL. Этот бета-драйвер предназначен для разработчиков, участвующих в программе «OpenCL Early Access», которые уже с 20 апреля могут принять участие в испытании бета-версии. Для участников программы «GPU Computing Registered Developers» бета-версия драйвера OpenCL будет доступна позже.
26 ноября 2009 года компания nVidia выпустила драйвер с поддержкой OpenCL 1.0 (rev 48)
Пишут так. CUDA: первый выпуск 23 июня 2007.
Тогда и OpenCL не к мету его нет у таких видеокарт.
месту
Насколько я понимаю, а может мне так кажется или я гдет-то прочёл. AMD APU так и задумываался от части, что с OpenCL что-то через OprnCL можно будет перенести работу с процессора на видеокарту. Во что-то серьёздное и маштабное это не перерасло насколько я знаю.
Первый выпуск OpenCL пишут 28 августа 2009. Как-бы OpenCL есть, но его нет. Кому надо тот использует OpenCL. Но какой-то масовости OpenCL не иммеет. Или имеет?
Но какой-то масовости в использовании OpenCL не иммеет.
> Поддерживается работа на платформах X86_64, MIPS32Странное сочетание... Почему мипс-32, а не х86-32?
Ну вот опять владельцы четвёртых пентиумов подтянулись.
MIPS32 это хоум роутеры. Если повезёт, можно и соседские задействовать ;)