AMD ROCm
Datum objave 14.11.2016 - Bruno Banelli
AMD ROCm - Kaži, usnama medenim slaži, ja ću tebi vjerovat...
IT tržište relativno je mlado, ali je činjenično najdinamičnije u pogledu implementacije u sve sfere ljudske civilizacije. Gotovo da ne postoji moment ljudskog djelovanja u kojem ne možete pronaći nekakav tip elektroničkog računala, a život 21. stoljeća gotovo je nezamisliv bez istog. Stari ljudi, koji to govore isključivo zato što su stari, reći će da se i prije jelo, ljubilo i okopavalo plodne oranice bez raznih aparata, što je činjenica, ali ne udara u srž. Pa tako dakle možemo zaista podnijeti da se vratimo na pred-tranzistorsko doba, gdje rodni list ne stariji od 6 mjeseci umjesto na pisaču iz topline vlastitog doma moramo vaditi osobno kod razularene službenice čija je srce jedino hladnije od njezine trajne ondulacije, dogovarati sastanak s MalaPlawaNaiwna98 u lokalnom kafiću umjesto preko Tindera i Vibera (da bi se kasnije ispostavilo kako se radi o Miljenki, bivšoj bacačici kladiva iz DDR-a) ili okopavali grunt s improviziranom štihačom umjesto da pustimo svojeg IMT-a ili Zetora da GPS-om ore kako smo mu zadali putem cloud softvera.
No ono što prosječni glasač ne zna jest da je sav taj silni napredak informatike (ter neka mi Bog i narod ne zamjere sto koristim ovako širok i kolokvijalan pojam) donio i neke napretke koje ne vežemo direktno uz računala, barem ne ako ne pogledamo širu sliku. Jer krenemo li od Neofena kada Vas zaboli glava jer je najnovija verzija upravljačkog programa za omiljenu grafičku karticu odlučila ne raditi pa do goriva kojeg ste natočili u vaš Trabant ako ste star čovjek s početka priče i „2 cilindra i 600 kubika ought to be enough for anybody“ kombinatorike obzirom da ste krenuli u trgovinu onkraj grada kako bi ste kupili nešto novo – cjelokupnoj lakoći tog življenja pripomogla je upravo grana informatike koju zovemo HPC (High Performance Computing).
I dok je nekad pojam „superračunalo“ podrazumijevalo ogromantnost u svakom segmentu (energetski, prostorno, novčano i obrazovno), zadnjih nekoliko godina taj segment prelazi u sve veće mikro-sfere. Drugim riječima, kako vam je otac vjerojatno prepričavao anegdote kako je gledao Cray na slici na info-vašaru u Tompojevcima ’79., tako danas možete za vrlo malo novaca imati „superračunalo“ u džepu.
Na stranu činjenicu da problemi koje obuhvaća HPC spadaju u netrivijalne, dodatni kamen spoticanja uvijek je bio involviranje velike količine programerskog znanja, na stranu sam sukus pretpostavljenih izračuna. Spuštanje na razinu jeftinijih (u odnosnu na „prava“ superračunala) započelo je već sredinom ’90. godina s OpenMP projektom, da bi se razbuktalo pojavljivanjem OpenCL i CUDA tehnologija krajem prvog desetljeća ovog stoljeća. Ponovno valja imati na umu da su svi ti razvojni sustavi za sobom povlačili ogromnu kompleksnost i zahtijevali širok spektar poznavanja nekoliko programskih jezika i paradigmi.
Kada bi Vam sada netko rekao da bi bilo moguće agregirati sve te tehnologije i postojeće izvorne kodove u jednu ideju… Dobrodošli u ROCm!
ROCm (čita se: rock ’em) je mlada i potentna OpenSource inicijativa koja seže bitno dalje od svih postojećih ideja i tržišnih igrača. 8. listopada ove godine, Gregory Stoner, Senior Director u Radeon Open Computeu predstavio je projekt pobliže i najavio novu verziju 1.3 za 13. listopad, rođendan Neila Younga (iako Wikipedia tvrdi da je stari rocker rođen 12. listopada, no dobro…). Ideja (a namjerno koristimo tu terminologiju) se bazira na performansama, otvorenosti koda (GPL) i „hyperskalabilnosti“, što je fin naziv za korištenje više hardverskih jedinica za obradu podataka.
Sama ROCm ideja puno je više od novog seta alata, što u ovom trenu predstavlja podršku za „Hawai“, „Fiji“ te „Polaris“ arhitekturu te neke APU-e (od verzije 1.3), i set razvojnih alata za Linux platformu. Na naš upit o tome kada će biti dostupni alati (makar za sam razvoj) na ne-Linux platformi (pritom vodeći isključivo mišlju o Windowsima), dobili smo poprilično robotski odgovor o neizvjesnosti iste i eventualnom seljenju nekih razvojnih alata na drugu (Windows) platformu. Dovoljno pošteno, obzirom da HPC svijetom ionako vlada Linux već dugi niz godina, što je vrlo jasno vidljivo iz bilo koje TOP500.org statistike.
ROCm predstavlja driver, API i set alata za HPC koji rade gotovo kao RTOS za više programske jezike. Unatoč tome što CUDA u današnjem svijetu predstavlja Coca Colu za programere, ROCm želi postati univerzalni odgovor na pitanje u HPC kafiću – što želite popiti?
Predstavljajući dva glavna alata, ROMc nudi kompletno rješenje za prelazak na svoju platformu. Prvenstveno HCC (Heterogeneous Compute Compiler) koji je single source complier za CPU i GLU, izgrađen oko LLVM-a i libC++ s podrškom sve do C++17 standarda i Parallel STL knjižnice, OpenMP podrške za CPU i GPU te, kako se tvrdi, sijasetom optimizacija. No po našem skromnom mišljenju, glavna zvijezda prelaznog roka na novo sučelje predstavlja HIP (Heterogeneous-Compute Interface for Portability) – alat za jednostavan prelazak sa OpenCL i CUDA izvornog koga na ROCm platformu uz minimalan trud i napor s ljudske strane, boljim ili u najgorem slučaju istim performansama. AMD tvrdi da je portao Caffe, jedan od najpopularnijih deep learning frameworka, s 99.6% nemodificiranog koda i s podrškom za sve značajke koje Caffe nudi (multi GPU podrška, P2P, FFT filteri i slično).
Nova inačica 1.3 koja je i bila glavni predmet predstavljanja (obzirom da je sama ideja „stara“ već preko 6 mjeseci) donosi podršku za Polaris i to na svim inačicama od PRO WX7100 pa do RX460 kartica. To donosi ROCm na budget chip od nekoliko stotina dolara s punom podrškom za matematičke knjižnice poput BLAS-a, SPARSE-a, RAND-a i sličnih, frameworka kao što su Trilinosov Kokkos, Charm, QUDA i slični, kao i za razne primjene unutar strojnog učenja (Torch7), kvantne kromodinamike (MILC i Chroma koji su trenutno u razvoju i navodno bi trebali biti dostupni polovicom prosinca ove godine), molekularne dinamike (AMBER, NAMD, Gromacs, HOOMD-blue) te bioinformatike (Peanut I Beagle).
Kada smo rekli da je ROCm ideja a ne set pomagala, to se prvenstveno odnosilo na to da cijelu platformu žele prilagoditi i preseliti na cijeli raspon arhitektura, počevši od x86 od Intela i AMD-a, pa do ARM AArch64 ThunderX odnosno IBM-ovog Powera 8. Ne samo to, nego AMD aktivno sudjeluje u projektima tipa CCIX (međuprocesorska interkonekcija), OpenCAPI (nasljednik/zamjena/alternativa PCI Expressu), OpenUCX projektu izrade open source frameworka za HPC mrežnu komunikaciju (WinSock za HPC, recimo…) i sličnih projekata.
Puno toga je napisano, obećano i započeto, no povijest kao učiteljica života i objektivnost situacije involviranih nam daju dašak sumnje. Bilo kako bilo, optimizam ulijevaju ogroman entuzijazam, FLOSS koncept i nezaustavljiv rast HPC tržišta (ne zaboravite da je Intel kupio Alteru!), pa ostaje nada da ukoliko se samo 50% navedenog realizira do kraja godine, to će predstavljati golemi uspjeh i zalog za budućnost razvoja.
U doba objavljivanja ovog članka nismo imali dovoljno vremena isprobati ROCm 1.3 u praksi (manje od 24 sata za zahtijeva posebno pripremljeno računalo), ali prvom prilikom to će biti ostvareno pa ćemo objaviti, nadam se, neke zanimljive i obećavajuće rezultate.
Forum
Objavljeno prije 1 minute
Smart home/Home security - Pametni prekidaci, senzori i hub: Sonoff, Shelly, Aqara...Objavljeno prije 3 minute
Kupnja bijele tehnikeObjavljeno prije 7 minuta
"Masovno" slanje mailovaObjavljeno prije 9 minuta
Sam svoj majstor - razni radovi po kući/stanuObjavljeno prije 9 minuta
hrvatski SMS gatewayNovosti
Što su veliki jezični modeli ili LLM?
Što je LLM? Veliki jezični modeli (LLM) su klasa temeljnih modela koji su obučeni na velikim količinama podataka kako bi pružili temeljne mogućnosti potrebne za pokretanje višestrukih slučajeva upotrebe i aplikacija te rješavanje velikog br... Pročitaj više
Šuška se da Google planira spojiti Chrome OS s Androidom, pa čak i stvoriti prijenosno računalo
Google ne samo da nastavlja poboljšavati Android sustav, već je također pokrenuo vlastiti Pixel Tablet, kodnog naziva Snowy, a sada se šuška da bi sljedeći korak mogao biti integracija Chrome OS-a za računala s Androidom. Ovaj potez navodno... Pročitaj više
Microsoft lansira Azure Integrated HSM, Azure Boost DPU i nove akceleratore za AI računalstvo na Ignite 2024
Na ovogodišnjem događaju Microsoft Ignite 2024, Microsoft je najavio niz novih tehnologija i inovacija koje imaju za cilj unaprijediti Azure usluge u oblaku, posebno u kontekstu sigurnosti podataka i računalnih resursa za umjetnu inteligenc... Pročitaj više
Google dodaje funkciju "memorije" u Gemini AI model za poboljšanje korisničkog iskustva
Google je najavio novu funkcionalnost za svoj Gemini Advanced AI model, koja omogućuje memoriju, odnosno sposobnost pamćenja prethodnih interakcija i preferencija korisnika. Ova funkcija, koja je trenutno dostupna samo za odabrane korisnike... Pročitaj više
Antimonopolska tužba između FTC-a i Mete uskoro će ići na suđenje, možda će morati razdvojiti Instagram i WhatsAppa
Antimonopolska tužba između Savezne trgovinske komisije (FTC) i Meta Platforms (bivši Facebook) u kojoj se istražuje spajanje Meta sa Instagramom i WhatsAppom mogla bi imati dalekosežne posljedice za tehnološku industriju, a suđenje koje je... Pročitaj više
Sve novosti