Skrivet av Slaskmapp:
Ursäkta trådkapning… har byggt sweclockers vinterdator 2021 (första bygget på 20 år!) och tänkte prova köra linux på den (många år sedan mitt senaste linux-äventyr). Har siktet inställt på POP linux men blir osäker när jag läser om dåligt stöd för AMD iGPU (Ryzen 5600G). Tänkte köra utan dedikerat grafikkort till att börja med. Förstår jag rätt att stödet är dåligt?
Det positiva är att stödet för AMD GPUer har definitivt blivit klart bättre på senare tid! Det om man tittar specifikt på 2D/3D grafik. Phoronix har rätt mycket tester kring detta. Som jag skrev ovan verkar ju t.ex. problemet TS har med justering av ljusstyrka vara något som kom av buggar i drivrutinen, ett problem som ska vara avhjälpt i en av de senaste Linux-kernel versionerna.
En annan positiv sak är att GPU-prestanda hos APUer har ökat en hel del hos framförallt 5000-serien. Men detta kan naturligtvis ses från "glaset halvfullt" hållet också, att man överhuvudtaget kunnat göra så pass stora förbättringar säger en del om nivån innan... Vi har inte sett motsvarade lyft på Windows, så handlar om att Linux underpresterat fram till nu (ett problem vi inte ser hos Nvidia eller Intel då de i stort sätt kör samma kodbas för Windows och Linux drivers, lite oklart varför inte AMD gör så).
Ett i min mening stort problem kring just "APU:er" som 5600G och 4500U är att AMD valde att kalla dessa "APU" istället för "CPU med iGPU" då visionen hela tiden varit att genom integrera CPU och GPU på samma krets och låta dessa dela på RAM öppnar upp för accelerering (APU = Accelerated Processing Unit) av vissa uppgifter, t.ex. rendering i 3D-modelleringsprogram.
Jämför detta med Nvidia, Intel och Apple.
Nvidia är klassledande kring GPGPU med deras CUDA och tyvärr är CUDA det enda som stöds i många fall, medan i ända så kanske finns bredare stöd men CUDA-stödet är klart bäst. Alla relevanta Nvidia GPUer stödjer aktuella versioner av CUDA.
Intel har historiskt inte haft mycket till GPU-kraft att komma med, så där har inte GPGPU varit superviktigt. Men på senare tid har man växlat upp en hel del, Xe-serien är riktigt kompenent på GPGPU. Intels motsvarighet till CUDA heter OneAPI (OneAPI är egentligen bredare än CUDA då det täcker GPGPU, SIMD/CPU och FPGA acceleration), i detta ramverk finns stöd från iGPU i Broadwell och framåt.
Apples motsvarighet till CUDA kallas Metal Compute. I de applikationer som använder detta kan man se just hur rätt AMDs vision kring deras APU faktist är. Här är den klassiska BMW-scenen renderad på min MacMini med M1 samt på min 5950X. D.v.s. en laptop CPU som drar <20 W när den renderar denna scen mot AMDs snabbaste desktop CPU för "konsumentmarknaden".
När man använder iGPU i M1 är 5950X faktiskt bara ~40 % snabbare på att rendera denna scen. M1 Pro och uppåt är snabbare än 5950X!!!
Klicka för mer information
Båda är med Blender 3.1
M1 med metal compute
5950X
Visa mer
AMDs motsvarighet kallas HIP. OpenCL (som i teorin stöds av alla 4 tillverkarna) är i praktiken död som GPGPU-teknik, även om den finns kvar (har dock varit lite svajigt stöd för OpenCL just för APUer under Linux, dock fungerat bra för AMD dGPU).
HIP används dels för GPGPU accelererade program för olika former av simuleringar, men även 3D-rendering har börjat använda detta (Blender har droppat OpenCL stödet för AMD och kör ju HIP). Problemet är att HIP inte fungerar på APUer, varken under Windows eller Linux
Finns visst hopp om att AMD kommer lägga in stöd för de just lanserade RDNA2 baserade APU, men väldigt lite pekar på att det någonsin kommer dyka upp något stöd för äldre generationer (i alla fall inte under Linux).
4000/5000 seriens APUer har en GPU som inte riktigt matchar GPUn i M1, men man skulle ändå få en rejäl prestandavinst i vissa "tunga" applikationer om det hade varig möjligt att använda GPGPU-acceleration.
Sendan ska man komma ihåg: för bärbara är det långt bättre att endast ha en iGPU i sitt system, kvittar om det är AMD eller Intel. Laptops med dGPU+iGPU kombinerat med Linux är att be om problem (vilket är riktigt trist då det är enda sättet man kan få riktigt bra GPGPU stöd på en bärbar, för det krävs tyvärr en Nvidia GPU).
TL;DR är ändå att för 2D/3D grafik har det under senaste året / halvåret definitivt gått åt rätt håll för AMDs GPU stöd under Linux. Sorgebarnet är att just APU-stödet verkar hela tiden släpa efter, framförallt GPGPU stödet är nära nog icke-existerande vilket gör att det inte är en "APU" utan en "CPU med iGPU".