AMD:s utvecklarverktyg översätter CUDA för Radeon-grafikkort

Permalänk
Medlem
Skrivet av Yoshman:

En bättre liknelse är då kanske att CUDA och HIP förhåller sig som svenska och norska, de är tillräckligt lika för att någon som är bra på ett av dem kan förstå det andra.

Huvudproblemet jag ser med HIP, efter att läst på lite mer för att försöka hitta AMDs vision, är detta

"Is HIP a drop-in replacement for CUDA?

No. HIP provides porting tools which do most of the work to convert CUDA code into portable C++ code that uses the HIP APIs. Most developers will port their code from CUDA to HIP and then maintain the HIP version. HIP code provides the same performance as native CUDA code, plus the benefits of running on AMD platforms."

Det markerade känns som ett rätt ordentligt hinder av primärt två huvudanledningar:

1. HIP är en delmängd av CUDA, varför skulle man vilja begränsa möjligheterna på Nvidias GPUer så länge de är dominanten?
2. Även om man går till HIP går man från att endast stödja Nvidia till att nu bara stödja Nvidia och AMD.

2. kan tyckas vara ett mindre problem, men grejen är att om målet är att nå en sådan bred publik som möjligt är det ju ännu bättre att gå till SyCL p.g.a detta
https://www.khronos.org/assets/uploads/blogs/2020-05-sycl-landing-page-02.jpg
https://www.khronos.org/assets/uploads/apis/2020-05-sycl-landing-page-02b_1.jpg

SyCL och HIP ger samma sak här, en kodbas kan stödja flera "backends". SyCLs stöd är väsentligt bredare, bl.a. finns det redan två sätt att stödja AMD GPUer (ingen har tyvärr officiellt stöd från AMD):

dels via hipCYCL (som numera heter Open CYCL). Men likt många andra helt 3:e-parts drivna projekt går detta relativt långsamt.

dels via OneAPI. Precis som i HIP finns det teknik i OneAPI för att, utöver att köra på Intel HW, även köra på Nvidia GPUer. Hade missat att man numera även har stöd för AMD GPUer (via HIP som "driver-lager").

Vidare finns det även "backends" för SyCL som använder sig av OpenCL (OpenCL 3.0 är en nedskalade variant jämfört med 2.x som i praktiken helt är tänkt som "driver-lager" för t.ex. SyCL) samt Vulkan compute.

Med SyCL når man därför inte bara AMD och Nvidia GPUer, man når allt från FPGA:er (t.ex. Xilinx produkter, teknik som AMD numera äger) till alla PC GPUer och även mobil GPUer (via endera OpenCL eller Vulkan).

Binäröversättning nämns i tråden: tekniskt sett borde det vara möjligt då AMD, Nvidia, Intel, Arm och Apple alla bygger sina GPU-kompilatorer på LLVM. Rosetta 2 (x86_64->ARM64 för MacOS) och Arm64EC (x86_64->ARM64 för Win11) använder just LLVM för att översätta x86_64 till LLVM IR (IR är en form av "virtuell" maskinkod), när man har LLVM IR är det möjligt att kompilera det till alla arkitekturer som LLVM har en backend för (vilket är "typ alla").

Vulkan shaders går i praktiken alltid via SPIR-V (som kan hanteras m.h.a. LLVM IR), så steget från LLVM IR till GPU-maskinkod finns i praktiken redan hos alla GPUer som har Vulkan stöd.

Huvudproblemet är nog att det kanske inte blir så effektiv. GPUer skiljer sig mer på HW-nivå jämfört med CPUer, givet att Rosetta 2 fixar 70-90 % effektivitet lär motsvarande för GPUer ser en lägre effektivitet. Fördelen är i.o.f.s att något stöd är bättre än inget stöd så länge som nettoeffekten är bättre prestanda än att köra utan GPU-acceleration.

Dag för en lektion ånyo Det känns som den klassiska xcd-strippen med att det är rörigt med alla olika standarder, så nu introducerar vi en ny standard.

Visa signatur

..:: trickeh2k ::..
Windows 11 Pro - Ryzen 7 7800X3D - ASUS TUF B650-PLUS - Kingston FURY Beast DDR5 64GB CL36 - MSI MAG A850GL - MSI RTX 4080 VENTUS 3X OC - Acer Predator XB271HU - ASUS VG248QE - QPAD MK-85 (MX-Brown)/Logitech G PRO Wireless - Samsung 960 EVO 250GB, Samsung EVO 860 500GB, SanDisk Ultra II 480GB, Crucial MX500 1TB, Kingston KC3000 2TB - Steelseries Arctic 5 - Cooler Master Masterbox TD500 Mesh V2

Permalänk

Hej tråden! Jag är väldigt ny vad gäller hip, rocm och cuda.

Skulle ni säga stt det är värt att ha detta i åtanke när jag väljer mellan ett 6650xt och ett 7600 kort? Det tidigare kortet stödjer bara runtime medan 7xxx korten stödjer hip sdk.

Tror vi att man börjar se spel bli bättre ”emulerade” av rocm inom något halvår eller är vi flera år bort innan 7xxx visar en fördel tack vare just rocm?

Jag har förstått att alla 5-7xxx kan nyttja SAM, så det känns bra då jag har en ryzen 7600x processor.

Visa signatur

X670-P - Ryzen 7600x - 3070 TI - 32gb 6000mhz - Fractal Design Focus 2 - Asus TUF 750w Gold - Be quiet pure rock 2
— bottleneck ~2% —

Permalänk
Medlem
Skrivet av Andreas-F-Lindgren:

Hej tråden! Jag är väldigt ny vad gäller hip, rocm och cuda.

Skulle ni säga stt det är värt att ha detta i åtanke när jag väljer mellan ett 6650xt och ett 7600 kort? Det tidigare kortet stödjer bara runtime medan 7xxx korten stödjer hip sdk.

Tror vi att man börjar se spel bli bättre ”emulerade” av rocm inom något halvår eller är vi flera år bort innan 7xxx visar en fördel tack vare just rocm?

Jag har förstått att alla 5-7xxx kan nyttja SAM, så det känns bra då jag har en ryzen 7600x processor.

Jag personligen tror vi är flera år bort då det kommer finnas stora hinder med implementeringen då användarna/köparna , i typisk amd stil, är BETA testare. Så finns det buggar för programmet så måste de leta och felsöka i koden. De är inget som företagen har som #1 prio tills amd är i närheten av samma användarbas och prestanda

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 talonmas:

Deras bästa når inte ens Nvidias näst bästa? Om vi inte inkluderar pris i begreppet "bäst" såklart

https://cdn.sweclockers.com/artikel/diagram/28222?key=f6f2a12ee014aabe3db2ec53e3685c51

Skulle du seriöst köpa något av toppkorten för att köra i enbart 1080p? Låter som slöseri med pengar.

Visa signatur

Gamingrigg: MEG x570 ACE, 5950X, Ripjaws V 32GB 4000MT/S CL16, 6800XT Red Devil LE, HX1200i.
Laptop: XPS 9570 x GTX 1050 x 8300h + 16GB Vengeance 2666Mhz + Intel AX200
Valheim server: i7-8559 + Iris Plus 655 + 32GB + 256GB
Printers? Yes. Ender 5, Creality LD-002R, Velleman VM8600, Velleman K8200