View Single Post
Staro 18.07.2016., 18:56   #332
rodney
only fool, not a horse
Moj komp
 
rodney's Avatar
 
Datum registracije: Apr 2008
Lokacija: near zgb
Postovi: 1,280
Pokušat ću objasnit nekim slikovitim primjerom.
Zamisli da ti je cpu poslovođa, a gpu su radnici, njih 100.

U idealnoj situaciji, kad su manadžment i radnici usklađeni, nema praznog hoda, sve što menadžer zamisli, organizira i pripremi, sve se izvede prema planu. Nema kašnjenja, čekanja, ničega.
E sad, zamisli da na mjesto menadžera dođe neki podobni.. Sad organizacija šteka, materijal kasni, nema dozvole, od onih 100 radnika, 10ak je efektivno korisno, a ostali ne mogu radit jer im nešto nije stiglo, jer je nešto moralo bit prije gotovo i slično.
Obrnuta situacija, dođe neki švabo/japanac/hercegovac, wunderkind, nema šta nezna i ne može. Daš mu još 100 radnika i on ih sve uposli, i traži još 200.

Tipični workflow jako jednostavnog cuda programa izgleda nekako ovako:
1. priprepi podatke na hostu (cpu) i kopiraj na device (gpu)
2. izračunaj nešto na gpu.
3. kopiraj podatke nazad na host (cpu)

Za različite probleme je to različito, ali kopiranja i obrada na cpu uvijek ima, jako su rijetki problemi da se mogu tako dobro paralelizirat da nema potrebe za nekim međurezultatima, komunikacijom i slično, a takve se stvari rade na hostu... I zato će jaka grafa uvijek tražit jaki procesor. Ili će jedno ostati slabo iskorišteno. E sad u kojem točno omjeru snage bi trebali bit, to jako ovisi o programu koji se vrti...

Kad kažeš matematika ide na gpu, to je vrlo neodređeno. Sve je to neka matematika na kraju. I ne mogu se svi problemi efikasno paralelizirat, za neke jednostavno nećeš dobiti nikakvo ubrzanje. Školski primjer ti je telefonski imenik. Koje god prezime da ti kažem, naći ćeš mi broj u par minuta, ako znaš abecedu. Čak i ne moraš znat neki jako pametni algoritam za pretraživanje, naći ćeš broj. I da ti dam 10 ljudi da ti pomogne, nema smisla. Jedan je dovoljan. A zamisli si da imenik nije sortiran, da su brojevi nabacani slučajnim redosljedom. Tada bi ti 10 ljudi itekako pomoglo, jer bi svatko pretraživao svojih 100 stranica. Dakle taj problem se može lako paralelizirat (odnosno podijeliti na više ljudi).
__________________
"I intend to live forever. So far, so good."

job security - example
rodney je offline   Reply With Quote