Šta je novo?

CPU vs. GPU

  • Začetnik teme Začetnik teme mcrazy
  • Datum pokretanja Datum pokretanja

mcrazy

Slavan
Učlanjen(a)
20.12.2006
Poruke
1,755
Poena
350
Zanima me kako vidite i sta mislite da ce se desiti u skorijoj buducnosti? Posto ova dva 'proizvoda' ukrstaju puteve, sta ocekujete od CUDA-e, OpenCL-a i CT-a?
Kakvo ce biti stanje sa igrackom industrijom? Da li ce zaista ubrzo cpu biti 'skoro nepotreban' i da ce gpu da radi vecinu posla? Integracija u jedan cip (amd fusin), da li je ralno ocekivati dosta dobar odnos ili trentuno temperature ne dozvoljavaju dovoljno brze cipove? Koliko ocekivati od Larabee-a?
Bilo bi interesantno da se u ovoj temi postave neke vesti, roadmaps firmi, spekulacije, licna misljenja (sta mislite da ce prevagnuti i kojem smeru)...
 
Mislim da ce sledeci korak biti GPGPU driver, tj, pojavice se novi uredjaj u device manageru i aplikacije koje umeju da ga iskoriste ce to i moci da urade. Preciznije, apstrakovace GPU (NV, ATI ili Larrabe) tako da je aplikaciji svejedno sta se nalazi iza uredjaja.

Dalje.. verujem da ce se praviti specijalne verzije raznih biblioteka, uglavnom codeca, kompresora i dekompresora, pa cak i cele matematicke biblioteke dizajnirane za resavanje velikih sistema jednacina.

CUDA je za sada najbrza jer je prilagodjena NV karticama i ima neke stvari koje OpenCL nema (i nemoze da ima jer je previse GPU generalan API).

CPU ce i dalje biti potreban iz jednog prostog razloga.. latenca nad FPU operacijama je mnoogo manja nego kada to radio GPU.

Ako se ne varam AMD fusion je mrtav (tj. otkazan). Mozda Nedjo zna nesto vise. Larrabe je blizu, obecava mnogo, i verujem da ce napraviti blagu pometnju na trzistu. Moje licno misljenje je da ce tek Larrabe2 biti dostojan igrac. Intel je sposoban da to izvede pre svega zbog ogromne sw podrske koju imaju.
 
Imas li kakvo zanimljivo stivo preporuciti za citanje?
Mozes li malo precizirati CPU ce i dalje biti potreban iz jednog prostog razloga.. latenca nad FPU operacijama je mnoogo manja nego kada to radio GPU.
:wave:

Jos jedno pitanje: koje su generalno najvece razlike izmedju gpu i cpu (hardverski gledano) tj. one koje su nepremostive (kao sto je iznad yooyo naveo) a koje su to 'slicnosti' gde se jedna stvar moze skoro poistovetiti sa drugom...
 
Poslednja izmena:
Latenca je vreme koje potrosis cekajuci odgovor. Kada FPU jedinica CPU-a izvrsi neku operaciju rezultat te operacije je dostupan za dalji rad skoro odmah (da ne zalazim dublje u pipeline).
Ako bi GPU izvrsavao FPU code, onda bi instukcija trebala da ode u driver, pa onda preko PCIx do GPU-a koji treba da alocira procesore, pripremi program, itd da bi na kraju izvrsio tu instukciju i poslao razultat nazad. Vreme dok se sve to obavi moze biti 1000x (lupam) sporije od FPU instrukcije na procesoru.

Ali ako znas sa kakvim podacima baratas i znas da ih ima mnogo i hoces da primenis isti proracun na svima, onda uposlis GPU. Npr.. GPU ce da obradi u jednom prolazu 1.000.000 podataka, CPU bi morao da radi u petlji 1.000.000 puta i u svakom prolazu da obradi po jedan uzorak.

http://en.wikipedia.org/wiki/GPGPU

Moja greska za Fusion.. nesto sam pomesao.. 🙂
 
Ako se ne varam AMD fusion je mrtav (tj. otkazan). Mozda Nedjo zna nesto vise.
Pod parolom "ono sto me ne zanima, to ni ne pratim", ti oprastam :d
http://blogs.amd.com/unprocessed/2009/04/15/an-inside-look-amd-central-engineering-part-i/
Larrabe je blizu, obecava mnogo, i verujem da ce napraviti blagu pometnju na trzistu. Moje licno misljenje je da ce tek Larrabe2 biti dostojan igrac. Intel je sposoban da to izvede pre svega zbog ogromne sw podrske koju imaju.

Larrabe je minimalno 6-7 meseci daleko od konkretnog proizvoda, a sto se tice Intelove softverske podrske... heh, pa kad im GMA drajveri budu radili kako treba kako sa OGL, tako i sa DX igricama, onda mozemo da pricamo o "sposobnosti".

Secam se da su i za Itanium 2 pricali kako ce tek on da bude prava stvar - ono sto su s pocetka i smislili... a svi znamo gde je ta prica otisla, uporkos toj sofverskoj podrsci koju pominjes, a koja je od kljucne vaznosti za takvu vrstu procesora 😉
 
Vec sam rekao da sam pomesao neke informacije u vezi Fusiona.
U vezi Intela... slazem se da im graficki driveri sucks, ali zato su im biblioteke IPP, MKL, threading blocks i kompajler vrh.
 
Ajde neko po naski da objasni ovo:
tts.png
 
Pa empirijski tj odokativno ubodena formula koja kaze koliko je ubrzanje sistema u funkciji broja procesora u sistemu i procenta serijskog izvrsavanja koda... nista posebno.. uglavnom je samo procena koja ne mora da se uzme kao bogom dana formula... generalno zakljucak koji se izvlaci iz formule je da ukoliko je problem u potpunosti paralelan sa 0% serijskog izvrsavanja tipa onda ide linearno ubrzanje tj 5procesora 5x brze , 100 procesora 100x .. ako postoji jako malo serijskog izvrsavanja onda ukupno ubrzanje naglo opada... tipa 100 procesora 20x i sl..
u praksi postoji jako mnogo problema tipa koherencije i konzistencije keseva tj memorijskog sistem i promasaja u kesevima zbog memorijske slozenosti problema koji kolju ove brojke jos vise...
medjutim promena u nacinu razmisljanja moze da preokrene situaciju skroz..
primer drugog nacina razmisljanja je recimo paralelno procesiranje na GPU... npr.. sabrati niz od 8 elemenata 1,2,3,4,5,6,7,8 po sledecem algoritmu
1,2,3,4,5,6,7,8
1+2, 3+4, 5+6 , 7+8
----------------------
3, 7, 11, 15
3+7, 11 + 15,
----------------------
10, 26
10+26
----------------------
36


ovde se lepo vidi koji su koraci paralelni i izvrsavaju se na razlicitim procesorima.. sada linearna slozenost kod klasicnog sabiranja pada na logaritamsku slozenost gledano u gornjem primeru.. generalno ovo nije tacno i funkcija je broja procesirajucih blokova ali gpu ovde moze znacajno da preokrene stvar sto se tice performansi i sto je najbolje upravo je i preokrece 🙂
 
Poslednja izmena:
Pa empirijski tj odokativno ubodena formula koja kaze koliko je ubrzanje sistema u funkciji broja procesora u sistemu i procenta serijskog izvrsavanja koda... nista posebno.. uglavnom je samo procena koja ne mora da se uzme kao bogom dana formula... generalno zakljucak koji se izvlaci iz formule je da ukoliko je problem u potpunosti paralelan sa 0% serijskog izvrsavanja tipa onda ide linearno ubrzanje tj 5procesora 5x brze , 100 procesora 100x .. ako postoji jako malo serijskog izvrsavanja onda ukupno ubrzanje naglo opada... tipa 100 procesora 20x i sl..
u praksi postoji jako mnogo problema tipa koherencije i konzistencije keseva tj memorijskog sistem i promasaja u kesevima zbog memorijske slozenosti problema koji kolju ove brojke jos vise...

Formula nije uopšte empirijski dobijena, baš naprotiv. Amdalov zakon je nešto uopšteniji, a gornja formula je samo njegova primena. Generalno, ako imaš kod u kome se neki njegov deo izvršava sa verovatnoćom P, ako modifikacijom procesora uspeš da ubrzaš taj deo koda N puta i ako se pre modifikacije kod izvršavao za vreme t, sada će za njegovo izvršavanje biti potrebno t1 = (1-P)*t + P*t/N. Na osnovu ovoga ubrzanje koje si diobio je speed-up = t/t1 = 1/[(1-P) + P/N].

To je u principu gore navedena formula, s tim da su oni koristili oblik formule u kome se navodi verovatnoća pojavljivanja koda koji se ne može ubrzati (P=1-Sw). Pored toga gore navedena formula ne uzima u obzir nikakav overhead, već smatra da je ubrzanje idealno (N puta, za N procesora). Budući da se ne uzima u obzir overhead za pokretanje threadova, kao ni za njihovu sinhronizaciju, promašaji u cache-u, itd. realni dobici su još manji. Pretpostavljam da je poenta gore prikazanog slajda to da se povećavanjem broja jezgara (ili jedinica za paralelnu obradu) neće dobiti značajna ubrzanja dok se softver ne učini što je moguće više paralelnim. Evo na ovom linku se može videti grafik koji prikazuje kolika je razlika u ubrzanju za slučajeve kada se procenat koda koji je paralelan kreće između 90 i 99 procenata i kada se on izvršava na čipu koji ima 128 izvršnih jedinica (npr GeForce 8800 GTS). Inače, potreba za optimizacijom postaje sve veća kako broj izvršnih jedinica raste (jer kriva sa linka postaje sve strmija oko x = 1), što se može videti na slajdu iznad.
 
Poslednja izmena:
Effects of CPU frequency on FPS (Single GTX 280)

Levo su frejmovi a dole takt procesora:

image.php

image.php


Izvor: VR-Zone
 
to sve zavisi od igre do igre sto neko ne odradi grafik za GTA4 pa da vidmo?

po meni su buducnost igre sa veoma velikim mapama, dobrim AI, RPG elementima kao i fizikom gde ce svakako biti jak uticaj procesora ili dedivatetd GPU-a

druga je stvar sto proklete konzole dreze napredak u zastoju kao i gladne kompanije koje zele bilione zarada na jednoj igri.....
 
Nazad
Vrh Dno