Novi programski jezik pretvara GPU-ove u superračunala brzo

GPU

Većina bitova koje ste ikad drobili provodili su se kroz CPU, ali grafička procesna jedinica (GPU) vašeg računala sve se više koristi za opće računalne zadatke. Problem je uvijek bio dizajniranje aplikacija koje mogu iskoristiti neobrađenu računalnu snagu GPU-a. Računalne znanosti dr. Sc. kandidat na Sveučilištu Indiana pod imenom Eric Holk stvorio je novi programski jezik nazvan Harlan kako bi olakšao postupak.

CPU i GPU važni su za suvremeno računanje, a svaki je prikladniji za različite zadatke. Većina procesora ima nekoliko jezgri sposobnih za pokretanje nekoliko procesorskih niti. Izvodi svaku nit vrlo brzo, a zatim prelazi na sljedeću. GPU obično ima velik broj sporijih procesorskih jezgri (koje se ponekad nazivaju stream procesorima) koje mogu pokretati više istodobnih niti. Rekli bismo da je GPU računarstvo u biti paralelnije od CPU varijante.

Komplikacije prilikom izvođenja izračuna na jednom GPU-u su dovoljno problematične, ali spajanje više GPU-a u improviziranoj mreži može dramatično povećati komplikacije. Ipak, istraživači se sve više okreću GPU računarstvu u nadi da će shvatiti blagodati masovno paralelnog računanja. Spojite dovoljno GPU-a i dobit ćete improvizirano superračunalo po djeliću cijene. (Vidjeti:Titanovo superračunalo: 38.400 procesora, 20-petaflop superračunalo, napajaju Nvidia Tesla GPU-ovi.)



Programiranje za grafičke procesore zahtijeva od programera da provede puno moždanih ciklusa baveći se detaljima niske razine, koji odvlače pažnju od glavne svrhe koda. Harlan je zanimljiv jer se može pobrinuti za sav grubi posao programiranja za GPU-ove.

Svakako postoje i drugi programski jezici GPU-a, s tim da su OpenCL i Nvidijina CUDA možda najpoznatiji. Sve se to, međutim, temelji na prošlosti CPU-a. Holkov projekt želi utvrditi može li jezik dizajniran od temelja za podršku GPU-ima učiniti bolji posao.

GPU-oviHarlan se može kompilirati u OpenCL (poput CUDA), ali također može koristiti jezike više razine poput Pythona i Rubyja. Sintaksa se temelji na shemi, koja se i sama temelji na toliko voljenom programskom jeziku Lisp. Izvorno razvijen 1958. godine, Lisp je utjecao na neke od najpopularnijih suvremenih jezika, uključujući Perl, JavaScript i Ruby - iako, možda i ne iznenađuje, mnoštvo iritantnih suvišnih zagrada Lispa nije uskočilo na ove novije jezike.

Harlan se bavi pomicanjem granica onoga što programeri mogu raditi s GPU računarstvom. Ovaj jezik zapravo generira pojednostavljeni GPU kôd za pokretanje na hardveru koji mogu izgledati vrlo različito od onoga što je programer stvorio. Ovo se razlikuje od sličan jezik zvan Rust, Mozilla projekt koji pomaže programerima u izradi programa koji odgovara osnovnom hardveru.

Harlan je malo manje konvencionalan u svom pristupu, ali ima potencijal učiniti GPU računarstvo dostupnijim rješavanjem složenih zadataka na niskoj razini. Novi je jezik potpuno otvoren i može se preuzeti zajedno s kompletnom dokumentacijom iz Githuba.

Copyright © Sva Prava Pridržana | 2007es.com