Vad ingår i Linux-kärnan med AMD:s och Intels GPU-drivrutiner?

Permalänk
Medlem

Vad ingår i Linux-kärnan med AMD:s och Intels GPU-drivrutiner?

Jag ska eventuellt bygga mig en ny dator som även ska klara av lite lättare Blender-uppgifter. Jag kör just nu Nvidia ihop med Kubuntu, och där måste ju Nvidias drivrutiner installeras separat utanför Linux-kärnan. Jag skulle gärna se att så mycket som möjligt av drivrutinerna uppdateras tillsammans med systemet i övrigt i den nya datorn.

Om jag förstått det hela rätt så har både Intel och AMD lite mer integration i kärnan. Men jag blev lite förvirrad när jag läste systemkraven i Blender för GPU-rendering.

Citat:

För AMD
Radeon Software 22.10 or ROCm 5.3

För Intel
intel-level-zero-gpu package 1.3.27642, typically available through the intel-compute-runtime package XX.XX.27642.38

När jag sökte lite så verkar det som att både Radeon Software och ROCm skulle jag behöva fixa separat? Blender verkar inte använda AMD:s drivrutiner från kärnan. Med Intel-delarna vet jag inte riktigt. Är det nåt med Intel som också skulle behöva fixas separat på liknande sätt?

Det kanske egentligen bara är Intel som har GPU-stöd för Blender direkt i kärnan?

Permalänk
Medlem

Drivrutinerna är bara delen som pratar med hårdvaran, det behövs även userspace-bibliotek som implementerar t.ex. OpenGL, Vulkan, och tillverkarnas GPGPU-lösningar som t.ex. CUDA och ROCm. Så oavsett vilken tillverkare du väljer så kommer du behöva installera extra paket. Men så länge som du installerar allt via pakethanteraren så uppdateras ju allt tillsammans oavsett.

Permalänk
Medlem
Skrivet av perost:

Drivrutinerna är bara delen som pratar med hårdvaran, det behövs även userspace-bibliotek som implementerar t.ex. OpenGL, Vulkan, och tillverkarnas GPGPU-lösningar som t.ex. CUDA och ROCm. Så oavsett vilken tillverkare du väljer så kommer du behöva installera extra paket. Men så länge som du installerar allt via pakethanteraren så uppdateras ju allt tillsammans oavsett.

Fair point. Tänkte kanske lite mycket på hur det är på Windows där mycket av det där ingår när man installerar drivrutinen. Även om det säkert ingår olika bibliotek även där.

Då kanske det handlar mer om traditionell distro-paketering snarare än vilken kernel.

Permalänk
Inaktiv
Skrivet av perost:

Drivrutinerna är bara delen som pratar med hårdvaran, det behövs även userspace-bibliotek som implementerar t.ex. OpenGL, Vulkan, och tillverkarnas GPGPU-lösningar som t.ex. CUDA och ROCm. Så oavsett vilken tillverkare du väljer så kommer du behöva installera extra paket. Men så länge som du installerar allt via pakethanteraren så uppdateras ju allt tillsammans oavsett.

En del av GPU drivrutinerna är en implementering av OpenGL, Vulkan osv. I Linux fall använder man Mesa för denna delen, som streamlinear stora delar av denna implementering. Men drivrutinen behöver ändå erbjuda en integration mot dessa lager.

Permalänk
Datavetare
Skrivet av Mutation:

Jag ska eventuellt bygga mig en ny dator som även ska klara av lite lättare Blender-uppgifter. Jag kör just nu Nvidia ihop med Kubuntu, och där måste ju Nvidias drivrutiner installeras separat utanför Linux-kärnan. Jag skulle gärna se att så mycket som möjligt av drivrutinerna uppdateras tillsammans med systemet i övrigt i den nya datorn.

Just Ubuntu har ju väldigt bra integration med Nvidias drivers, om du följer denna så uppdateras sedan drivers automatiskt via "apt-get"

https://ubuntu.com/server/docs/nvidia-drivers-installation

Det står "server" men finns även beskrivning för desktop där.

Skrivet av Mutation:

Om jag förstått det hela rätt så har både Intel och AMD lite mer integration i kärnan. Men jag blev lite förvirrad när jag läste systemkraven i Blender för GPU-rendering.

När jag sökte lite så verkar det som att både Radeon Software och ROCm skulle jag behöva fixa separat? Blender verkar inte använda AMD:s drivrutiner från kärnan. Med Intel-delarna vet jag inte riktigt. Är det nåt med Intel som också skulle behöva fixas separat på liknande sätt?

Det kanske egentligen bara är Intel som har GPU-stöd för Blender direkt i kärnan?

När det kommer till både 3D-grafik och GPGPU är det väldigt mycket en definitionsfråga vad man menar med "driver". Är totalt sett rätt lite av funktionerna som ligger i kärnan, det mesta ligger i "vanliga" bibliotek.

För att använda GPGPU i Blender kommer det vara vara enklast och prestera överlägset bäst med Nvidias drivers.

För AMD behöver du installera ROCm, ett ramverk som länge nästan uteslutande fokuserade på deras datacenter GPUer och med väldigt begränsat stöd för konsument-GPUer. De har förbättrat stödet för konsument GPUer på senare tid, men officiellt stöds endast 3 modeller för tillfället (RX 7900 XTX, RX 7900 XT samt RX 7900 GRE). I praktiken lär alla RDNA3 GPUer fungera.

Edit: här är beskrivningen för att få in ROCm paketen i "apt-get"
https://rocm.docs.amd.com/projects/install-on-linux/en/latest...

I Intels fall heter GPGPU-biblioteket OneAPI. För att få in det i "apt-get" maskineriet följer du detta
https://www.intel.com/content/www/us/en/developer/tools/oneap...

Visa signatur

Care About Your Craft: Why spend your life developing software unless you care about doing it well? - The Pragmatic Programmer

Permalänk
Medlem

Intressant ändå hur Ubuntu verkar vara de facto-standarden för allt GPGPU-relaterat på Linux. Det är det enda som återkommer överallt med officiellt stöd. Trodde faktiskt också att det var fler AMD-modeller som stöddes officiellt. Dåligt.

Anledningen till att jag inte går all in på Nvidia handlar också om en grej jag skapade en annan tråd om här på SweC - att fixa hårdvaruacceleration i webbläsaren. Med tex Intel funkar det mer eller mindre out of the box. Med Nvidia tvingas man förlita sig på en tredjepartsdriver (vad som nu definieras som driver ) för att översätta VA-API till NVDEC. Killen som gör det verkar också jobba mot ett rätt så instabilt och inofficiellt API så det kan ju helt plötsligt bli besvärligt att få det att funka. Lite för mycket silvertejp för min smak egentligen.

Jag tror nog faktiskt det blir Intel framöver. Jag måste inte ha den allra bästa prestandan i Blender utan det är fler parametrar som spelar in. Får väl se om Blender hunnit få stöd för B-serien tills det är dags att köpa nytt.