uutiset

Aloitusyritys NVIDIA: simuloi CUDA:ta AMD-kortilla, käännä ja suorita alkuperäinen ohjelma suoraan

2024-07-16

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

  • Crecy tulee Aofein temppelistä
    Qubits |. Julkinen tili QbitAI

Ilman muutoksia tai muunnoksia AMD-näytönohjain voi ajaa alkuperäistä CUDA-ohjelmaa!

Brittiläinen start-up-yritys on julkaissut AMD:lle CUDA-ohjelman käännöstyökalun, joka on ilmainen kaupalliseen käyttöön.

Kun työkalu julkaistiin, se herätti laajaa kiivasta keskustelua nettilaisten jaPääsi HackerNewsin kuuman listan kärkeen



Työkalu on nimeltään SCALE, ja kehittäjät sijoittavat sen GPGPU:n (general-purpose GPU) ohjelmointityökalusarjaksi.



Tällä hetkellä 9 ohjelmaa, mukaan lukien laaja mallikehys llama-cpp, on läpäissyt testin ja toimivat normaalisti.

Toisin kuin muut toteutukset, SCALESimuloi suoraan CUDA-työkalupakin asennusta, kokoelma voidaan täydentää lähteestä ilman muuntamista muille kielille.

Siksi SCALE voi myös tarjota tukea NVIDIA-spesifisille välikielille, kuten inline PTX.

Ei tarvitse muuntaa, anna AMD:n suorittaa CUDA

Virallinen verkkosivuston esittely osoittaa, että SCALE sisältää pääasiassa kolmen komponentin kanssa yhteensopivan nvcc-kääntäjän, CUDA-ajonaikaisen AMD-toteutuksen ja ohjainsovellusliittymän sekä ROCm-kirjaston.

Kääntäjä voi suoraan kääntää CUDA-spesifisillä kielillä kirjoitetut ohjelmat, mukaan lukien nvcc, inline PTX jne., binäärikoodeiksi, joita voidaan käyttää AMD GPU:illa.

ROCm-kirjastoa käytetään tarjoamaan "CUDA-X" API, ja SCALE käyttää tätä menetelmää käsitellessään kirjastoja, kuten cuBLAS ja cuSOLVER.



SCALEn tärkein innovaatio on seHyväksy CUDA-ohjelma sellaisenaanilman, että niitä tarvitsee siirtää toiselle kielelle,Yhteensopiva nvcc:n ja clangin kanssaja muut käännöstavat, kun taas olemassa olevat rakennustyökalut ja komentosarjat (kuten cmake) voivat toimia normaalisti.

Virallisen lausunnon mukaan SCALE on täysin yhteensopiva CUDA:n kanssa, mikä mahdollistaaKehittäjien ei tarvitse kirjoittaa erillisiä koodeja eri GPU-alustoille

Tämä eroaa hyvin paljon AMD:n käynnistämästä HIP:stä, koska HIP kirjoittaa CUDA-koodin uudelleen tietyllä tavalla eikä välttämättä pysty ymmärtämään oikein monimutkaisia ​​makroja, eikä tue omaa kieliä, kuten inline PTX.

Jopa SCALE-kirjoittaja uskoo, että HIP ei voi ratkaista CUDA-yhteensopivuusongelmaa.

Lisäksi SCALE:n kieli on CUDA:n superjoukko, joka tarjoaa joitainValinnaiset kielilaajennukset, mikä voi tehdä GPU-koodin kirjoittamisesta helpompaa ja tehokkaampaa kehittäjille, jotka haluavat päästä eroon nvcc:stä.

Kirjoittaja ilmaisi toiveensa, että tulevaisuudessa kehittäjät voivat kirjoittaa koodin kerran ja käyttää sitä eri laitteistoalustoilla, ja pyrkii kuromaan umpeen yhteensopivuuskuilun suositun CUDA-ohjelmointikielen ja muiden laitevalmistajien välillä.

Tällä hetkellä SCALE:n tuki eri AMD GPU-sarjoille on seuraava:

  • Jo tuetut: gfx1030 (RX6000-sarja) ja gfx1100 (RX7000-sarja)
  • "näyttää toimivan": gfx1010 (RX5000-sarja) ja gfx1101
  • Mukautus: gfx900 (RX Vega -sarja)

Lisäksi kirjoittaja testasi joitain avoimen lähdekoodin CUDA-projekteja ja suoritti onnistuneesti 9 CUDA-sovellusta SCALE:lla.



SCALE on kuitenkin aivan uusi projekti, joten kirjoittaja on myös valmistellut sarjan opetusohjelmia asennuksesta kokoamiseen, ja se tarjoaa erilaisia ​​esimerkkiohjelmia.

Opetusohjelman tärkeimpiin vaiheisiin liittyy asiaankuuluvat koodit, ja ne sisältävät jopa oman GPU-mallin määrittämisen, jonka voidaan sanoa olevan erittäin yksityiskohtainen.



Jos kohtaat ongelmia käytön aikana, kirjoittaja esittelee myös yleisiä vianetsintämenetelmiä ja avaa myös Discord-foorumin kommunikoimaan suoraan kehitystiimin kanssa.



SCALE:n luonut käynnistys kutsutaanSpektrilaskentaIsossa-Britanniassa vuonna 2018 perustettu yritys väittää tuntevansa syvällisesti CPU- ja GPU-arkkitehtuuria ja sen tavoitteena on auttaa kehittäjiä käyttämään laskentaresursseja tehokkaasti.



Netizen: Haasta Nvidian vallihauta?

Jotkut verkkoyhteisöt uskovat, että jos SCALE voi todella vaikuttaa (kuten mainostetaan), se haastaa NVIDIAn vallihauta ja antaa AMD:n kilpailla suoraan sen kanssa.



Nyt on kuitenkin liian aikaista tehdä johtopäätöksiä. Loppujen lopuksi myös SCALE-virkailijat myöntävät, että alkuperäiseen CUDAan verrattuna on vielä joitain puutteita.

Ja kehittäjä teki myös selväksi, että joitain CUDA-sovellusliittymiä ja toimintoja ei tueta, mutta ei antanut erityistä luetteloa.



Mitä tulee "AMD-ratkaisun" muihin puutteisiin, SCALE-tiimin kanssa kommunikoinut nettimies sanoi, että nykyinen SCALE ei voi käyttää TensorCorea, mikä tarkoittaa, että FlashAttention-kiihdytyskehystä ei voida käyttää AMD:llä.

Lisäksi, koska N-kortissa on tehokas matriisikertoyksikkö, vaikka se voidaan kääntää ja ajaa, AMD-kortin suorituskyky ei välttämättä ole yhtä hyvä kuin N-kortin.



Jotkut verkkokäyttäjät uskovat, että syy siihen, miksi Nvidia on hallitseva, on se, että AMD ei ole halukas investoimaan grafiikkasuorittimensa parantamiseen (ei vain CUDA:n etu).



Vaikka ne toimivat tehokkaasti, on myös kysymys siitä, ovatko AMD-kortit todella edullisia ja helppokäyttöisiä.



Toinen verkkovierailuaalto uskoo, että suurin ongelma ei ole sen toimivuus teknisesti, vaan sen taustalla olevat oikeudelliset ongelmat.

Tämäkin asia on herättänyt laajaa keskustelua, mutta johtopäätöstä ei ole vielä tehty.

Jotkut ihmiset ajattelevat, että SCALE on oikeudellisesti yhtä kyseenalainen kuin ZLUDA (toinen tapa ajaa CUDA-ohjelmia AMD:llä) ja voi johtaa oikeusjuttuihin NVIDIAlta.



Erityisesti NVIDIAn EULA-ehtojen mukaan CUDA SDK sallii vain N-kortilla toimivien sovellusten kehittämisen, mikä saattaa estää yhteensopivat toteutukset, kuten SCALE.



Mutta heti jotkut verkkokauppiaat sanoivat, että SCALE ei käyttänyt NVIDIAn "SDK:ta", joten miksi puhua SDK-käyttösopimuksesta?



Lyhyesti sanottuna, onko kyseessä tekninen puute tai oikeudellinen ongelma, keskustelu tästä uudesta työkalusta jatkuu edelleen.

Mitä tulee siitä, onko se hyödyllistä vai ei, on kehittäjien asia äänestää jaloillaan.

Viitelinkit:
[1]https://docs.scale-lang.com/
[2]https://news.ycombinator.com/item?id=40970560