Diit.cz - Novinky a informace o hardware, software a internetu

Diskuse k Přes 50 % letošních superpočítačů obsahuje HPC karty Nvidie, AMD či Intelu

Tento článek je pravda, jedním dechem se ale musí dodat že GPU nejdou použít na vše. Ty CPu pod nimi furt jsou. GPU daj tunu teoretickejch flopů ale nedaj se použít zdaleka na všechno. Ještě více flopů získáte použitim PGA obvodů nebo přímo Asic, ale do čím větší specializace na konkrétní výpočty se jde, tím menší univerzálnost HW. GPU je třeba super na šifrování a number crunching ale pokud po něm budu chtít něco enkódovat nebo aby na něm jel engine třeba AI tak to začne rychle drhnout. Kdyby ne, tak už dávno enkódujem přes GPU ale to neni realita. GPU se na to občas povede využít ale používá se tam jen na konkrétní operace kde je lepší jak CPU, většina jich stále visí na CPU protože to GPU nedovede efektivně zpracovat.

+1
+1
-1
Je komentář přínosný?

Tu ale ide len o to, ako je napisany SW, ktory nema kto napisat, lebo GPU su este ovela "stringovatejsie" ako ARMy. To nie je chyba GPU...

Lenze superpocitace vyuzivaju ludia z vyskumu a tam je vyrazne vacsi podiel ludi schopnych robit paralelny kod pre tenke jadra ako v komercnej praxi...

Software needs meaty cores, not thin, stringy ARMs, says Intel

6 Feb 2014 at 06:34, Simon Sharwood

Intel has offered another reason it doesn't think ARM processors pose an enormous threat to its high-end chip business: software isn't written to run across multiple CPUs.

The world has a big issue around vectorisation and parallelisation of code,” Graylish said. “99% of code isn't written that way.” Graylish also feels “defining a workload that can run in 1000 cores is hard.”
http://www.theregister.co.uk/2014/02/26/software_needs_meaty_cores_not_t...

Parallel programmers not prepared for the glorious revolution

Tue Nov 27 2007, 12:28

INTEL RECKONS barely one per cent of software programmers are prepared to face the challenge of parallel programming, which the hardware giant (unsurprisingly) reckons is the future of development.
http://www.theinquirer.net/inquirer/news/1026585/programmers-prepared-gl...

+1
0
-1
Je komentář přínosný?

Intel ví o co jde, proto také dělá Xeony PHI do LGA2011 (a připravuje ten nejnovější velkej s HBC pamětma. Tím že seděj defakto jako systémovej koprocesor na QPI maj plnej přístup do systémové RAM, to GPU nemá a i když SW se to dá zařídit a prostor unifikovat, tak PCI-E je úzké hrdlo na to aby GPU a systémová ram mohly sloužit jako jedna velká paměť.

U Xeonů PHI do QPI tento problém neni, dále intel také dělá na těch Xeonech s integrovanou PGA, protože PGA je pro pro ní specifické věci ještě lepší než SP jednotky z GPU. Intel zkrátka nechce aby se na cokoliv velkého používal křemík někoho jiného a jeho projekty ihmo dávaj smysl.

Nvidia zase dělá na Nvlink a společně s IBM na power9 a Pascal + volta budou stavět mašina na NVlink rozhraní které komplet nahradí FSB či PCI-E a pomůže udělat unifikovanej high bandwith low latency paměťovej prostor mezi GPU a CPU.

Ono, dokud je GPU jakési zařízení kdesi někde na ňáké sběrnici se svou vlastní pamětí, je to jedna věc, ale jakmile bude GPU jen jako další FPu jednotka komplet součástí systému, paměti, ISA, tak to bude teprve zajímaví z pohledu HPC. Budou se moci dělat programy co se zkompilujou tak že GPU úkoly budou defakto jen nové instrukce a budou se vyvolávat společně s CPU voláními, ne separé příkazy na vzdálené separované GPU přes OpenCL či cudu a pod jak je to teď. V GPGPU nás v následujících letech čeká velkej pokrok.

+1
+1
-1
Je komentář přínosný?

SW nelze napsat, protoze neni jak. Uvedom si, ze GPU je proste specializovana vypocetni jednotka, ktera umi velmi rychle resit zcela konkretni typ uloh. CPU je univerzalni jednotka, ktera umi nejak vyresit libovolnou ulohu. Porid si velkorypadlo a bez s nim zrejt zahradku ... japa asi tak dopadnes?

I u tehle stroju se ty GPU vyuzivaji pro konkretni typy uloh, a pro spoustu jinych jsou zcela nepouzitelny.

Jak budes treba paralelizovat ulohu, kde vstup jedne casti vypoctu vyzaduje vystup jine casti? To jednoduse nema reseni. A mas tu dalsi veci, GPU neumej pocitat v plovoucich rozsazich - respektive umi, ale je to neefektivni atd atd. A kdyz jim ty moznosti pridas, tak z toho vyrobis nabubrely CPU.

+1
-5
-1
Je komentář přínosný?

>Jak budes treba paralelizovat ulohu, kde vstup jedne casti vypoctu vyzaduje vystup jine casti?

A preco si myslite, ze musite na vsetko jeden algoritmus?

Zaoberte si ulohu najdenia najvacsieho spolocneho delitela(NSD) .

Mame na to napr. Eukildov algoritmus... - ten potrebuje v kazdej dlasej iteracii vysledok predchdzajucej

Ale mame (tiez iteracny) Dijkstrov algoritmus na najdenie najmensieho spolocneho nasobku (NSN)

A mame vztah

a*b = nsn(a,b) * nsd(a,b)

resp

nsn(a,b) = (a*b)/ nsd(a,b)

A navyse z praxe vieme (ja od 7. triedy na ZS), ze cim je po,alsi Euklidov algoritmus, tym je rychlejsi Dijkstrov a naopak.

Co tak pocitat naraz oba algoritmy naraz, a ked skonci Dijkstra dopocitat vystup pomocou dodatocneho vztahu a proces zastavit, ak rychlejsi z algoritmov dostane vysledok...

Toto je trivialna uloha a tak mame 2 moznosti, pri komplikovanejsich problemom mozeme mat stovky algoritmov s roznou rychlostou v roznych situaciach. "Singularita algoritmu" moze viset k vyraznemu spomaleniu alebo vyraznemu zrychleniu daneho algoritmu pri danych vstupoch (skupine vstupov z nejakou spolocnou vlastnostou).

A riesenia je potrebne zalozit na takjekto, alebvo podobnej uvaha, a potom vieme paralelzovat vypocet aj uloh, ktore sa zdaju cisto seriove...

+1
+1
-1
Je komentář přínosný?

"Jak budes treba paralelizovat ulohu, kde vstup jedne casti vypoctu vyzaduje vystup jine casti? To jednoduse nema reseni."

Jednoduše, vytvořím dataflow DAG a minimální délka provádění odpovídá nejdelší cestě v něm. Ne že to "nemá řešení". Jen to nesmí být degenerovaný seznam.

+1
0
-1
Je komentář přínosný?

Pro psaní komentářů se, prosím, přihlaste nebo registrujte.