Uus programmeerimiskeel muudab GPU-de muutmise superarvutiteks kiiresti

GPU

Enamik bitte, mida olete kunagi krimpsutanud, töötati läbi protsessori, kuid teie arvuti graafilist protsessorit (GPU) kasutatakse üha enam üldiste arvutusülesannete täitmiseks. Probleemiks on alati olnud selliste rakenduste kujundamine, mis saaksid ära kasutada GPU töötlemata arvutusvõimsust. Arvutiteaduste doktor Indiana ülikooli kandidaat nimega Eric Holk on protsessi hõlbustamiseks loonud uue programmeerimiskeele nimega Harlan.

Mõlemad protsessorid ja graafikaprotsessorid on tänapäevase arvutustehnika jaoks olulised ning mõlemad sobivad paremini erinevate ülesannete täitmiseks. Enamikul protsessoritest on mitu südamikku, mis suudavad käitada mõnda töötluslõnga. See töötab iga lõime väga kiiresti, seejärel liigub järgmise juurde. GPU-l on tavaliselt palju aeglasemalt töötlevaid südamikke (neid nimetatakse mõnikord voo protsessoriteks), mis suudavad käitada rohkem samaaegseid lõime. Me ütleksime, et GPU arvutamine on oma olemuselt paralleelsem kui protsessori sort.



Ühe GPU-ga arvutuste tegemisel tekkivad tüsistused on piisavalt tülikad, kuid mitme GPU ühendamine improviseeritud võrgus võib komplikatsioone dramaatiliselt suurendada. Sellegipoolest pöörduvad teadlased üha enam graafikaprotsessorite poole, lootes mõista massiliselt paralleelarvutamise eeliseid. Kleepige piisavalt GPU-sid kokku ja muretsete hinna eest ajutise superarvuti. (Vt:Titani superarvuti: 38 400 protsessoriga, 20 petaflopiga superarvuti, toiteks Nvidia Tesla GPU.)

GPU-de programmeerimine nõuab, et programmeerija kulutaks palju aju tsükleid, tegeledes madala taseme detailidega, mis häirivad koodi peamist eesmärki. Harlan on huvitav, kuna see suudab hoolitseda kogu GPU-de programmeerimise ränga töö eest.

Kindlasti on seal ka teisi GPU programmeerimiskeeli, kusjuures OpenCL ja Nvidia CUDA on ehk kõige tuntumad. Need kõik põhinevad siiski protsessori minevikul. Holki projekti eesmärk on välja selgitada, kas maast madalast GPU-de toetamiseks loodud keel suudab paremini tööd teha.



GPU-dHarlani saab kompileerida OpenCL-i (nagu CUDA), kuid see võib kasutada ka kõrgema taseme keeli nagu Python ja Ruby. Süntaks põhineb skeemil, mis ise põhineb palavalt armastatud Lispi programmeerimiskeelel. Algselt 1958. aastal välja töötatud Lisp on mõjutanud mõnda populaarseimat tänapäevast keelt, sealhulgas Perli, JavaScripti ja Ruby'i - ehkki pole üllatav, et Lispi rohked ärritavad üleliigsed sulgud ei teinud nende uuemate keelte juurde hüppamist.

Harlani eesmärk on piiride ületamine, mida programmeerijad saavad GPU-andmetöötlusega teha. See keel genereerib riistvaral töötamiseks sujuva GPU-koodi mis võivad tunduda väga erinevad sellest, mida programmeerija lõi. See erineb sarnane keel nimega Rust, Mozilla projekt, mis aitab programmeerijatel luua aluseks olevale riistvarale sobiv programm.

Harlan on oma lähenemisviisi poolest veidi vähem tavapärane, kuid sellel on võimalus muuta GPU arvutus hõlpsamini kättesaadavaks keeruliste madala tasemega ülesannete abil. Uus keel on täielikult avatud ja selle saab alla laadida koos täieliku dokumentatsiooniga Githubist.



Copyright © Kõik Õigused Kaitstud | 2007es.com