The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Для Mesa предложен драйвер cluda, позволяющий реализовать OpenCL поверх NVIDIA CUDA

12.10.2025 21:49

Кэрол Хербст (Karol Herbst) из компании Red Hat, принимающий участие в разработке Mesa, драйвера Nouveau и открытого стека OpenCL, предложил для включения в состав Mesa драйвер cluda, реализующий API Gallium поверх API CUDA, предоставляемого проприетарным драйвером NVIDIA. Gallium используется в Mesa для абстрагирования разработки драйверов и реализует типовые для драйверов программные интерфейсы, не специфичные для отдельных аппаратных устройств. В контексте cluda реализованы интерфейсы, связанные с вычислениями, которых достаточно для воплощения спецификации OpenCL поверх CUDA.

Предполагается, что cluda поможет решить проблемы с использованием OpenCL поверх проприетарного драйвера NVIDIA. Использование дополнительной обвязки даёт возможность реализовать недостающие расширения OpenCL, отсутствующие в стеке NVIDIA на базе проприетарного драйвера. В cluda используются только возможности библиотеки libcuda.so, входящей в состав GPU-драйверов NVIDIA и не привязанной к CUDA runtime. В текущем виде реализация OpenCL на базе cluda поддерживает операции с памятью и позволяет запускать вычислительные ядра.

Реализация OpenCL на базе cluda и rusticl поддерживает следующие расширения OpenCL, которые отсутствуют в реализации NVIDIA:

  • cl_khr_extended_bit_ops
  • cl_khr_integer_dot_product
  • cl_khr_fp16
  • cl_khr_suggested_local_work_size
  • cl_khr_subgroup_extended_types
  • cl_khr_subgroup_ballot
  • cl_khr_subgroup_clustered_reduce
  • cl_khr_subgroup_non_uniform_arithmetic
  • cl_khr_subgroup_non_uniform_vote
  • cl_khr_subgroup_rotate
  • cl_khr_subgroup_shuffle
  • cl_khr_subgroup_shuffle_relative
  • cl_khr_il_program (Yes, that means SPIR-V support)
  • cl_khr_spirv_linkonce_odr
  • cl_khr_spirv_no_integer_wrap_decoration
  • cl_khr_spirv_queries
  • cl_khr_expect_assume
  • cl_ext_immutable_memory_objects

При измерении производительности в тестовом наборе LuxMark 3.1 реализация OpenCL на базе Mesa, cluda и rusticl показала 57702 баллов, а реализация на базе стека NVIDIA - 64009 баллов. Падение производительности объясняется накладными расходами на преобразование промежуточного представления Mesa NIR в CUDA PTX (Parallel Thread Execution). Из возможных оптимизаций, которые могли бы уменьшить отставание в производительности, отмечается более активное использование векторизации и задействование JIT-компиляции.



  1. Главная ссылка к новости (https://gitlab.freedesktop.org...)
  2. OpenNews: Мэйнтейнер драйвера Nouveau сложил полномочия из-за проблем с инклюзивностью в сообществе
  3. OpenNews: AMD не смог реализовать HDMI 2.1 в открытых драйверах из-за требований HDMI Forum
  4. OpenNews: NVK и Zink существенно улучшили ситуацию с открытыми драйверами для GPU NVIDIA
  5. OpenNews: Открытый драйвер Rusticl сертифицирован на совместимость с OpenCL 3.0
  6. OpenNews: Опубликованы финальные спецификации OpenCL 3.0
Лицензия: CC BY 3.0
Наводку на новость прислал Kerr
Короткая ссылка: https://opennet.ru/64041-cluda
Ключевые слова: cluda, mesa, opencl, cuda
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (42) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 21:55, 12/10/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Чем отличается от реализации PoCL, который тоже умеет звать CUDA?
     

  • 1.2, Аноним (2), 22:25, 12/10/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • –6 +/
    Странно, обычно при любом упоминании Нвидии в контексте Линукса местные эксперты говорят, что CUDA и Нвидя в целом - это ужасная ненужная проприетарная вендорлокнутая дрянь и вообще "купи нормальную видяху". А в новостях при этом - то zluda, то cluda. Как это понимать?
     
     
  • 2.3, Аноним (3), 22:37, 12/10/2025 [^] [^^] [^^^] [ответить]  
  • +6 +/
    Это понимать, что реальная жизнь вещь сложная и никуда от нее не деться.
     
     
  • 3.49, Я Кучмасов (?), 16:30, 13/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Для местных обитателей жизнь простая как палка.
    Все ясно: есть штульмaн и есть жoпaэль
     
  • 2.10, name (??), 23:14, 12/10/2025 [^] [^^] [^^^] [ответить]  
  • +6 +/
    Это борьба с проприетарщиной путём создания свободных альтернатив.
     
     
  • 3.14, Аноним (14), 23:51, 12/10/2025 [^] [^^] [^^^] [ответить]  
  • +6 +/
    > Это борьба с проприетарщиной путём создания свободных альтернатив.

    В чем тут альтернатива, если вы запускаете открытый opencl поверх закрытой cuda на проприетарных дровах?  Это наоборот продвигает использование проприетари от невидии!

    Вы совсем уже думать разучились со свои сектантством?

     
     
  • 4.15, name (??), 23:59, 12/10/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Это позволит распространять свободный софт использующий opencl api на системах с проприетарными драйверами.
     
     
  • 5.31, Аноним (31), 08:30, 13/10/2025 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > Это позволит распространять свободный софт использующий opencl api на системах с проприетарными драйверами.

    Это уже кучу лет как можно было делать, причем даже без проприетарных дров. Поэтому повторю вопрос: зачем?

    Ты, бедняга, уже второй раз пытаешься на ходу выдумать смысл этого поделия. При этом даже сам его автор не смог сказать ничего внятного в его пользу:

    "Why?
    [...] But anyway, if somebody wants to run OpenCL against the propriety driver and they miss a few OpenCL extension that are super important to them, they could use this OpenCL implementation I guess? Or add more extensions if they wanted to? I dunno really. Anyway, this is my first project targeting CUDA, and so I also learned about CUDA and PTX quite a bit here."

    Даже автор говорит "I dunno really", но зато местные воины против проприетари уже наплели своих теорий. 🤣

     
  • 4.40, Аноним (40), 12:58, 13/10/2025 Скрыто ботом-модератором     [к модератору]
  • +1 +/
     
  • 2.28, User (??), 07:38, 13/10/2025 [^] [^^] [^^^] [ответить]  
  • +3 +/
    "Оправдываться не очень по-мужски. Поэтому отвечу всем и сразу. В жизни каждого человека бывают моменты, когда зашел не в ту дверь. Да, я знал о проприетарной сущности производителя. Получил приглашение, обещал купить и купил, но не знал о б уровне поддержки технологии в самой свободной из всех свободных систем, и ушел"(Ц)
    Некоторые "особо испуганные" свободолюбцы вот вовсе с макбуков пишут... oh, shi!
     
  • 2.30, Аноним (31), 08:13, 13/10/2025 Скрыто ботом-модератором     [к модератору]
  • +1 +/
     
  • 2.46, Я (??), 15:53, 13/10/2025 Скрыто ботом-модератором     [к модератору]
  • +/
     

  • 1.4, Fracta1L (ok), 22:52, 12/10/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Куртка порвётся и засудит
     
     
  • 2.5, Fracta1L (ok), 22:53, 12/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    А хотя стоп. Я подумал, это наоборот CUDA поверх OpenCL. А нафига оно надо в таком виде?
     
     
  • 3.50, torvn77 (ok), 17:04, 13/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Экономия на инфраструктуре, можно переходить на OpenCL или использовать применяющий это api софт без замены видеокарт.
     

  • 1.6, Аноним (6), 22:56, 12/10/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >Падение производительности объясняется накладными расходами на преобразование

    RTX A6000 на старте продавали $4600-7000 (*конец 2020 в условиях пандемии и майнинга).
    И я вот думаю, что когда покупают такие карты, естественно не одну, то падения производительности ты точно не хочешь.
    https://www.techpowerup.com/gpu-specs/rtx-a6000.c3686

     
     
  • 2.7, Аноним (2), 22:59, 12/10/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > И я вот думаю, что когда покупают такие карты, естественно не одну, то падения производительности ты точно не хочешь.

    Такие карты и не покупают под Линукс, лол.

     
     
  • 3.11, Аноним (6), 23:15, 12/10/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    https://opennet.ru/61140-redhat
     
     
  • 4.33, Аноним (31), 08:32, 13/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Чел, в AI энтерпрайзе используют промышленные, а не игровые видяхи. 🤦
     
     
  • 5.34, Аноним (6), 09:32, 13/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    А когда RTX A6000 стала игровой ?
     
     
  • 6.36, Аноним (40), 09:42, 13/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > А когда RTX A6000 стала игровой ?

    Ну, может не сугубо игровой, но так или иначе для графики. А в AI датацентрах используются железки типа H100, у которых пять цифр в цене.

    Так что да, друг, никто видяхи типа RTX A6000 под линукс в здравом уме не покупает.

     
     
  • 7.42, Аноним (6), 14:04, 13/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Небольшие кластеры и из них собирают.
    Та же H100 есть в варианте под PCIe.
    Например такие варианты из 16 карт:
    https://www.techpowerup.com/341716/sparkle-packs-16-arc-pro-b60-dual-gpus-into
     

  • 1.8, Аноним (-), 23:04, 12/10/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А зачем оно такое нужно?
    Есть какой-то софт на OpenCL?
    И при этом нет аналогичного с нормальной реализацией на cuda?
    Обычно все как раз наоборот :)
     
     
  • 2.12, 000110 (?), 23:45, 12/10/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Darktable, GIMP, Kdenlive, Blender, Handbrake, Libreoffice, оба браузера, научный софт - все используют OpenCl
     
     
  • 3.17, Аноним (17), 00:12, 13/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Не знаю насчет остального, но из Blender, OpenCl выкинули, еще в 21 году.
     
  • 3.19, Аноним (19), 00:39, 13/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Браузеры то в каком месте? Какой научный софт остался? Из всего перечня darktable фильтры разве что были, остальное -- какое-то гонево, ты ещё x264 вспомни.
     
     
  • 4.43, 000110 (?), 14:24, 13/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Браузеры то в каком месте?

    WebGL не сам по себе существует

     
     
  • 5.44, Аноним (44), 14:35, 13/10/2025 Скрыто ботом-модератором     [к модератору]
  • –1 +/
     
  • 5.47, 000110 (?), 16:18, 13/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Ну смотри:
    В Firefox:
    WebRender - композитинг слоёв страницы (преобразования, фильтры CSS)
    Обработка видео - CSS filter: blur(), contrast(), SVG-фильтры
    Декодирование изображений - параллельная обработка больших изображений

    В Chromium:
    Skia GPU-бэкенд - растеризация 2D-графики и композитинг
    WebGL 2.0 Compute Shaders - вычисления в шейдерах через OpenCL-подобный API
    #enable-gpu-rasterization** - растеризация на GPU (основное использование OpenCL)

    То, что OpenCL используется для растеризации, не значит, что его нет.

    Из научного:
    GROMACS пакет программ для моделирования физико-химических процессов в молекулярной динамике
    LAMMPS — свободный пакет для классической молекулярной динамики, написанный группой из Сандийских национальных лабораторий
    VASP — программа для квантово-механического моделирования.

    Ещё:
    Hashcat — это, по словам создателей, самый быстрый в мире инструмент для восстановления паролей

     
     
  • 6.48, Аноним (44), 16:29, 13/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Ещё один...
    Речь про OpenCL. Компьют. Не графика. Как понятнее объяснить эксперту?
     
  • 2.29, None (??), 08:08, 13/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    (SPIR) — это промежуточное представление для параллельных вычислений и графики от Khronos Group. Оно используется в различных средах выполнения, включая Vulkan графический API и OpenCL вычислительный API, чтобы представить шейдер или ядро. https://ru.wikipedia.org/wiki/SPIR-V
     

  • 1.13, Аноним (13), 23:46, 12/10/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    Opencl даже из blender выкинули
     
     
  • 2.39, Vamp (??), 12:06, 13/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    С устаревшим OpenCL-2 не стали возиться, а вот с третьим уже в этом году сделают.
     

  • 1.16, Зита с Гита (?), 00:04, 13/10/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Клюда и Злюда.
     
  • 1.20, Аноним (20), 00:59, 13/10/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    это те, кто выкинули Clover с формулировкой "не нужно".
     
     
  • 2.24, name (??), 01:58, 13/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Если бы кому-то нужно было, то взяли и продолжали бы развивать. Выкинули unmaintained, как и gallium nine.
     
     
  • 3.35, Аноним (35), 09:38, 13/10/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    На самом деле действительно не нужно. Кому реально нужно - тот просто карту от невидии купит, где в стоимость карты включена плата за сопровождение. А раз платить не готовы - значит им не для бизнеса нужно, и не для серьёзного дела, значит не нужно вовсе.

    Это сарказм, если что. Кловер был не очень рабочий для нужд hashcatа. Но матрицы таки перемножал. Я как раз перед тем, как выкинули, откалибровал clblas под свою карту (заодно и пропатчил его, чтобы с кловером и месой нормально работало, там детект не очень с форматом строк-идентифкаторов, используемых в месе, был совместим, явно либа под винду заточена).

    >то взяли и продолжали бы развивать

    Ты пробовал Gallium скомпилровать? Это дерьмо 8 часов непрерывного свопинга линковалось на чёрном экране (я иксы и максимум процессов выгрузил чтобы максимально память освободить). Видимо эффективные программисты шаблонов нагородили. В таких условиях хрен что соберёшь, там грёбанный монолит, и они там в гитлабе обсуждают, как бы ещё монолитнее сделать, выкинув интерфейсы. Может вы настолько умны, что мне ещё предложите всю месу переписать?

     
     
  • 4.37, name (??), 09:54, 13/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Компилировал на древнем компе всю систему, меза далеко не самый жирный софт для компиляции, меньше часа заняло. Проблемы чисто у тебя, чини. Раз на этапе линковки, предполагаю, что ты заюзал lto с миллионом потоков, которые требуют террабайт оперативки.
     

  • 1.21, Аноним (21), 01:02, 13/10/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Карты AMD и дешевле и без Rust заводятся.
     
     
  • 2.23, Аноним (23), 01:43, 13/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > и без Rust заводятся.

    ничего, это только пока. Скоро и они проржавеют.

     

  • 1.27, Аноним (27), 05:33, 13/10/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Всё отлично, но при чём тут драйвер?

    Драйвер это мост между системой и устройством. Здесь же просто прослойка между двумя апи.

     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2025 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру