Tredjepartslösning ger AMD-kort stöd för Nvidias CUDA

Permalänk
Medlem
Skrivet av friArsenik:

En intressant synvinkel, med tanken på vad jag skrev.

När man googlar så är svaret Ja, att man kan vara skyldig även fast man inte vet vad som händer (amerikansk lag)
I detta oligopol så blir det ju ännu mer skevt då de sponsrar något mot deras rivals överlägsenhet i programmerings optimering. Det finns ingen annan intressent än dem själva egentligen...

Visa signatur

Intel i5 12600k OC 5.2GHz | Arctic Freezer II 240 | MSI Pro Z690 A | 2x 16Gb Corsair LPX 3200MHz | Asus Tuf 4070 Ti | Corsair Rm850x V3 | 2x 1Tb Samsung 980 m2 | 7x Noctua A14x25

Permalänk
Medlem
Skrivet av Swedishchef_90:

När man googlar så är svaret Ja, att man kan vara skyldig även fast man inte vet vad som händer (amerikansk lag)
I detta oligopol så blir det ju ännu mer skevt då de sponsrar något mot deras rivals överlägsenhet i programmerings optimering. Det finns ingen annan intressent än dem själva egentligen...

A men då kan man stämma alla nystartade företag, för de kan stjäla potentiella kunder från redan existerade företag.

Permalänk
Medlem
Skrivet av friArsenik:

A men då kan man stämma alla nystartade företag, för de kan stjäla potentiella kunder från redan existerade företag.

Inte riktigt samma sak? 🤣
Sen är amerikansk lag väldigt krånglig och komplex och betydligt mycket mer orimliga EULA styrt

Visa signatur

Intel i5 12600k OC 5.2GHz | Arctic Freezer II 240 | MSI Pro Z690 A | 2x 16Gb Corsair LPX 3200MHz | Asus Tuf 4070 Ti | Corsair Rm850x V3 | 2x 1Tb Samsung 980 m2 | 7x Noctua A14x25

Permalänk
Datavetare
Skrivet av F.Ultra:

Fast punkt #1 stämmer ju inte, detta är ju inte en ersättare till något som AMD någonsin snickrat på utan bara en översättare mellan CUDA och HIP, att sedan program som Blender visar sig köra snabbare via denna lösning än direkt mot HIP tyder ju mer på att det är stödet för HIP i Blender som ligger efter.

Well, skrev ju att det nog handlar om PR.

Ja, tekniskt sett är inte #1 korrekt. Hur många ens på en tech-site som SweC tror du fattar varför det inte är fallet? Så spelar egentligen ingen roll om det är sant eller inte, det kommer antaligen _uppfattas_ på "fel" sätt.

Har aldrig riktigt fullt ut greppat vad som är HIP och vad som är ROCm. Men vet att AMDs GPU-kompilator använder sig av det nästan alla använder sig av idag: LLVM IR + AMDs LLVM-backend för GPUer AMDGPU.

Fun fact här är att, vare sig de vill det eller ej, så samarbetar AMD och Intel på denna punkt. Intel använder också LLVM, de använder det både för GPU och CPU i deras "OneAPI". Är faktiskt möjligt att använda OneAPI som "front-end" (Intel använder Khronos SyCL, som AMD av någon anledning inte bryr sig om att stödja) ihop med ROCm/AMDGPU (så antar att "ROCm" är "runtime" medan HIP är API/SDKn).

TL;DR är att detta nog ändå visar hur långt före Nvidias tool-chain är AMDs. För vad ZLUDA rent tekniskt gör är tar Nvidias motsvarighet till LLVM IR*: PTX, och översätter den till motsvarande LLVM IR. Efter det fungerar det "som vanligt".

Nvidia har helt enkelt betydligt mer välpolerad front-end och PTX optimerare. PTX är assembler för en virtuell GPU, precis som för LLVM IR finns sedan en "backend" per GPU-generation som skapar rätt maskinkod för just den GPUn

Gäller inte bara HIP, även OpenCL i Geekbench blev rätt mycket effektivare om man istället gick CUDA->PTX->ZLUDA->Radeon GPU.

Som nämnts i tråden är det, förutom PR-problematiken att ta denna väg, nog ingen framkomlig väg när man läser på projektsidan. Där nämns att projektet är i praktiken övergivet och det är lite svårt att använda med begränsningar som

"Applications running ZLUDA might produce slightly different values Firstly, ZLUDA ignores some of the floating point denormal and rounding mode information present in the kernels. Secondly, for certain approximate (not IEEE 754) NVIDIA floating point operations in CUDA, ZLUDA blindly uses approximate AMD floating point operations. The two might have a different precision."

och

"On Windows, Antivirus flags ZLUDA as malware."

* LLVM IR är en virtuell CPU/GPU som alla LLVM front-ends bygger till, sedan översätts LLVM IR till faktiskt HW via en lämplig backend, AMDGPU i fallet Radeon GPUer och samma LLVM IR kan används på Intel Arc via deras intel-ocloc backend.

Visa signatur

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