drfedja
CPU Guru
- Učlanjen(a)
- 01.04.2009.
- Poruka
- 3.084
- Rezultat reagovanja
- 14
Moja konfiguracija
PC / Laptop Name:
Dell n5010, Intel Core i3 370M 2.4 GHz, 4 GB DDR3 1333
CPU & cooler:
Intel Core i7 4790K @ 4.5 GHz
Motherboard:
Biostar Hi-Fi Z97WE
RAM:
16GB Kingston HyperX Beast 2400
VGA & cooler:
Sapphire AMD Radeon R9-280X
Display:
Viewsonic VA2342 23" LED, LG 25"Ultrawide, Samsung VA2342 23"
HDD:
Samsung SSD850 Evo 250GB, Kingston 120GB V300 SSD, 2x1GB WD Caviar black
Sound:
Altec Lansing 5100E
Case:
Cooler Master 690-III
PSU:
Cooler Master G650M modular
Optical drives:
N/A
Mice & keyboard:
Keyboard/Mouse Cooler Master Storm
Internet:
Cable
OS & Browser:
Windows 10 Pro 64-bit
Other:
iPhone 6S 64GB
Razlika je u tome što koristi AVX, AVX2 i FMA3 instrukcije. Optimizovana verzija na FX-u na 3.4 GHz sa 8 jezgara renderuje za 97,68 sec prema tvom rezultatu, a na Ryzenu sa istim brojem jezgara i klokom za 35 sec, što je skoro 3x razlike.
Hajde da se bavimo malo extrapolacijom brojeva:
Softver skalira po procesorima prema Amdahalovom zakonu. Što je bolja paralelizacija softvera to je bolje skaliranje. Međutim, sa dodavanjem većeg broja procesorskih jezgara se gubi na efikasnosti.
Recimo da Blender ima stepen paralelizacije 95%. Skok perormansi sa 1 - 2 jezgra će biti 1.9x, sa 2 - 4 3.8x itd...
Prema ovome Haswell sa 4 jezgra 8 tredova na 3.4 GHz renderuje za oko 67-68 sec, a sa 8 jezgara i 16 tredova to ide za 36 sec.... itd...
Posmatrajući rezultete Ryzen ima odličano skaliranje sa SMT-om i/ili ogroman IPC.
Skaliranje sa 4 na 8 procesorskih jezgara obično ne donosi ni blizu 8x ubrzanja u odnosu na 1 tred, nego je to negde oko 6,85x. To u prevodu znači da bi Ryzen sa 4 jezgra 8 threadova renderovao na 3.4 GHz ovu istu sliku za otprilike 66 sec, dakle, nešto brže od i7 Haswell-a ili eventualno Broadwell-a sa 4 jezgra koji bi to radio za 67-68 sec.
To znači sledeće - jedno Ryzen jezgro bi bilo sporije od 8 za otprilike faktor 6,8, odnosno 6.8x bi se sporije renderovalo na jednom jezgru sa SMT-om, a to bi bilo negde oko 241 sec.
Ove cifre mogu da extrapoliram na osnovu zakonitosti po kojoj softver kao što je Blender skalira u mutlithreadingu.
Međutim, nepoznata je koliko Ryzen skalira sa SMT-om na jednom jezgru. Ryzen poseduje SMT, pa sa jednim jezgrom i dalje izvršava 2 threada, ali faktor skaliranja nije kao na dva odvojena jezgra, već je on dosta manji. Kod Intelovog Hyperthreadinga je to do 35% ubrzanja sa 1 na 2 treda u jezgru. SMT implementacija bi trebala da donese veće ubrzanje jer Ryzen poseduje veći instrukcijski fetch, čak 32 bajta, ali i 6 mikrooperacija u samom jezgru, dok je kod Intelovih procesora to limitirano na 4. Opet AMD za FMA instrukcije koristi po dve mikrooperacije, dok je Intel projektovao svoje FP jedinice da koriste po jednu, ali za rad sa celim brojevima i AMD obično koristi po jednu MOP.
Da li je to za 20-30% kao što je obično slučaj kod Hyperthreadinga, ili je SMT malo efikasniji pa je stepen skaliranja do 50% ostaje da se vidi. Imajući u vidu da je maksimalan broj mikrooperacija 6, a instrukcija 4 koje u ciklusu može da dekodira, u nekom prosečnom slučaju stepen skaliranja SMT-a ne bi trebalo da je veći od 40%, a u tom slučaju jedno Ryzen jezgro sa isključenim SMT-om renderuje za 337sec.
Kod FX-a bi to bio faktor 6 za osam jezgara, jer FX koristi clustered based multithreading. Faktor skaliranja u Blenderu i sličnim render programima sa jednog jezgra na ceo modul je oko 75%. Prema tome ako imaš 97,68 sec na jednom jezgru bi to bilo negde oko 630 sec, pa dolazim do zaključka da je Ryzen klok za klok u Blenderu brži u single threadu od 74 - 87% od Piledriver-a.
S druge strane i7 ima faktor skaliranja oko 5.2 za 4 jezgra sa HT-om, pa bi jedno Haswell jezgro renderovalo za oko 345 sec ovaj demo, što je 82% brže na istom kloku od Piledrivera.
Ryzen može biti od 11% sporiji od Haswell-a na istom kloku u Blenderu, pa do 6% brži. Ako je istina negde između, Ryzen će biti klok za klok 2% sporiji od Haswella u single thread renderingu. :-)
Hajde da se bavimo malo extrapolacijom brojeva:
Softver skalira po procesorima prema Amdahalovom zakonu. Što je bolja paralelizacija softvera to je bolje skaliranje. Međutim, sa dodavanjem većeg broja procesorskih jezgara se gubi na efikasnosti.
Recimo da Blender ima stepen paralelizacije 95%. Skok perormansi sa 1 - 2 jezgra će biti 1.9x, sa 2 - 4 3.8x itd...
Prema ovome Haswell sa 4 jezgra 8 tredova na 3.4 GHz renderuje za oko 67-68 sec, a sa 8 jezgara i 16 tredova to ide za 36 sec.... itd...
Posmatrajući rezultete Ryzen ima odličano skaliranje sa SMT-om i/ili ogroman IPC.
Skaliranje sa 4 na 8 procesorskih jezgara obično ne donosi ni blizu 8x ubrzanja u odnosu na 1 tred, nego je to negde oko 6,85x. To u prevodu znači da bi Ryzen sa 4 jezgra 8 threadova renderovao na 3.4 GHz ovu istu sliku za otprilike 66 sec, dakle, nešto brže od i7 Haswell-a ili eventualno Broadwell-a sa 4 jezgra koji bi to radio za 67-68 sec.
To znači sledeće - jedno Ryzen jezgro bi bilo sporije od 8 za otprilike faktor 6,8, odnosno 6.8x bi se sporije renderovalo na jednom jezgru sa SMT-om, a to bi bilo negde oko 241 sec.
Ove cifre mogu da extrapoliram na osnovu zakonitosti po kojoj softver kao što je Blender skalira u mutlithreadingu.
Međutim, nepoznata je koliko Ryzen skalira sa SMT-om na jednom jezgru. Ryzen poseduje SMT, pa sa jednim jezgrom i dalje izvršava 2 threada, ali faktor skaliranja nije kao na dva odvojena jezgra, već je on dosta manji. Kod Intelovog Hyperthreadinga je to do 35% ubrzanja sa 1 na 2 treda u jezgru. SMT implementacija bi trebala da donese veće ubrzanje jer Ryzen poseduje veći instrukcijski fetch, čak 32 bajta, ali i 6 mikrooperacija u samom jezgru, dok je kod Intelovih procesora to limitirano na 4. Opet AMD za FMA instrukcije koristi po dve mikrooperacije, dok je Intel projektovao svoje FP jedinice da koriste po jednu, ali za rad sa celim brojevima i AMD obično koristi po jednu MOP.
Da li je to za 20-30% kao što je obično slučaj kod Hyperthreadinga, ili je SMT malo efikasniji pa je stepen skaliranja do 50% ostaje da se vidi. Imajući u vidu da je maksimalan broj mikrooperacija 6, a instrukcija 4 koje u ciklusu može da dekodira, u nekom prosečnom slučaju stepen skaliranja SMT-a ne bi trebalo da je veći od 40%, a u tom slučaju jedno Ryzen jezgro sa isključenim SMT-om renderuje za 337sec.
Kod FX-a bi to bio faktor 6 za osam jezgara, jer FX koristi clustered based multithreading. Faktor skaliranja u Blenderu i sličnim render programima sa jednog jezgra na ceo modul je oko 75%. Prema tome ako imaš 97,68 sec na jednom jezgru bi to bilo negde oko 630 sec, pa dolazim do zaključka da je Ryzen klok za klok u Blenderu brži u single threadu od 74 - 87% od Piledriver-a.
S druge strane i7 ima faktor skaliranja oko 5.2 za 4 jezgra sa HT-om, pa bi jedno Haswell jezgro renderovalo za oko 345 sec ovaj demo, što je 82% brže na istom kloku od Piledrivera.
Ryzen može biti od 11% sporiji od Haswell-a na istom kloku u Blenderu, pa do 6% brži. Ako je istina negde između, Ryzen će biti klok za klok 2% sporiji od Haswella u single thread renderingu. :-)
Poslednja izmena: