![]() | ![]() |
![]() |
| ![]() |
| |||||||||||||||||||||||||||||||||||||||||||||||||||||
Heterogeno računarstvo
Nedovoljno dinamična dešavanja u svetu procesora i procesorskih tehnologija potencijalno dobijaju zaplet koji čekamo već sedam dugih godina
Kontekst Grubo rečeno, kada pogledamo situaciju u vezi sa oblastima procesorskih računarskih tehnologija, možemo da uočimo tri grupe: centralni procesori (CPU), grafički procesori (GPU) i digitalni procesori za obradu signala (DSP).
Ipak, neki poslovi u svetu računarstva zahtevaju veliki broj potpuno istih izračunavanja nad nekim skupom podataka. Idealan procesor za ovu primenu bi bio GPU. Na primer, kada se radi simulacija fizičkog modela neke realne pojave, recimo kretanja lopte u prostoru, računanje tog kretanja bila bi iteracija pomeranja koje lopta u prostoru pravi. Za ovakvu vrstu posla, dobar je visoko-paralelizovan procesor koji je sposoban da brzo obavlja slične vrste poslova, bez velikog broja skokova koje CPU inače mora da čini. Akcenat na paralelizaciju poslova omogućava GPU-ovima da budu mnogo efikasniji, kako u upotrebi električne energije, tako i u odnosu cene i performansi. Unapređenje grafičkog procesora faktora X uvek zahteva ulaganje resursa koji su manji od X. Resursi se kod projektovanja GPU procesora uglavnom troše na aritmetičko-logičke jedinice.
Savremeni računar ima zadatak da briljira u sve tri kategorije posla i jedini način da to tako i bude jeste da se, što ravnomernije to bolje, razvijaju sve tri grupe proizvoda. Svedoci smo da je u istoriji računarstva do pre nekoliko godina CPU doživljavao najveći napredak, a da je sada veći pozitivni pomak u tehnologijama GPU proizvoda. Ipak, svi ti pojedinačni napori u hardverskom smislu znače malo. Baza programera koji koriste nove tehnologije mora svoje veštine upravljanja novim tehnologijama razvijati jednako brzo. Prednost koju CPU-ovi imaju leži pre svega u velikoj zbirci softvera i softverskih platformi na x86 (i drugim, manje zastupljenim) arhitekturama. GPU-ovi još imaju relativno skromnu bazu programera i njihov razvoj kaska u odnosu na potencijal koji nude.
Fuzija Osnovne funkcionalnosti nečega što AMD naziva HSA (Heterogeneous System Architecture) bile su nam poznate još ranije i pominjali smo ih u mnogim opisima APU proizvoda. Ipak, sve do pojave poslednje platforme APU-a, sa kodnim imenom Kaveri, AMD nije u potpunosti integrisao sve potrebne sastojke ovog posebnog tehnološkog proizvoda. Površno posmatranje pomenute platforme bi za rezultat prikazalo samo nešto bolji centralni procesor i značajno pojačani grafički podsistem. Ipak, Kaveri sa sobom donosi mnogo više.
GPU deo je doživeo značajno unapređenje, kako u tehnološkom, tako i u softverskom smislu. Namesto Cayman arhitekture sada imamo Hawaii (GCN) GPU sa punom HSA podrškom, što otvara vrata značajnijim poduhvatima u softverskom smislu, slično onim koji vladaju u svetu softverske podrške za AMD grafičke kartice. Šlag na torti predstavlja i dodatak čipa iz treće grupacije (DSP). U pitanju je procesor za obradu audio-signala za kojeg AMD tvrdi da će uz minimalno opterećenje (samo jednog jezgra) procesora donositi odlične performanse. Najznačajniji dodatak u odnosu na prethodne generacije APU platformi upravo je u domenu naše teme – HSA. AMD je ovoga puta „uvukao"HSA na nivou programerskog modela, što će da omogući programerima da adresiraju „bilo koju” jedinicu obrade, odnosno više neće morati da odvojeno pišu skupove programa za centralnu procesorsku jedinicu od onih za grafički podsistem, razmišljajući koja od tih jedinica će da bolje savlada konkretan programerski problem. Naravno, ovakve mogućnosti su novost i ne treba očekivati da će softver koji upotrebljava HSA poteći u bujicama, ali je sigurno da je ovim potezom AMD konačno ispunio osnovni cilj koji je postavljen u trenutku kada je kupljen ATI. Da bi olakšao posao programerima, AMD je poslao čitav niz alata, razvojnih biblioteka i API-ja čiji je zadatak da u domenima programskih jezika Java, C++, OpenCL, C++ AMP, C#, OpenMP i Python obezbedi upotrebu HSA zarad optimalnijeg iskorišćenja hardverskih resursa i uštede potrošene energije. Ako ste pomislili da je Nvidijina CUDA tehnologija nešto što vas podseća na pomenuto, u pravu ste, s jednom ozbiljnom razlikom. CUDA je tehnologija koja radi samo na grafičkim karticama iz Nvidie dok HSA pripada grupi otvorenih tehnologija. Slična je razlika kao između Java i C# tehnologija. HSA na terenu Osnovna hardverska prednost HSA u odnosu na dosadašnje tehnologije jeste u deljenju adresnog prostora radne memorije između centralnog i grafičkog procesora. Nvidia je ovo već uvela, ali isključivo u softverskom smislu. Dakle, programerima je putem API-ja omogućeno da pristupe jedinstvenom memorijskom adresnom prostoru. To, nažalost, nije omogućilo uštedu u vremenu prenosa podataka između „stvarnih” delova memorije, onog koji pripada centralnom i onog koji pripada grafičkom podsistemu. U godinama koje dolaze, Nvidia će da implementira potpuno unificiranje memorijskog prostora. AMD, kroz APU Kaveri, donosi najnaprednije rešenje u ovom domenu, gledajući čitav skup različitih proizvođača. Naime, i Intel i drugi konkurenti imaju svoja rešenja deljenja memorije, ali to su veoma ograničena rešenja koja u suštini nisu na visokom nivou evolucije na koji je od početka AMD pucao. U Kaveri APU sistemu GPU može direktno da pristupa adresnom prostoru centralnog procesora što olakšava prenos podataka između dve klase procesora putem pokazivača (eng. pointer). Praktična posledica ovakvog rešenja jeste istovremeni pristup deljenoj memoriji od strane oba procesorska sistema, kao i obavljanje procesa obrade nad istim podacima zajednički. Ovime se otvara put pravoj podeli posla. Paradigma heterogenog računarstva je pandan timskom radu. Potrebno je napraviti jedinstveni radni okvir u kom se svaki član tima upošljava onim poslom za koji je specijalizovan. Ipak, klijente tima ne treba da zanima koji posao je kom članu tima raspoređen već je njihov interes da za najkraće vreme i uz najmanju potrošnju resursa dobiju najbolji rezultat. HSA, poput dobrog trenera, omogućava optimalno upošljavanje različitih igrača, kakvi su CPU i GPU podsistemi. Poseban problem u ovoj timskoj strategiji jeste unificiranje, odnosno standardizacija softverskog pristupa hardveru kakav je HSA. U takvoj upotrebi, fondacija koja stoji iza ove paradigme nudi rešenje na nivou API-ja najnižeg nivoa (praktično nivo drajvera). Kako su u pitanju raznorodne tehnologije, deljeni skup instrukcija nije bio optimalno rešenje. Kao alternativa, odlučeno je da se upotrebljava posredničko rešenje u obliku nazvanom HSAIL (HSA Intermediate Language). Idea je jednostavna – programer napiše kod u odgovarajućem programskom jeziku višeg nivoa (recimo, Java), kompajler takav kod prevede u HSAIL, a radni okvir samog HSA generiše odgovarajući binarni kod klasničnom just-in-time metodom, odnosno u toku izvršavanja programa. Ovde je opet uputno da se napravi paralela sa svetom Nvidie koja ima sličnu tehnologiju (PTX, Parallel Thread Execution) koja, opet, radi samo na Nvidia grafičkim karticama. HSA će raditi na svim vrstama procesora koje implementiraju HSA API. AMD planira da osnovne softverske modele HSA arhitekture ponudi u drugom kvartalu tekuće godine. Do tada ćemo i dalje samo da čitamo o teorijskim mogućnostima. U drugoj polovini godine, a posebno početkom naredne, možemo da očekujemo ozbiljnije implementacije. Kada akademski i naučno-istraživački svet prihvati HSA tada će poteći i prvi pravi rezultati. Pri tom, krajnja cena koju će neka institucija da plaća za određeni HSA sistem je verovatno značajno niža nego ona koja mora da se plati za naprednije sisteme iz CUDA familije. • • • Kvalitet na hardverskom nivou mora da se isprati softverom ili će ovo da bude samo još jedna od onih dobrih tehnologija ili proizvoda koji nikada nisu dobili pravu priliku. Početna brzina ove priče je dobra. Da li će biti odgovarajućeg ubrzanja, na to će odgovoriti potezi i ostalih članova fondacije, poput Samsunga, Qualcomma, Texas Instrumentsa, ARM-a i drugih. Prva predstavljanja njihovih rešenja zasnovanih na tehnologiji HSA motivisaće programere i druge značajne pojedince da brže prihvate HSA i njene benefite i time otvore tržište. U međuvremenu, Kaveri će biti solidan APU, sa prosečno dobrim CPU i izuzetno dobrim integrisanim GPU podsistemom koji će najviše voleti gejmeri. Upravo u industrijama zabave i multimedije, HSA bi mogao da nađe najbržu primenu. Kada tome dodamo i činjenicu da upravo lansirana nova generacija konzola ima AMD-ove procesore, jasno je da AMD ne odustaje od borbe. Možda više nemaju najbrži čip, niti najprefinjenije proizvodne procese ili funkcionalnosti, ali fuzija konačno živi. Još samo da preživi... Momir ĐEKIĆ |
![]()
![]()
![]()
![]()
![]()
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]()
|
![]() | |
![]() | ![]() |
Home / Novi broj | Arhiva • Opšte teme | Internet | Test drive | Test run | PD kutak | CeDeteka | WWW vodič • Svet igara Svet kompjutera Copyright © 1984-2018. Politika a.d. • Redakcija | Kontakt | Saradnja | Oglasi | Pretplata • Help • English | |
SKWeb 3.22 |