Imọ Itọsọna

CUDA ati GPU siseto

CUDA jẹ ipilẹ NVIDIA fun awọn eto kikọ ti o ṣiṣẹ lori GPUs, ṣiṣi ẹgbẹẹgbẹrun awọn ohun kohun fun iṣiro afiwera.

2 min kakẹhin imudojuiwọn

Akopọ

It is the software foundation that turned GPUs into the engine of modern AI.

Jin Dive

CUDA (Iṣiro Iṣọkan Ẹrọ Iṣiro) jẹ ki awọn olupilẹṣẹ kọ koodu ti o nṣiṣẹ taara lori NVIDIA GPUs dipo Sipiyu nikan. Awọn ile-iṣẹ awoṣe siseto lori 'kernel' - iṣẹ kan ti a ṣe ni nigbakannaa nipasẹ ẹgbẹẹgbẹrun awọn okun iwuwo fẹẹrẹ, ti a ṣeto si awọn bulọọki ati awọn akoj. Nitori awọn GPU jẹ SIMT (Itọsọna Kanṣoṣo, Awọn opo Ọpọ), gbogbo awọn okun ninu ẹgbẹ kan nṣiṣẹ ilana kanna lori oriṣiriṣi data, eyiti o jẹ apẹrẹ fun matrix ati math vector. Pupọ AI awọn oṣiṣẹ ko kọ aise CUDA; dipo, awọn ilana bii PyTorch ati TensorFlow ipe iṣapeye awọn ile-ikawe CUDA - cuDNN fun awọn iṣẹ neural-net ati cuBLAS fun algebra laini - labẹ hood. Ọlọrọ yii, akopọ sọfitiwia ti ogbo jẹ moat idije idije nla julọ ti NVIDIA: paapaa nigba ti awọn eerun orogun yara, ibaamu ilolupo CUDA jẹ lile pupọju.

Imọ-imọ-ẹrọ

Ni CUDA o ṣe ifilọlẹ ekuro kan kọja akoj ti awọn bulọọki o tẹle ara; Okùn ọ̀kọ̀ọ̀kan ṣe iṣiro ẹyọ ọ̀nà àbájáde kan, tí a fi mọ̀ nípa ìdènà rẹ̀ àti atọ́ka fọ́nrán. Awọn isunmọ iṣẹ lori awọn ipo ipo iranti: iyara lori-chip 'iranti pinpin' dipo iranti agbaye ti o lọra, ati iraye si 'coalesced' nibiti awọn okun to sunmọ ka awọn adirẹsi ti o wa nitosi. Yẹra fun iyapa ija - nibiti awọn okun ninu ‘warp’ 32-threads gba awọn ẹka oriṣiriṣi ati pe o gbọdọ serialize - tun jẹ bọtini lati jẹ ki awọn ohun kohun GPU n ṣiṣẹ lọwọ.

Ipa Ilana

Iye owo ati isuna

Awọn ipinnu faaji ṣe awakọ iṣẹ ati idiyele iṣẹ fun awọn ọdun.

Awọn ipinnu diẹ sii

Ẹkọ imọ-ẹrọ ṣe iranlọwọ fun awọn ẹgbẹ lati yan akopọ to tọ, kii ṣe ọkan tuntun nikan.

Iṣakoso didara

Awọn yiyan imọ-ẹrọ to dara julọ dinku awọn iṣẹlẹ igbẹkẹle ni iṣelọpọ.

Ojo iwaju ti CUDA ati GPU siseto

CUDA yoo wa ni alakoso ni AI fun awọn ọdun ọpẹ si titiipa ilolupo rẹ, ṣugbọn titẹ n kọ. Ṣii awọn omiiran bii OpenAI's Triton jẹ ki awọn olupilẹṣẹ kọ awọn kernel GPU ni Python, ati awọn akitiyan ataja (OpenCL, AMD's ROCm, SYCL) ṣe ifọkansi lati fọ idimu NVIDIA. Npọ sii, awọn olupilẹṣẹ giga-giga laifọwọyi n ṣe ipilẹṣẹ koodu GPU ti o dara julọ, nitorinaa awọn ẹlẹrọ diẹ ni ọwọ-kọ awọn kernels. Aṣa naa wa si awọn abstractions ipele ti o ga julọ lakoko ti CUDA duro ni ipilẹ iṣẹ ti gbogbo eniyan ṣe afiwe si.

Real-World imuse

PyTorch nṣiṣẹ awọn iṣẹ tensor laifọwọyi lori GPU nipasẹ CUDA nigbati o pe .to ('cuda')

cuDNN n pese awọn imuse CUDA aifwy ọwọ ti awọn iyipada ti o yara awọn awoṣe aworan ikẹkọ

Onimọ-ẹrọ ti nkọwe ekuro CUDA aṣa lati mu yara simulation imọ-jinlẹ pataki kan

OpenAI's Triton jẹ ki awọn oniwadi kọ awọn ekuro GPU daradara ni Python dipo CUDA C ipele kekere

Awọn ewu & Awọn ọna iṣọ

Ṣiṣepe ala-ilẹ kan le tọju awọn ailagbara eto ti o gbooro.

Awọn ohun elo amayederun ati awọn idiyele itọju nigbagbogbo ni aibikita.

Aabo ati awọn ela akiyesi le dagba bi awọn eto ṣe di eka sii.

Ilana Ilana imuse

1

Ṣetumo lairi, didara, ati awọn ibi-afẹde idiyele ṣaaju imuse.

2

Aṣepari labẹ ẹru ojulowo ati awọn ipo data.

3

Abojuto ohun elo fun awọn aṣiṣe, fiseete, ati ipa olumulo.

4

Mura ipadasẹhin pada ati awọn ipa ọna esi iṣẹlẹ ṣaaju iwọn.

Tesiwaju Ṣiṣawari

Free newsletter

Get the daily AI briefing

Three verified AI stories every weekday morning, written in plain English. Free forever, no ads.

One email each weekday. Unsubscribe in one click. We never sell or share your address.

Test yourself

Take the CUDA and GPU Programming quiz

Instant feedback on every answer, and a shareable certificate with a verifiable ID once you pass a course.

Bẹrẹ adanwo

Support free AI education. AI Understanding is a 501(c)(3) nonprofit — no ads, no paywall, ever. Make a donation

Itọsọna atẹle

GPU Memory Management ati Fragmentation

Awọn ibeere ti a beere nigbagbogbo

What is CUDA and GPU Programming?

CUDA jẹ ipilẹ NVIDIA fun awọn eto kikọ ti o ṣiṣẹ lori GPUs, ṣiṣi ẹgbẹẹgbẹrun awọn ohun kohun fun iṣiro afiwera. O jẹ ipilẹ sọfitiwia ti o tan GPUs sinu ẹrọ ti AI ode oni.

Ninu awọn ọrọ-ọrọ CUDA, kini 'kernel' kan?

Ni CUDA ekuro jẹ iṣẹ ti a ṣe ifilọlẹ lati ṣiṣẹ ni igbakanna kọja ẹgbẹẹgbẹrun awọn okun GPU, ọkọọkan n ṣiṣẹ lori oriṣiriṣi data.

Kini awoṣe ipaniyan SIMT tumọ si?

SIMT (Itọsọna Ẹyọkan, Awọn ọna Ọpọ) tumọ si awọn ẹgbẹ ti awọn okun ṣiṣẹ ilana kanna lori awọn oriṣiriṣi awọn ege data, apẹrẹ fun matrix matrix.

Kini idi ti PyTorch ati TensorFlow ko nilo awọn olumulo lati kọ CUDA aise?

Awọn ilana wọnyi fi ipari si awọn ile-ikawe CUDA ti o ga julọ (cuDNN, cuBLAS), nitorinaa awọn olumulo gba isare GPU laisi kikọ awọn ekuro ipele kekere.

Kini 'iyatọ ijaya' ati kilode ti o ṣe ipalara iṣẹ?

Warp jẹ ẹgbẹ kan ti awọn okun (eyiti o jẹ deede 32); ti o ba ti nwọn ya o yatọ si ẹka, hardware serializes awọn ona, jafara ni afiwe losi.

Kini idi ti iraye si iranti 'coalesced' ṣe pataki ni CUDA?

Nigbati awọn okun adugbo wọle si awọn adirẹsi iranti adugbo, ohun elo naa le ṣajọpọ awọn kika wọnyẹn, imudara iwọntunwọnsi iranti ni iyalẹnu.