Citiraj:
Autor bigAdvance
@Bubba - mene (a vjerujem i druge) zanima kako se ti nedostaci manifestiraju u konkretnom radu, interkaciji sa racunalom.
Tvojem radu, radu prosjecnog korisnika, radu dizajnera etc.
U kojem trenutku tijekom rada sa Ryzenom ces reci "picku ovo je lose, bolje da sam Intela uzeo"
I koliko cesto ce se dogadjati to?
Ako mozes pojednostaviti bio bih zahvalan.
|
Vjerujem da vas zanima obzirom da niste na nivou Hawkera i njegove nervozne djevojke ciji nickname ni ne zelim upamtiti a hrusti se, docim im je jedino znanje citanje i nerazumijevanje tudjih clanaka.
Ne znam na sto tocno cilja tvoje pitanje, ali vektorizacija nije nova stvar i zapravo je relativno trivijalan koncept a anas to radi na nekoliko generalnih principa - HPC ("superracunala"), SIMD, GPGPU i FPGA, nerijetko i pomijesano. U ovom konkretnom slucaju, pricamo o SIMD-u koji je na x86 dostupan od 1997. a doveo ga je Intel s P55C jezgrom - MMX.
Danas je to otislo toliko daleko da se prakticki nista ispod SSE2 ne koristi jer su compileri vec prilagodjeni i optimizirani. AMD, IIRC, cak od K8 niti nema "pravi" FPU, nego nekakvu emulaciju. I to upravo iz razloga sto x87 vise nitko ne koristi, 80 bitna FPU preciznost se pokazala precijenjena (buduci da je ni vrit, ni mimo, a Bignum/multiprecision knjiznice su otisle u svemir s kvalitetom implementacija i brzinom). Konkretno, bas a propos MP knjiznica, kompletna sustina GMP-a je bazirana upravo na ASM optimizacijama, posebno za svaki procesor. Koliko vidim, od Zena jos ni mu ni be.
Takodjer, citajuci
ovaj clanak, na kraju ima dosta zabrinjavajuc zakljucak:
Citiraj:
While Zen compiler tuning has been happening in the public since 2015, it seems there is still more compiler work needed, especially as from our compiler benchmarks with Intel their processors seem to benefit much greater from compiler tuning.
|
Ako me pitas gdje mozes dobiti konkretni, opipljiv i dramatican porast performansi koristeci AVX2, iz glave ti mogu reci dva primjera - md RAID (de facto standard, nerijetko bolji, ljepsi, brzi i pametniji od hardverskih rjesenja) i OpenSSL. IIRC, mislim da je ubrzanje putem AVX2 na md RAID-u preko 100%. Svi popularni algoritmi za kvantizaciju mogu se prepisati u AVX(2) i donijeti 30-50% ubrzanja prilikom primjene (PNG, JPG, MPEG, predpostavljam da se koriste i pri procesuiranja zvuka, ali s time nisam imao doticaja...). Siguran sam da Hawker i njegov alter ego nisu kapacitet za shvatiti sto se dogadja iza njihovog klikanja po Fejsbuku i freneticnog AMD lajkanja, ali moje pitanje je ionako bilo usmjereno na to zasto bi se AMD, dovraga, odrekao "besplatnih" performansi koje su ionako vec ovdje!?
Koristi li tvoj konkretan komad softvera ista od toga, nemam pojma, pitaj proizvodjaca ili pogledaj kod. I onda s druge strane, sve da i (ne)koristi, imas li ti ista opipljivo od toga? Naravno da pricamo, kao i obicno, o svrsishodnosti i komociji koristenja i odabira bilo cega, ali ponavljam, moje pitanje je imalo malo siru sliku i perspektivu (ili nedostatak iste).
Stavivsi po stranu vaginitis nekih clanova foruma, AMD globalno nije bas najbistrija (ili barem dalekovidna) kompanija, sto je visestruko dokazano, od bit slice-a, preko 3DNowa, kupovine ATI-ja, pa na dalje. Nakon cinjenice da su gasenjem Itaniuma i tadasnjom pozicijom Opterona na trzistu sve do Sandy Bridgea imali, bez obzira na predpotopnost arhitekture, bolje integer performanse, lumeni su potrgali to u Bludozeru, a sadasnja ideja o rezanju YMM registra i penali na SIMD-u mi jednostavno ne idu u glavu. Pogotovo uzevsi u obzir dug razvoj "od nule".
Sredinom 2015. radio sam za grupu doktoranata biologije sa USASK-a na portanju mojeg "starog" softvera na Xeon Phi (AVX512). OK, radi se o poprilicno vrucoj i skupoj PCI-E kartici a softver je bio relativno jednostavan za presloziti buduci da nismo koristili nista pametnije od Viterbija i Needleman–Wunscha, ali... Brate moj mili, na 4 kartice to je bila rapsodija. A realno, utukli su manje od 10k dolara (zajedno s troskom mojeg rada) i trosili nesto ispod kWh energije.
Sve u svemu, znaci li to da je Zen "fijasko"? Pa ne, rezultati su OK. Ali u tome je problem. Rezultati su OK. Usporedivi. Je li vidjeno nesto revolucionarno, wow i vrijedno Hawkerovog aseksualnog orgazma? Ne bas, uz problematicne cinjenice koje sam naveo.
Ideja o zanemarivanju SIMD-a se kosi sa zdravom pamecu, kada GPGPU za male pare nudi brda i doline, Intel kupuje Alteru i pitanje je vremena kada ce uz x86 jezgru ubaciti FPGA za odlikase, Xeon Phi je na trzistu, HPC trziste vrijedi desetine milijardi dolara, stvari se guraju u razno razne cloudove, sigurnost na Internetu jaca iz dana u dan i postaje sve "teza", 4k p0rn se nece dekodirati sam od sebe...
Iako, ponavljam, ne bi me cudilo da u nekoj novijoj iteraciji Zena stvarno pokrpaju tu pricu i posloze je kako spada. Iako je ta cijela prica takodjer suluda, procesor je izasao potpuno nepripremljen i nepodrzan infrastrukturom, pocevsi od OS podrske, maticnih ploca pa do softvera (gornji clanak). Mind blown.
Citiraj:
Autor segregator
Pa koliko sam vidio nisi pisao ni o nikakvom realnom softveru...u biti, iskoristio si vječnu AMD mantru "jednom kad softveraši počnu koristiti prednosti AMD-a, vidjet ćete vi, samo čekajte" ovaj put na strani Intela
(doduše, s obzirom na situaciju na tržištu compilera i za koga se kod optimizira, ipak postoje veće šanse da to i zaživi u praksi)
|
Kako mislis "nisam pisao o nikakvom realnom softveru", linkovi su i dalje zivi i zdravi. To sto Candy Crush ne koristi takvo sto i dalje malo toga mijenja u cinjenicama koje su takve kakve jesu.
Ali upravo tako, kada si kod kompajlera, ne znam postoji li i jedan u zadnjih n godina koji se ne oslanja na SSE2, recimo. Prakticki je FPU izbacen iz cijele te price, pa se postavlja realno pitanje hoce li se odredjene (FP) optimizacije bazirati na YMM registrima u neko dogledno vrijeme.
Citiraj:
Autor segregator
Što to ne rade kontroleri dotičnih sučelja, nego i dan danas opterećuju CPU time?
|
Naravno da rade, ako iskrcas vise para za Ethernet karticu nego sto kosta prosjecan CPU.
Citiraj:
Koliko se sjećam i prastari WD-ov FD1781 (u doba kad sam pokušavao za Kršćansku Sadašnjost razbiti format Linotype_Hell disketa) je to radio na nivou kontrolera (al prošlo je 30 godina pa se možda krivo sjećam )
|
Kad smo se uhvatili tog crnog CRC-a (iako je to samo bio primjer lose AMD implementacije), koristi ga konkretno Ethernet protokol kao nadogradnju za TCP. Mislim da ga koristi i vecina popularnih *nix FS-ova, neki samo za podatke, neki i za metapodatke; neki malo gluplji ga koriste samo za validaciju promjene, a neki malo pametniji (ZFS) i u puno vecoj mjeri za ECC.
Nije to bila poanta, nego je netko bio cudom zacudjen kako to da se CRC uopce vise racuna, kad je on za vrijeme hrvatskog proljeca na FER-u to radio rukom i TOZ HB olovkom.