Novice » Znanost in tehnologija » Superračunalnik za štiri tisoč evrov
Daedalus ::
To je res. Ampak bi znala biti izdelava n namenskih procesorjev, ki bi znali pametno sodelovat precej draga reč. Pa tudi za večino splošnih stvari so danes CPU-ji čisto dobri. Nekak tako, ko družinski avto - nič kaj posebnega, je pa uporaben bolj od dirkalnika F1, čeprav je precej počasnejši (no, vsaj na stezi, po makadamu gre verjetno precej boljš).
Sej tud zarad tega so CPU-ji prehiteli namensko izdelane procesorje za superračunala - niso najboljši, so pa poceni in ponujajo dovolj računske moči, da se ti jih splača nabavit en kup, pa iz njih zgradit spodoben cluster.
Sej tud zarad tega so CPU-ji prehiteli namensko izdelane procesorje za superračunala - niso najboljši, so pa poceni in ponujajo dovolj računske moči, da se ti jih splača nabavit en kup, pa iz njih zgradit spodoben cluster.
Man is condemned to be free; because once thrown into the world,
he is responsible for everything he does.
[J.P.Sartre]
he is responsible for everything he does.
[J.P.Sartre]
subby ::
Sistem morajo raziskovalci poganjati z odstranjeno levo stranico saj bi se v nasprotnem primeru pregrel.
a ni včasih veljalo, da odstranjena stranica "zjebe" pretok zraka v ohišju, kar pomeni da se hladi slabše?
Pyr0Beast ::
a ni včasih veljalo, da odstranjena stranica "zjebe" pretok zraka v ohišju, kar pomeni da se hladi slabše?
Ja, če imaš pretok, če ga pa nimaš ...
Ja, če imaš pretok, če ga pa nimaš ...
Some nanoparticles are more equal than others
Good work: Any notion of sanity and critical thought is off-topic in this place
Good work: Any notion of sanity and critical thought is off-topic in this place
Senitel ::
Shit... Daj Mr.B, zadrži take modrosti zase... Nisem glih čisto 100% (preverjati se mi pa ne da) ampak da bo računalo (CPU, GPU ali kalkulator) uporabno moraš znat naredit +, * in inverz za seštevanje (za x moraš znat povedat kaj je -x) ter seveda zanke. Množenja ne moreš naredit samo s seštevanjem (3 * 3,2 = 3,2 + 3,2 + 3,2 = 9,6 kaj pa: 4,6 * 9,7 = ?), seštevanja ne moreš naredit samo z množenji in odštevanja ne moreš naredit brez -. Deljenje lahko narediš z že omenjenimi operacijami (in tudi je, tako na GPU-jih kot CPU-jih).
Če pozabimo na očitne stvari, ki jih GPU-ji pač ne počenjajo (kot je naprimer to, da ne odgovarjajo na prekinitve, ki jih sproži recimo tipkovnica/miš) in se omejimo na samo algoritmiko potem je ni stvari, ki jo GPU-ji ne bi mogli počet, CPU-ji pa lahko. Obstaja pa precej filozofskih razlik...
GPU-ji so že od začetka zelo masovno multithreaded, ampak so šele pred kratkim postali dovolj "splošni", da so uporabni še za kaj drugega kot risanje pixlov. CPU-ji so od samega začetka "splošni" ampak so šele pred kratkim postali dejansko multithreaded (dual, quad code,...). Ampak ker teče debata o superračunalniških aplikacijah je očitno, da smo v multithreaded vodah. Koliko hitro se bo superračunalnik odzval na uporabnikov pritisk tipke "k" ni problem (če ravno ta akcija ne sproži sedem dnevnega preračunavanja) in se ne bo odzval nič hitreje kot kakšen običajen računalnik. Tudi če boš napisal program "for (long i = 1; i < 1000000000; i++) x += x/i;" ti ga superračunalnik (ali GPU) ne bo obdelal nič hitreje kot en sam (single core) CPU.
CPU-ji so v bistvu močno specializirani za sekvenčne/serijske operacije. Frekvence so višje kot na GPU-jih. Precejšen del logike (=> površine jedra) skrbi da lahko ukazi prihajajo ven v drugačnem vrstnem redu kot prihajajo not (tudi CPU-ji imajo pipeline). Potem je tukaj branch prediction... Vse to gre bolj ali manj "out the window" pri GPU-jih, oziroma je filozofija drugačna.
Edine praktične razlike, ki jih je treba upoštevat so v tem, da GPU-ji nimajo povsem IEEE matematike s plavajočo vejico (ni zaokrožanja na neskončnost), da potrebuješ Radeona 3800+ ali GT200, če hočeš dvojno natančnost in da če pač delaš "for (long i = 1; i < 1000000000; i++) x += x/i;" potem bolje da vzameš kar en (sam) CPU.
Če pozabimo na očitne stvari, ki jih GPU-ji pač ne počenjajo (kot je naprimer to, da ne odgovarjajo na prekinitve, ki jih sproži recimo tipkovnica/miš) in se omejimo na samo algoritmiko potem je ni stvari, ki jo GPU-ji ne bi mogli počet, CPU-ji pa lahko. Obstaja pa precej filozofskih razlik...
GPU-ji so že od začetka zelo masovno multithreaded, ampak so šele pred kratkim postali dovolj "splošni", da so uporabni še za kaj drugega kot risanje pixlov. CPU-ji so od samega začetka "splošni" ampak so šele pred kratkim postali dejansko multithreaded (dual, quad code,...). Ampak ker teče debata o superračunalniških aplikacijah je očitno, da smo v multithreaded vodah. Koliko hitro se bo superračunalnik odzval na uporabnikov pritisk tipke "k" ni problem (če ravno ta akcija ne sproži sedem dnevnega preračunavanja) in se ne bo odzval nič hitreje kot kakšen običajen računalnik. Tudi če boš napisal program "for (long i = 1; i < 1000000000; i++) x += x/i;" ti ga superračunalnik (ali GPU) ne bo obdelal nič hitreje kot en sam (single core) CPU.
CPU-ji so v bistvu močno specializirani za sekvenčne/serijske operacije. Frekvence so višje kot na GPU-jih. Precejšen del logike (=> površine jedra) skrbi da lahko ukazi prihajajo ven v drugačnem vrstnem redu kot prihajajo not (tudi CPU-ji imajo pipeline). Potem je tukaj branch prediction... Vse to gre bolj ali manj "out the window" pri GPU-jih, oziroma je filozofija drugačna.
Edine praktične razlike, ki jih je treba upoštevat so v tem, da GPU-ji nimajo povsem IEEE matematike s plavajočo vejico (ni zaokrožanja na neskončnost), da potrebuješ Radeona 3800+ ali GT200, če hočeš dvojno natančnost in da če pač delaš "for (long i = 1; i < 1000000000; i++) x += x/i;" potem bolje da vzameš kar en (sam) CPU.
Trdi ::
To je res. Ampak bi znala biti izdelava n namenskih procesorjev, ki bi znali pametno sodelovat precej draga reč. Pa tudi za večino splošnih stvari so danes CPU-ji čisto dobri. Nekak tako, ko družinski avto - nič kaj posebnega, je pa uporaben bolj od dirkalnika F1, čeprav je precej počasnejši (no, vsaj na stezi, po makadamu gre verjetno precej boljš).
Sej tud zarad tega so CPU-ji prehiteli namensko izdelane procesorje za superračunala - niso najboljši, so pa poceni in ponujajo dovolj računske moči, da se ti jih splača nabavit en kup, pa iz njih zgradit spodoben cluster.
Aha, ok.
Razmišljam pa tudi v tej smeri: ko sem jaz prvič povohal računalnike, še ni bilo teh posebnih GPU-jev. Razvili so jih verjetno zato, ker so ugotovili, da CPU vse večji del svojih kapacitet porabi za neke stvari, ki bi jih lahko opravila neka druga, močno specilizirana enota. Torej verjetno bi se razvoj lahko premaknil v isti smeri, da se pač pogleda, kaj še dela CPU trenutno, kar bi se dalo premakniti drugam in bi seveda bilo racionalno. Glede na to, da so se pojavile posebne kartice za neke fizikalne efekte - bi lahko to bila naslednja stopnica? Spominjam se, da so prvi Voodoji zgledali RAVNO enako vesoljski in nepotrebni kot te kartice zgledajo danes.
Obstaja kje kakšna raziskava, kaj najbolj obremenjuje povprečen CPU danes?
Trdota d.o.o.
Senitel ::
zerox: Aha, kaj pa je shift drugega kot množenje z 2^n? ;)
Trdi: Kaj sploh misliš da je razlika med vsemi temi različnimi čipi? Vsi znajo seštevat, vsi znajo množit, vsi znajo bite shiftat,... Kaj je torej pol razlika med recimo Cell, x86, G8x/G9x, PowerPC?
Trdi: Kaj sploh misliš da je razlika med vsemi temi različnimi čipi? Vsi znajo seštevat, vsi znajo množit, vsi znajo bite shiftat,... Kaj je torej pol razlika med recimo Cell, x86, G8x/G9x, PowerPC?
Trdi ::
Trdi: Kaj sploh misliš da je razlika med vsemi temi različnimi čipi? Vsi znajo seštevat, vsi znajo množit, vsi znajo bite shiftat,... Kaj je torej pol razlika med recimo Cell, x86, G8x/G9x, PowerPC?
Ne razumem vprašanja. Ti tega ne veš ali trdiš, da jaz tega ne vem? To da ni razlike, verjetno ni tvoj point, ker seveda ni res, in predvidevam, da to veš. Ne vidim pointa vprašanja.
Trdota d.o.o.
noraguta ::
no ja senitel sej tvoja izvajanja niso napačna , ampak ne uzalut so se cpu-ji do dandanašnjega držali omejenega števila alu enot pa ne ravno po nesreči najbržda?
Pust' ot pobyedy k pobyedye vyedyot!
Daedalus ::
Glede na to, da so se pojavile posebne kartice za neke fizikalne efekte - bi lahko to bila naslednja stopnica?
Nazadnje ko sem kaj slišal o tem, se je pisalo, da bojo GPU-ji sposobni pospeševat fiziko. Kaj več pa lahko Senitel pove...
Man is condemned to be free; because once thrown into the world,
he is responsible for everything he does.
[J.P.Sartre]
he is responsible for everything he does.
[J.P.Sartre]
zerox ::
Sentinel:ja matematično gledano že res. Tudi na desetiškem primeru bi lahko zlahka rekel, da odmislimo vejico, naredimo množenje s seštevanjem in nato damo vejico nazaj. Na katerem mestu pa je naj vejica pa spet ugotovimo s seštevanjem...vendar bi potem rekel kaj pa je premikanje vejice drugega, kot množenje z 10^n :) Ampak osebi/stroju ne bi bilo potrebno dejansko poznati matematične operacije množenja (bi jo poznal pač "po pomoti" :D).
Anyway...prej nisem prebral posta Mr.B-ja ampak njegov primer je po mojem mišljen čisto hipotetično, res pa je, da ni ravno posrečen:).
Ali niso tega predstavili že pred časom? ~2006 IIRC
Anyway...prej nisem prebral posta Mr.B-ja ampak njegov primer je po mojem mišljen čisto hipotetično, res pa je, da ni ravno posrečen:).
Nazadnje ko sem kaj slišal o tem, se je pisalo, da bojo GPU-ji sposobni pospeševat fiziko. Kaj več pa lahko Senitel pove...
Ali niso tega predstavili že pred časom? ~2006 IIRC
Zgodovina sprememb…
- spremenil: zerox ()
Senitel ::
zerox: Seveda matematično gledano... Te zanima filozofski pogled na množenje? Tu pa ne morem pomagat. :) Shiftanje je zelo enostavno za implementirat, tako kot je enostavno premetavanje vejice. V bistvu pa je oboje množenje/deljenje. Ali je pač tvoj point to, da nek čip nima nujno mul ukaza, ima pa shift in add in lahko programer "emulira" mul z njima?
Tudi če se premaknemo na nekaj bolj pametnega, recimo izračun funkcije sinus bo na koncu na siliciju prišlo do množenj in seštevanj, pa če ima čip v naboru ukazov funkcijo sinus ali ne. Seveda so prednosti, da imaš na izbiro lepo število ukazov, res je tudi da imajo GPU-ji zelo lep nabor ukazov.
noraguta: Kaj točno misliš z "omejenim številom ALU enot"? Tudi GPU-ji jih nimajo neomejeno, ampak tudi CPU nima ene same. Seveda je razlog, da so CPU-ji taki kot so... Saj je še nekaj časa nazaj veljalo, da je višja frekvenca rešitev vseh problemov (danes je pa več jeder rešitev vseh problemov :)).
Trdi: Glede aritmetike parkično ni razlik, sure GPU-ji znajo nardit skalarne produkte in podobno. Zares unikatna funkcionalnost GPU-jev je v tem da imajo enoto ki bo pognala poseben program za vse pike v trikotniku (kar je neuporabno zunaj grafike), ter to da lahko filtrirajo vrednosti iz tabele (teksturiranje; spet ne tako zelo uporabno zunaj grafike). Res razlika pa nastane, ko primerjaš kako recimo GPU obravnava 100 programov, ki tečejo sočasno, in kako to naredi CPU. Zaradi tega imaš lahko na GPU-ju praktično kolikor hočeš ALU-jev in jih ne bo problem zapolnit, in zato na posameznem jedru CPU-ja ne moreš zapolnit vseh enot (recimo SSE in klasičen floating point se enostavno ne splača mešat). Fizika je samo še en dodaten task, ki poskrbi za boljšo zasedenost ALU-jev.
Tudi če se premaknemo na nekaj bolj pametnega, recimo izračun funkcije sinus bo na koncu na siliciju prišlo do množenj in seštevanj, pa če ima čip v naboru ukazov funkcijo sinus ali ne. Seveda so prednosti, da imaš na izbiro lepo število ukazov, res je tudi da imajo GPU-ji zelo lep nabor ukazov.
noraguta: Kaj točno misliš z "omejenim številom ALU enot"? Tudi GPU-ji jih nimajo neomejeno, ampak tudi CPU nima ene same. Seveda je razlog, da so CPU-ji taki kot so... Saj je še nekaj časa nazaj veljalo, da je višja frekvenca rešitev vseh problemov (danes je pa več jeder rešitev vseh problemov :)).
Trdi: Glede aritmetike parkično ni razlik, sure GPU-ji znajo nardit skalarne produkte in podobno. Zares unikatna funkcionalnost GPU-jev je v tem da imajo enoto ki bo pognala poseben program za vse pike v trikotniku (kar je neuporabno zunaj grafike), ter to da lahko filtrirajo vrednosti iz tabele (teksturiranje; spet ne tako zelo uporabno zunaj grafike). Res razlika pa nastane, ko primerjaš kako recimo GPU obravnava 100 programov, ki tečejo sočasno, in kako to naredi CPU. Zaradi tega imaš lahko na GPU-ju praktično kolikor hočeš ALU-jev in jih ne bo problem zapolnit, in zato na posameznem jedru CPU-ja ne moreš zapolnit vseh enot (recimo SSE in klasičen floating point se enostavno ne splača mešat). Fizika je samo še en dodaten task, ki poskrbi za boljšo zasedenost ALU-jev.
zerox ::
Da, bistvo je, da s shift+add naredimo mul, če smo že pikolovski glede primera Mr.B-ja. Poleg tega procesor zagotovo ne množi registrov, da dela shift ampak je shift "atomaren" ukaz alu enote in je v bistvu le premikanje bitov v levo ali desno, kar se pa da matematično predstaviti kot....u get the point.
Btw ali niso imeli GPUji še ene pomanjkljivosti in sicer natančnost pri računanju s plavajočo vejico (& celo dokaj opazne razlike med ATI & nVidia karticami).Pa tudi integer je bil različno velik? Je pa res, da sem zadevo bral kar nekaj časa nazaj in je verjetno outdated.
Btw ali niso imeli GPUji še ene pomanjkljivosti in sicer natančnost pri računanju s plavajočo vejico (& celo dokaj opazne razlike med ATI & nVidia karticami).Pa tudi integer je bil različno velik? Je pa res, da sem zadevo bral kar nekaj časa nazaj in je verjetno outdated.
zee ::
Cez dva meseca...masina iz podpisa + 2x Nvidia 9800X2 (ali kaj novejsega), pa vam bom povedal, kako se stvar obnese pi racunanju.
zee
Linux: Be Root, Windows: Re Boot
Giant Amazon and Google Compute Cloud in the Sky.
Linux: Be Root, Windows: Re Boot
Giant Amazon and Google Compute Cloud in the Sky.
PrimozR ::
Čez dva meseca bo že 9900, ja :D
Senitel, mal offtopic, zakaj ima GTX 280 6 in 8 pinsko napajanje? Redundanca (in deluje le na en priključek) al sta obvezna oba? Kar sem gledal fotke, so imeli priklopljena oba.
Senitel, mal offtopic, zakaj ima GTX 280 6 in 8 pinsko napajanje? Redundanca (in deluje le na en priključek) al sta obvezna oba? Kar sem gledal fotke, so imeli priklopljena oba.
Senitel ::
zerox: Glede floating point je tako, da ni čisto standardni IEEE 754. Manjka zaokrožanje na +-infinity. Glede natančnosti so pa kartice znotraj DX generacije običajno enake. ATI je imel na X800, X1800 24 bitni floating point, NV je imela na FX-ih 16 in 32 bitni floating point. DX10 generacija je vsaj 32 bitni single precision floating point, GT200 in Radeon 38x0 ter 48x0 pa imajo že tudi double precision floating point v Cuda/CTM režimu delovanja. Integer je v bistvu DX10 zadeva in je na vseh DX10 kartah 32 bitov. V starih časih računanje ni bilo z integerji ampak v fixed point (kar je sicer več ali manj isto). Interna natančnost je na teh kartah varirala (odvisno pač od dolžine pipeline-a in natančnosti outputa).
PIP: Pri napajanju je običajno pravilo "better safe then sorry", na PCI-Express 2.0 platah bi morda bil zadosti samo en priključek. GTX 260 bo imel 6+6.
PIP: Pri napajanju je običajno pravilo "better safe then sorry", na PCI-Express 2.0 platah bi morda bil zadosti samo en priključek. GTX 260 bo imel 6+6.
noraguta ::
en za flamenkote , a tale super računalnik laufa windowsih? je mar linux primeren zgolj za neekonomična super računala?
Pust' ot pobyedy k pobyedye vyedyot!
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | V Maribor prihaja superračunalnik (strani: 1 2 )Oddelek: Novice / Znanost in tehnologija | 18267 (9270) | WizzardOfOZ |
» | Nov preboj v kirurški rabi podhladitve?Oddelek: Novice / Znanost in tehnologija | 4363 (3118) | MrStein |
» | Na Lunini površini je voda. Pika.Oddelek: Novice / Znanost in tehnologija | 8764 (5791) | nekikr |
» | Eksaflopi do leta 2018?Oddelek: Novice / Ostale najave | 3491 (3036) | Matevžk |