Loading market data...

NVIDIA CUDA 13.3 tuo tiilipohjaisen GPU-ohjelmoinnin C++:aan

NVIDIA CUDA 13.3 tuo tiilipohjaisen GPU-ohjelmoinnin C++:aan

NVIDIA on julkaissut CUDA 13.3:n, version joka tuo tiilipohjaisen GPU-ohjelmoinnin suoraan C++:aan. Päivityksen tavoitteena on hyödyntää Tensor-ytimiä paremmin samalla vähentäen kernelien kirjoittamisen monimutkaisuutta.

Miten tiilipohjainen ohjelmointi toimii

Tiilipohjainen ohjelmointi jakaa laskennan pieniin, kiinteän kokoisiin lohkoihin, joita kutsutaan tiileiksi. Nämä tiilet vastaavat GPU:n sisäisiä datavirtakuvioita, mikä helpottaa laitteiston pitämistä kiireisenä. Aiemmissa CUDA-versioissa kehittäjien piti hallita tätä kartoitusta itse. Nyt kääntäjä hoitaa sen, ainakin monille yleisille kuvioille.

Tensor-ytimet ovat erikoistunutta laitteistoa NVIDIA GPU:issa, jotka nopeuttavat matriisien kerto-laskuoperaatioita. Ne ovat keskeisiä tekoälyn koulutuksessa ja päättelyssä. Parhaan suorituskyvyn saavuttaminen niistä vaati kuitenkin usein monimutkaista manuaalista viritystä. CUDA 13.3:n tiiliabstraktio tiilittää matriisioperaatiot automaattisesti niin, että ne osuvat Tensor-ytimiin useammin. Kehittäjät kirjoittavat yksinkertaisempaa koodia ja saavat silti hyvän läpäisykyvyn.

Ydinten kehitys yksinkertaistuu

Yksi suurimmista kipupisteistä GPU-ohjelmoinnissa on säikeiden, jaetun muistin ja synkronoinnin hallinta. Uusi tiilipohjainen malli abstrahoi nämä yksityiskohdat pois. Sen sijaan, että kirjoittaisi kernelin, joka luo tuhansia säikeitä ja koordinoi niiden pääsyä jaettuun muistiin, ohjelmoija voi ilmaista laskennan operaatioina tiileillä. CUDA-kääntäjä sitten kartoittaa nämä tiilet taustalla olevaan laitteistoon. Tämän pitäisi vähentää virheitä ja nopeuttaa kehitystä, erityisesti GPU-laskentaan uusille tiimeille.

Saanti

CUDA 13.3 on nyt ladattavissa NVIDIA:n kehittäjäsivustolta. Se tukee kaikkia nykyisiä NVIDIA GPU-arkkitehtuureja, mukaan lukien Hopper- ja Blackwell-sarjat. Kehittäjät voivat alkaa kokeilla tiilipohjaista API:a heti.

Päivitys ei poista käytöstä vanhempia lähestymistapoja, mutta se asettaa uuden oletuspolun tehokkaan GPU-koodin kirjoittamiseen. Se, omaksuuko laajempi yhteisö sen nopeasti, riippuu siitä, kuinka hyvin kääntäjä kartoittaa tiilioperaatiot todelliseen laitteistoon – ja vastaako suorituskyky käsin viritettyjä ytimiä kriittisissä työkuormissa.