The OpenNET Project / Index page

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

Объявлено о готовности panthor, открытого драйвера для 10 поколения GPU Mali

05.03.2024 09:13

Компания Collabora объявила о готовности открытого драйвера panthor, развиваемого для десятого поколения GPU Mali (G310, G510, G710), в котором применяется технология CSF (Сommand Stream Frontend), выносящая на сторону прошивки некоторые функции драйвера для снижения нагрузки на CPU и предлагающая новую модель организации выполнения работ на GPU. DRM-драйвер (Direct Rendering Manager) panthor принят в ветку drm-misc и предположительно войдёт в состав ядра Linux 6.10. Изменения для поддержки нового драйвера также приняты в Mesa и включены в состав Gallium-драйвера panfrost для GPU Mali.

В новом поколении GPU Mali планировщик Job Manager заменён на интерфейс CSF (Command Stream Frontend), в котором вместо модели на основе отправки цепочки работ применяется модель на основе потока команд с планированием очереди потока команд на стороне прошивки. Для организации работы планировщика в GPU встроен отдельный микроконтроллер Cortex-M7, а для выполнения инструкций CSF предусмотрен специальный блок выполнения команд (Command Execution Unit). Подобные особенности требуют принципиально другой организации передачи работ в GPU из пространства пользователя.

Изначально была предпринята попытка реализации поддержки GPU Mali на базе CSF в DRM-драйвере Panfrost, но разработчики пришли к выводу, что это приведёт к большому усложнению существующего драйвера и для CSF более оптимально создание нового драйвера, построенного с использованием иной архитектуры. В драйвере panthor реализован полностью новый uAPI, новая логика планирования работ и новая логика управления MMU/GPU-VA. В качестве основы для нового драйвера использован существующий код DRM-драйвера Panfrost, из которого заимствованы типовые шаблоны инициализации драйвера, управления частотой и управления питанием.

Первое время разработка нового драйвера велась с использованием обратного инжиниринга, но затем к проекту присоединилась компания ARM, предоставила доступ к документации и приняла участие в рецензировании кода. Два сотрудника ARM получили статус помощников сопровождающего (co-maintainer) драйвера для ядра Linux. В дальнейшем после готовности OpenGL-драйвера работа будет сосредоточена на реализации Vulkan-драйвера для новых GPU Mali и модернизации существующего Vulkan-драйвера для старых GPU Mali.

Отмечается, что подготовленный драйвер panthor позволяет обеспечить поддержку GPU на платах c SoC Rockchip RK3588. Компанией Collabora также проделана работа по обеспечению загрузки плат на базе Rockchip RK3588 с использованием полностью открытого программного стека. Для Rockchip RK3588 подготовлен системный образ на базе Debian и открытый загрузчик для замены проприетарных компонентов BL31 (Boot Loader stage 3.1).

  1. Главная ссылка к новости (https://www.collabora.com/news...)
  2. OpenNews: Компания Collabora развивает PanCSF, новый Linux-драйвер для GPU Mali
  3. OpenNews: Драйвер Panfrost сертифицирован на совместимость с OpenGL ES 3.1 для GPU Mali серии Valhall
  4. OpenNews: В свободном драйвере Panfrost обеспечена поддержка GPU Mali Valhall
  5. OpenNews: Драйвер Panfrost сертифицирован на совместимость с OpenGL ES 3.1 для GPU Mali-G52
  6. OpenNews: Компания Collabora представила новый видеодрайваер для GPU Mali Midgard и Bifrost
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/60728-panthor
Ключевые слова: panthor, mali, drm
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (25) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (-), 09:41, 05/03/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > для замены проприетарных компонентов BL31 (Boot Loader stage 3.1).

    Так на него же сорц фирма ARM выкладывает? Или случилось как обычно с BSDL - т.е. ARM выкладывает, а фактическую реализацию под ЭТОТ SoC - таки - закрысили?

     
  • 1.2, Alladin (?), 09:44, 05/03/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    Мы в процессор добавили GPU акселератор, чтобы облегчить работу CPU в граф задачах.

    Мы в GPU добавили еще процессор, чтобы вынести GPU планировщик.

    А что потом?)

     
     
  • 2.4, Аноним (4), 10:03, 05/03/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А потом такие зачем на cpu и выкинули его.
     
     
  • 3.6, Alladin (?), 10:20, 05/03/2024 [^] [^^] [^^^] [ответить]  
  • +/
    с таким успехом можно и GPU выкинуть ведь на CPU будет достаточно ядер и производительности
     
     
  • 4.11, anonymous (??), 13:13, 05/03/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Интел тоже так думал когда-то.
     
  • 4.31, Аноним (31), 22:18, 06/03/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Поинтересуйтесь архитектурой и вопросом, почему ИИ вычисляют на GPU,а не CPU.
     

  • 1.3, Аноним (3), 10:02, 05/03/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +6 +/
    С этим драйвером Orange Pi 5 заиграет новыми красками.
     
     
  • 2.5, Аноним (4), 10:09, 05/03/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Открытый не значит быстрый.
     
  • 2.8, Qq (?), 11:10, 05/03/2024 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 2.12, InuYasha (??), 13:20, 05/03/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Т.е. перестанет быть orange? :D Я долго смеялся. :_D
     
     
  • 3.27, Аноним (27), 00:31, 06/03/2024 Скрыто ботом-модератором     [к модератору]
  • +2 +/
     

     ....ответы скрыты (4)

  • 1.7, Аноним (7), 10:41, 05/03/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Orange pi 5+. Воспроизведение видео в чём-то кроме патченного chromium намертво вешает систему. Во всех сколько-нибудь "официальных" сборках ОС. Если заработает, то боюсь даже загадывать что может получиться.
     
     
  • 2.15, Аноним (15), 15:12, 05/03/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Установил Firefox, активировал gpu ускорение. Видео пашет в 1080р без косяков в 95%
     

  • 1.9, Аноним (9), 11:13, 05/03/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >с планированием очереди потока команд на стороне прошивки. Для организации работы планировщика в GPU встроен отдельный микроконтроллер Cortex-M7

    Я что-то не понял ... Mali же - это GPU для телефонов, там и GPU и CPU на одном чипе. И тут нам заявляют, что отдельное ядро из CPU аппаратно выделили для нужд GPU и крутят на нём проприетарную прошивку, наверняка ещё и тивоизированную, вместо того, чтобы отдать подобные вещи полностью на откуп драйверу и клиентскому софту ...

    Мне представляется это наглостью и предательством интересов пользователя.

     
     
  • 2.10, Аноним (-), 11:31, 05/03/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >> с планированием очереди потока команд на стороне прошивки.
    >> Для организации работы планировщика в GPU встроен отдельный микроконтроллер Cortex-M7
    > Я что-то не понял ... Mali же - это GPU для телефонов, там и GPU и CPU на одном чипе.
    > И тут нам заявляют, что отдельное ядро из CPU аппаратно выделили для нужд GPU и крутят
    > на нём проприетарную прошивку, наверняка ещё и тивоизированную, вместо того, чтобы отдать
    > подобные вещи полностью на откуп драйверу и клиентскому софту ...

    Что тут не понятно? Что у GPU могут быть сервисные ядра для внутренних нужд? У более жирных GPU сервисных ядер вообще с дюжину, на все оказии. От распределения потока команд до управления DVFS и что там еще.

    > Мне представляется это наглостью и предательством интересов пользователя.

    Вон те вроде пока справляются. А Cortex M сам по себе вполне известное документированое ядро.

     
     
  • 3.13, Аноним (13), 14:04, 05/03/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >Что тут не понятно? Что у GPU могут быть сервисные ядра для внутренних нужд?

    Не понятно, какого хрена ядро, размещённое на том же чипе, выделили в "сервисное", а не отдали пользователю, чтобы он определял, какой код там крутится, и нужно ему это ядро для обработки потока команд, или он ему квант времени на поток команд выделит через планировщик в ОС, а всё остальное время будет его юзать как дополнительное ядро CPU для многопоточных приложений.

    >У более жирных GPU сервисных ядер вообще с дюжину, на все оказии.

    Они тоже должны быть полностью предоставлены в распоряжение пользователя. А "прошивка" должна быть просто нитью ядра ОС, в которую загрузили соответствующий модуль в виде программы.

    >У более жирных GPU

    На дискретных GPU на отдельной PCIE-плате ещё можно обосновать кое-как то, что ядро не является тем ядром, на которое можно класть нити произвольных программ по причине его доступа другой физической памяти. Что не отменяет того, что у пользователя и программ должна быть возможность помещать в такие ядра свои "прошивки". и чтобы они там работали с полным доступом и без санкций за отсутствие подписи или не прошедшую TEE-аттестацию.

     
     
  • 4.28, Аноним (28), 01:50, 06/03/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Cortex M это микроконтроллер. Ты хочешь доступ ко всем микроконтроллерам в системе?
    Так может и из линукса убрать разделение на кернел и юзер спейс, а то что они себе позволяют, не дают пользователю доступ ко всему функционалу
     
  • 2.30, anonymous (??), 16:43, 06/03/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Вы ещё забываете что внутри процессора x64 есть маленький процессор arm для планировки. И это тоже предательство интересов пользователя. Кому они нужны?
     
     
  • 3.33, Ananim (?), 15:55, 10/03/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Откуда ты эту чушь выдумал? Не из своей ли головы часом?
     

  • 1.14, n00by (ok), 15:11, 05/03/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • –4 +/
    Collabora штампует драйвера видеоконтроллеров, как пирожки печёт.
    Collabora добавляет в Wine поддержку Wayland.
    Эксперты Опеннет веруют, что Иксы вечны.

     
  • 1.16, НытикАнонимус (?), 16:41, 05/03/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Когда завезут GL4.6 чтобы я в DOOM 2016 уже играл? Когда?
     
  • 1.20, Анонист (?), 17:36, 05/03/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    Когда оно уже сможет в аппаратное ускорение отрисовки интерфейса и декодинг видео? А то оно даже от передвижения окошек дoлбит пpoц в coтку.
     
     
  • 2.26, Аноним (26), 00:02, 06/03/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Сразу после того, как Зоркий Глаз заметит, что у него отрисовка через llvmpipe идёт.
     

  • 1.23, Qq (?), 19:21, 05/03/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Для пишущих про медленный и глючный опенсурс-драйвер, напоминаю что это рефересные gpu от ARM, и к сопровождающим от collabora подключилось два сотрудника arm для оказания помощи в поддержке этой фигни. Какой уровень был у них в доступе к документации, правда, я не знаю. Но думаю они не занимались реверсом всего и вся
     
  • 1.29, aaa (??), 14:10, 06/03/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    "для десятого поколения GPU Mali (G310, G510, G710)"
    А где у них поддержка G510 и G710?
    Вроде пока только
    0xac74, "G310" и
    0xa867, "G610"
    Никаких
    G510
    G710
    G615
    G715
    Im-G715
    G620
    G720
    Im-G720
    нет и не предвидится.
     

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



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

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