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

Diskuse k Titan V se při opakování stejného zadání dobírá různých výsledků

Nevyuziva nVidia Spectre, resp. predisktory a vysledky zle opravuje\
vid video o Spectre a Meldown v cestine
https://www.youtube.com/watch?v=rwbs-PN0Vpw&list=PLub6xBWO8gV-o6OCvc1_nm...

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

Podla mna pan zabudol vstupit do Geforce partners program a teraz si "vychutna" odmenu za takyto krok.

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

Ne, nevyuziva. V GPU zadne branch predictory nejsou. Co tak si trochu veci nastudovat nez placat naprosto irelevantni veci do diskuzi..

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

Nemusia to byť branch predictors. Stačia akékoľvek predictor-y.

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

Ani se nedivim ze to neni uznane, My take objevili bug jak prase - v PCIe na jejich Tegra SoC - ale vzhledem k tomu ze se projevuje nahodne a nemuzeme to na povel zhodit, tak se s nama moc nebavi. Pritom se stav po padu da velice dobre vysvetlit, ze se jim rozjedou ukazatele na pakety ve fronte a SoC zacne odpovidat o tri dotazy pozdeji. Cim horsi vec, tim mene pravdepodobne ze to priznaji.

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

jj, typická Nvidia, tutlat, tutlat, tutlat. A když už je moc velký mediální tlak, tak přijít s vyjádřením, že je to vlastně nová funkce speciálně dělaná pro blaho zákazníka a že oni mají být rádi, že jim to Nvidia umožnila používat.

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

Tak co mají lidi dělat profesionální práci na neprofesionální kartě bez ECC, dost velká pravděpodobnost že za rozdíly mohou chyby v paměti.

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

Co by jsi chtěl od nVidie? Snad ne funkční embedded řešení?

Vím že ti jde asi o hrubý výkon, ale pokud by stačilo něco pomalejšího, ale zato "stabilnějšího" tak se můžeš podívat po naších Sitarách. *konec reklamní vsuvky*

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

Tak nez jsme potrebovali resit uncompressed ukladani RAW v 4K60 (pres 700MB/s - per snimac) byl mym favoritem DM385 s 1080p60 - v te dobe veskera konkurence mela jen 1080p30 enkoder. Z TI me zbylo jen me par DM6467 a DM8168... ale jsou ponekud vintage, ve smyslu toho co umi soucasne obvody konkurence, jinak ale asi stejny opruz s dokumentaci a sw podporou - kdyz to chce clovek vyuzit naplno (rozumej tomu, co slibuje dokumentace). Uzavrene drivery pro enkoder a bloby pro DSP.. nechystate neco noveho?

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

Toto není zrovna oblast o které bych toho moc věděl (dělám na low-power bezdrátech). A i kdybych měl nějaké informace, tak nemohu komentovat nezveřejněné produkty a plány.

S těmi binárními bloby je to někdy těžké. Často jsou v tom právní důvody jako různé licencované technologie od třetí strany, apod. Dost často s tím ale jde něco dělat, záleží na konkrétním případu. Můžeš věřit, že za tím není snaha "srát" zákazníky.
Nevážíme si jenom velkých zákazníků kteří kupují součástky po vagónech ale i těch menších technicky zdatných. Menší firmy jsou většinou flexibilnější a rychleji adaptují nové technologie. A díky jejich zpětné vazbě můžeme vylepšovat produkty pro všechny.

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

A zkusil nekdo to same na Vega kartach? Kdyby byl problem v HBM, tak by prece mohl problem zopakovat a bylo by to jasne. Jestli to je jen u NVidie, tak za to asi HBM nebudou moct a spis muze byt problem v radici nebo treba i softwarovy bug ne.

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

a ono to má stejnou architekturu? Problém je zřejmě v absenci ECC na Titanu, u Volty ten problém zřejmě není

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

V Lidlu se to pak prodá...

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

Ono se to prodá všude (bohužel)

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

Uvidíme jak dlouho. Se teď dívám, že na aukru už se začínají objevovat použité grafiky. Jen houšť a větší kapky.

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

Ale zatím ještě drží cenu.

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

Pouzitych karet je k disposozici hodne uz dlouho, ale nikdo nekupuje ani za rozumne ceny.

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

Tak otázka je, co to je "jiný výsledek". U numeriky by to vadit nemělo, a pokud to někomu vadí, tak ten software asi nebude napsaný moc robustně. A pokud někomu překážejí drobné rozdíly v zaokrouhlovacích chybách (které tak jako tak budou různé přinejmenším u různých karet), tak raději ani nepřemýšlejte o vlivu nepřesností ve vstupních naměřených datech, jinak vám praskne hlava. ;)

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

rozptyl 10% v zaokruhlovani? pokracuj, nech sa nieco este dozvieme

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

Kde máte ten "rozptyl 10%"? V článku na The Register o tom není ani slovo. Hovoří se tam pouze o "numerical errors", což může podle interpretace být cokoli od binárně odlišného výsledku (což je i chyba na posledním místě mantisy) až po úplný numerický nesmysl.

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

Pche, 10% zaokrouhlovací chybu ti tady vysypu ani nemrknu:

#!/usr/bin/perl
$x = 1000000;
$y = 0.0001;
$z = (((($x * $x) + $y) / $x) - $x) * $x;
printf ("%f\n", $z);

Tím se nechci nijak zastávat nVidie nebo Titana, ale ten výpočet bude velmi masivně paralelní a v plovoucí čárce, tady už samotný blbý průměr závisí na pořadí vstupů. Samozřejmě může být nějaká chyba i v té nVidii, ale podle mého může u numerických výpočtů hledat při nestabilitě problém nejdřív hardwaru (a ne v algoritmu) pouze a jedině Chuck Norris.

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

Od toho mame IEEE floating point, kde se definuje i zpusob zaokrouhlovani:
https://en.wikipedia.org/wiki/IEEE_754#Rounding_rules

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

Pouze pro základní aritmetické operace a druhou odmocninu, pokud mě neklame paměť. Transcendentní funkce jsou implementované všude jinak, protože ani není jasné, zda vůbec existuje jednoznačná korektní implementace s omezenou dobou běhu, takže IEEE-754 ani nemůže specifikovat, jak je zaokrouhlovat, protože to nikdo netuší. Zkombinujte to s neasociativitou a jinými podobnými vlastnostmi FP operací a různými přístupy k implementaci kompilátorů a dospějete k závěru, že při složitějších výpočtech je problém se na takové věci jako binárně identické numerické výsledky spoléhat. Krom toho je tu ještě ta zpravidla výrazně horší kvalita samotných vstupních dat.

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

Matematika má takovou jednu krásnou vlastnost: když vezmete stejný set dat a provedete s ním stejný set operací, vyjde vám stejný výsledek. Pokud jistý matematický nástroj tuto opakovatelnost výsledků nezvládá, je chybný.

Ta karta ve zmíněném případě nevykazuje chybu systematickou, nýbrž náhodou = veškeré ty kecy o zaokrouhlování a standardech jsou u tohoto tématu zcela zcestné.

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

Ano, ale praktická počítačová numerika není ani tak matematika jako spíš inženýrská disciplína, podle vaší definice jsou chybné všechny nástroje kromě symbolické algebry, a ani poslední vaše věta nedává smysl - co myslíte, že je praktickým zdrojem těchto chyb?

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

Zdrojem techle chyb je bud chyba v hardwaru, nebo software ma nekde zdroj nahodnych dat (nebo chybu typu cteni neinicializovane promenne a podobne).

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

Dochází vám doufám, že budete-li např. sčítat mezivýsledky v nedeterministickém pořadí, podle toho, jak budou "doběhávat" jednotlivá jádra grafické karty, z nichž každé pracuje na části výpočtu, budou se již kvůli např. neasociativitě sčítání výsledky z různých běhů lišit, a že tato neasociativita je způsobena tím, že se nejedná o plnou racionální aritmetiku, ale že se mezivýsledek (pominu ale třeba např. možnost Kahanova sčítání) musí vejít do strojového slova pevné velikosti, čili se jedná o zaokrouhlovací chybu? Tak podle jaké logiky je zde zaokrouhlování "irelevantní"? Mně přijde, že v situaci, kdy kdyby k jevu X nedocházelo, můj problém Y nenastane, nelze hovořit o tom, že jev X je pro můj problém Y irelevantní.

"Tudiz, kdyz pustim nejaky program nekolikrat se 100% stejnym vstupem, tak na kazdem STEJNEM kusu hardwaru dostanu vzdy STEJNEJ vysledek protoze i chyby zaokrouhlovani, ktere se tam vyskytnou, budou furt stejne."

Ano, zlatá sedmdesátá léta. :) To byla doba...

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

To je marné, tady je to samý expert. :-) Chyba musí být v nVidii, protože numericky zcela robustní masivně paralelní algoritmy napíše přece každý pitomec, takže to zákonitě musí být hardwarem.

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

Muze to byt taky chyba planovani - optimalizace. Na takhle slozitem hardware neni mozne ridit vykonavani deterministicky - alespon ne z toho, co je uzivateli dostupno.

Takze uvazujte ze delate sumu vektoru skrze X jader. Kazda skupina 32 procesoru (warp) muze udelat hardwarove tu sumu, ale nad tento pocet se ty mezivysledky scitavaj stromove a muze dochazet k zaokrouhlovani mezivysledku. Pak si optimalizator tedy usmysli ze je to prece jedno v jake posloupnosti se neco secte, kdyz a+b+c+d muze ozavorkovat libovolne, napr. (a+b)+(c+d) - nebo taky (a+d)+(b+c) a zaokrouhlovaci chybu mate na svete.

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

10% zaokrouhlovací chyba je prostě nesmysl, v takovém případě by ten algoritmus musel být hodně defektní.

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

nikde se nemluví o velikosti chyby. 10%. je četnost odlišného výsledku na dvou ze čtyřech testovaných karet.

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

Chybne jsou vsechny nastroje, ktere v tomto pripade pri opakovenem pouziti davaji rozdilne vysledky ackoliv by mely vracet stale stejne vysledky.

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

Slyšel jste už někdy o soft computingu? On totiž právě na podobně výpočetně složité problémy se používá dost často. Ona navíc ani realita "nevrací stále stejné výsledky" na molekulární úrovni, takže realita je podle vás chybná...

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

Píšou simulace, takže o nepřesnosti vstupních dat se bavit nemusíme. A jak jsem tomu rozuměl, pouštěl se opakovaně stejný výpočet na čtyřech (snad stejných) kartách. Na dvou z nich s desetiprocentní šancí vznikl chybný (jiný) výsledek. To se zaokrouhlováním nemá nic společného, protože to dělá náhodně a nedělá to na všech kartách.

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

Jak jste dospěl k závěru, že to nemá nic společného se zaokrouhlováním? Je naopak vysoce pravděpodobné, že zaokrouhlování mezivýsledků binárních operací je právě jednou z příčin této variace, např. při redukci výsledků v nedeterministickém pořadí.

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

Já k tomu došel taky.
Dedukce. Ten inženýr, co to objevil, není debil, aby s praxí v oboru nevěděl, že u zaokrouhlování dochází u různého HW k různým výsledkům.

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

U nedeterministického pořadí operací ani nepotřebujete různý hardware, bude k tomu docházet i na jednom zařízení. Ovšem co průměrný uživatel výpočetní grafické karty ví nebo neví o chování jejího podpůrného softwaru se raději ani neodvážím hádat, zvlášť když se nVidia zuřivě snaží, aby jim do karet (ha!) nikdo neviděl.

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

To je věčný spor. Pokud opakovaný výpočet nedává totožný výsledek, může být chyba buď v programu nebo v hardware. A výrobce hardware chybu nepřizná dokuď mu ji jednoznačně nedokážete, tzn. pokud nenajdete příslušnou operaci, která vrací chybné výsledky. Tím nechci říct, že chyba je nutně v hardware, ale pokud ano, bude si s tím ten programátor muset trochu pohrát, aby zjistil, která operace se provádí chybně.

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

Jediný způsob jak by se tam legálně taková chyba mohla dostat , je použití random generátoru nebo jeho zjednodušených variant (čas, datum atp.) anebo nějakých funkcí, které ho (byť nedokumentovaně) obsahují - anebo jiných zdrojů nedeterministických veličin jako různé senzory (teplota, tlak, rosný bod) nebo stahování údajů z internetu. Pokud toto vyloučíme, tak se ty výsledky musí shodovat i kdyby šlo o simulaci trvající měsíce.

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

Souběh procesů nebo vláken v plánovači je postačujícím (a dobře známým!) zdrojem takového nedeterminismu. Stejně tak může podobný jev nastat při použití takových rozhraní jako je MPI.

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

V tom případě je něco velmi, ale velmi špatně. Taková karta se v podstatě nedá a nesmí používat na jakékoli výpočty (ať už finanční nebo vědecké), ale pouze a jen na hraní.

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

V tom případě je něco velmi, ale velmi špatně už desítky let, protože o tomto problému už desítky let víme... A samozřejmě takový systém můžete použít na cokoli, pokud víte, co děláte (ale od toho tu jsou školy).

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

Takový systém můžete použít na cokoli, pokud víte, co dělá. Pokud nevíte, tak můžete houby.

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

Toto je již obsaženo v mojí formulaci. Pokud autor programu neví, co jeho procesor dělá, neví ani autor, co dělá.

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

Obávám se, že tady k té situaci došlo, hardware se zřejmě chová nepředvídatelným způsobem (nebo způsobem, který není dostatečně správně popsán v dokumentaci).

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

Ano jistě, pokud to kontroluje program (který o tom ví, protože je to definované ve specifikacích příslušného hw) a je možné to 100% ošetřit. Výsledkem ale musí být to, že výsledky se absolutně nikdy v žádném případě neliší! Obávám se ale, že v tomto případě výrobce žádnou podrobnou specifikaci a dokumentaci, jak se s chybou vyrovnat neposkytl a neposkytne...

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

Jestli je odlišnost výsledků způsobená nedeterminismem závažná nebo ne *vždy* záleží na konkrétní aplikaci. V rozsáhlých třídách aplikací na závadu vůbec být nemusí.

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

Ano jistě, mimo vědeckou a finanční sféru, jak jsem už psal...

Aneb běžný uživatel zkousne všechno, když to bude rychlý a laciný. A i politici si vymějšlej, tak proč ne grafika, no :D

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

Zajimava myslenka. Muzete prosim popsat zpusob, jak muze vypocetni program sam odhalit, ze vypocet je spatny a jeste jej opravit bez ztraty vykonnostni efektivity ? Nepocitam moznost, spoustet vypocet na trech strojich a povazovat za spravny pouze ten, kde se minimalne ve 2 pripadech shoduje.

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

Ještě jsem zapomněl dodat, že i u fyzikálních simulací bez konkrétních vstupních dat mohou chyby měření přesto pořád hrát roli, protože i spoustu přírodních konstant známe jen s omezenou přesností.

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

Ty chyby se můžou projevit jako nesoulad se skutečností, ale těžko můžou ovlivnit výsledek výpočtu. Rozhodně to ale nejsou fyzikální konstanty (tím nemyslím ovšem koeficienty empirických modelů), které vnášejí do výpočtu nepřesnost.

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

"Ty chyby se můžou projevit jako nesoulad se skutečností, ale těžko můžou ovlivnit výsledek výpočtu."

No vidíte, a já bych zanesení nesouladu se skutečností právě chápal jako ovlivnění výsledku výpočtu. Copak nesoulad se skutečností není nepřesný výsledek?

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

Možná je to nepřesný výsledek, ale pak je to chyba modelu a ne chyba výpočtu.

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

Ano ale ta konstanta je v programu definovaná na určitý počet míst přesně (definovaná konstanta)! Že je to real number s nekonečným rozvojem nemůže hrát roli!

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

Mně jde o poměr chyb. Pokud třeba počítáte s IEEE-754 double precision a z nějakého důvodu má váš výsledek třebas i jen deset platných míst místo patnácti, může se to jevit jako problém...ovšem jen do chvíle, než na vstupu poskytnete reálná sedmimístná data. Tam pak chyba vstupu přebije nepřesnost výpočtu a nepřesnosti samotného programu si ani nevšimnete. Samozřejmě pak závisí na konkrétním hardwaru, softwaru a datech, ale tahle situace je celkem častá.

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

Pokud má výsledek méně míst tak je namístě se ptát, kde je problém. To že se to díky zaokrouhlení výstupu schová mně vůbec nezajímá, protože ten problém se může objevit jinde, kde to vstupuje do výpočtu v programu.

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

Ale já přeci nemluvím o žádném "schovávání výsledků zaokrouhlením výstupu", nýbrž o schovávání zaokrouhlení mezivýsledků vstupy. Pokud má výsledek více (ne méně!) míst než vstup, tak si toho ani nevšimnete.

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

Aha, máte pravdu, takovou bizarní možnost jsem si nepřipustil. Jak by k takové nepřesnosti mohlo dojít a proč by se to zaokrouhlení na vstupu mělo při opakovaném výpočtu lišit?

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

Protože a + b + c se na počítači obecně nerovná a + c + b. Ani na kalkulačce. Líbí se mi, jak jste Gatha vypískali, ale obávám se, že to buď studoval, nebo v tom pracuje, nebo tomu rozumí.

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

To že tomu rozumí, ještě neznamená, že vysvětluje dobře problém popsaný v článku. Je to něco jako o koze a o voze. Gath má pravdu v tom co říká nedeterministických výpočtech a o zaokrouhlování, ale nevysvětluje to chování karet/výpočtu popsané v článku - proč se to projeví jen na dvou ze čtyř karet (předpokládám, že těch výpočtů bylo provedeno opakované poměrně dost, když se hovoří o 10% šanci výskytu).

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

Protože je to jiný hardware. Programů, kleré běžely v pohodě na 286 a na 486 už ne, bylo mrtě. To ale neznamená ani to, že 486 byla špatný procesor, ani to, že počítala špatně. Prostě byly špatně (nerobustně) udělané ty programy. I přesto, že na 286 běžely zcela vždy správně.

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

One engineer told The Register that when he tried to run identical simulations of an interaction between a protein and enzyme on Nvidia’s Titan V cards, the results varied. After repeated tests on four of the top-of-the-line GPUs, he found two gave numerical errors about 10 per cent of the time.

Já to chápu tak, že to zkoušel na čtyřech stejných kartách.

(jinak ty mrtě si nepamatuji, snad jedině to co bylo přeložené Turbo Pascalem od Borlandu, tam byla nějaká chyba s časováním, takže to neběželo na rychlých procesorech, ale že by to dávalo špatné výsledky, to si nepamatuji)

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

Já osobně myslím, že inženýr by měl spíš vyplnit bug report k tomu simulačnímu softwaru a popsat, kdy se chová výpočet jinak než uživatel čeká a aby se na to někdo podíval, aby to i na Titanu fungovalo spolehlivě. A ne psát to na The Register.

Možná to onen inženýr i udělal a pak se o tom bavil s nějakým kámošem v hospodě: "Ty krávo, máme v labce ty nové Titany a ty naše programy na tom fungují divně" a kámoš to pak odeslal dál. Každopádně obviňovat hardware z toho, že mi jede program "divně", je podle mého dost mimo.

Já jsem taky včera překládal jednu aplikaci přes python - cython - android NDK - android SDK a nešlo mi to. Myslím, že za to může určitě můj Ryzen, protože na notebooku s Intelem to jelo bez problému.

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

(-‸ლ)

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

To si můžeš facepalmovat jak chceš, ale podle mého psát při nestabilním výpočtu na neznámé (uzavřené?) platformě na The Register že "Titan asi nefunguje" prostě není normální postup. To je jednoduše buď zlý úmysl nebo v lepším případě obyčejný trolling.

(Píšu z vlastního Ryzenu s Polárkou, abych nebyl podezřelý z naddržování zeleným.)

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

divím se, protože to co si psal vůbec nesouvisí s tím co jsem psal já. Máš v mnohém pravdu, ale psát to jako odpověď na můj post je prostě mimo. Pokud bys to napsal jako koment ke článku, tak nemám námitek.

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

Aha, OK, beru. Pokud bych se měl vyjádřit k tvému postu - jak se mohlo stát, že na některých kusech grafik to dávalo jiné výsledky, pak tam prostě může být kusová variablitia například v dosahované frekvenci a některé karty mohou být "tak pomalé", že se na nich chyba v programu ještě neprojeví a některé prostě v tom nedeterminismu "přetečou" nějakou konstantu, u které si autor programu myslel, že "sem už to nikdy dosáhnout nemůže" a dostanou se někam jinam. Nebo jsou tam jiné paměti, jiné časování nastavené v BIOSu karty, jinak nastavený limit TDP od výroby, čert ví. Dokud nevíme, co tam přesně dělal, určitě bych si netroufl zveřejňovat nějaké soudy.

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

Já už jsem to komentoval na jiném místě:
https://diit.cz/clanek/titan-v-odhaduje-vysledky-vypoctu/diskuse#comment...
a víc se k tomu nemá smysl vracet, protože jak píšeš, těch informací je málo pro nějaké soudy.

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

"jak se mohlo stát, že na některých kusech grafik to dávalo jiné výsledky, pak tam prostě může být kusová variablitia například v dosahované frekvenci a některé karty mohou být "tak pomalé", že se na nich chyba v programu ještě neprojeví"

Sice hádám, protože do konkrétního křemíku od nVidie nevidím, ale klidně by se mohlo stát, že plánování výpočtu samo je deterministické ("první půlku spočítej na jednom jádře a druhou na druhém"), ale drobné rozdíly v konkrétním kusu křemíku znamenají, že jednotlivé clock domains (které jsou společně s napájením dnes na mnoha velkých čipech řízené zpětnovazebně a automaticky podle skutečných naměřených hodnot, viz třeba Ryzen) na jednom čipu dosahují jistých relativních frekvencí (při vzájemném porovnání), zatímco na jiném čipu mají relativní frekvence mírně odlišné, ale v obou případech při zátěži dlouhodobě podobné, takže jeden na jednom čipu bude výpočet pravidelně doběhávat jedním způsobem, zato na jiném čipu třeba přesně opačným. Nebo se i může stát, že výpočet na jednom čipu bude ve 100% případů doběhávat jedním způsobem, ale jiný bude "na hranici" a v 10% případů bude doběhávat jinak. Něco takového je podle mně zcela myslitelné, ale ani jeden scénář není návrhová ani výrobní chyba.

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

Jak můžou výpočty doběhávat s odlišným výsledkem??? To že jeden doběhne dřív a druhý později chápu, ale jak může deterministický výpočet doběhnout s jiným výsledkem?
Pak už to totiž není deterministický výpočet, ale něco do čehož vstupuje nějaký nahodilý blackbox, ať už jakéhokoli typu. Čili jiný typ jevu, jiná kategorie atd. Neříkám, že je to apriori špatně, ale je to určitě špatně, pokud to není v dokumentaci u daného typu výpočtu naspecifikované. Takové věci (např. smazávání hranice mezi indeterminismem a determinismem) se jentak nesmí a nemůžou dít!!! To by nakonec mohlo skončit tak, že by veškerá elektronika fungovala podle momentální "nálady" daného křemíku a to nejspíš nikdo nechce...

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

"Jak můžou výpočty doběhávat s odlišným výsledkem??? To že jeden doběhne dřív a druhý později chápu, ale jak může deterministický výpočet doběhnout s jiným výsledkem?"

Deterministický nemůže, ale právě že tenhle výpočet deterministický není (co do stopy provádění, ale aritmetika FP to přenáší i do výsledků). Vy se jen domníváte, že je, a proto chybně dospíváte k závěru, že prováděcí stopa musí být vždy identická, ale to pro dnešní architektury zpravidla neplatí.

"Takové věci (např. smazávání hranice mezi indeterminismem a determinismem) se jentak nesmí a nemůžou dít!!! "

"Nesmí"? Nastudujte si Dijkstru, A Discipline of Programming... Tím vaším požadavkem na determinismus ve většině případů jen zakrýváte bugy.

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

Aritmetika FP musí být deterministická, protože interně se pracuje se stále stejným ořezem nebo zaokrouhlováním (nebo mělo by se tak pracovat). Pokud by tyhle věci byly nahodilé, to znamená že by to záleželo na stavu běhu ostatních vláken, rychlosti procesoru, stavu a rychlosti paměti nebo cache, predikce výsledků a větvení, tak by to byl jen další zdroj toho blackboxu a zase opět velmi špatně.

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

pokud je na necem podobnem koncipovana umela inteligence, tak potes koste...
napr. "nV rozpoutala jaderny konflikt diky HW bugu"...
co na to SW vyvojari, jak donuti SW, aby se choval podle jejich navrhu....
z kombinace obeho je jasne, ze "pisanemu neverit"....

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

V PC dochazi k chybam neustale, cim horsi HW tim je tech chyb vice.

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

Umělá inteligence je nevyzpytatelná z principu, i na deterministickém hardwaru. A vlastně to platí i pro tu lidskou. Proto taky když prezident zmáčkne tlačítko v kufříku, tak to ještě musí odsouhlasit mnoho dalších lidí a pokud se tak nestane, tak žádné rakety lítat nebudou.

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

Hmm. Jestli se to počítá dlouho, při velké paměti strmě roste pravděpodobnost bit-flip v paměti. Obvykle se uvádí asi 1b/4gbit za den, ale s lepší technologií ta pravděpodobnost poroste. Je to i vidět, když necháte na ECC systému běžet memtest.
Když jsem si ty pravděpodobnosti spočítal na svoji práci, začal jsem používat ECC (worker jede na třeba 16GB po 6 hodin...).

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

Tak to je masakr :D To by vlastně pak znamenalo zpochybnění všech vědeckých prací a výsledků, při kterých bude tato nVidia eventuálně použitá. Kdyby byla používaná už někde teď (velký projekt), mohli by se právnící už pomalu připravovat na žně :) Samozřejmě je to otázka jaké jsou záruky nebo výjimky (třeba jako že herní karta je vyloučena nebo tak).

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

Oni vědci používají TitanV a ne TeslaV100? On je tam totiž jeden klíčový rozdíl, tři písmenka ECC

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

kedze Titan V pouziva HBM2, predpokladam ze tie 3 pismenka tam su pouzite tiez

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

Kdepak vysoký výkon. Jen random number generátor!!! :-)

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

Ten pan inženýr by si měl hlavě zkontrolovat svůj kód než začne obviňovat architekturu.

Breaking news, non-determinism of floating point parallel computing has been an issue since the beginning of floating point parallel computing:

https://www.twosigma.com/insights/a-workaround-for-non-determinism-in-te...
https://github.com/tensorflow/tensorflow/issues/3103
https://discuss.pytorch.org/t/deterministic-non-deterministic-results-wi...
https://github.com/tensorflow/tensorflow/issues/2732
https://github.com/soumith/cudnn.torch/issues/270
https://github.com/pytorch/pytorch/issues/2831
Oh and it's mentioned in Nvidia docs as well, there is even an option to force deterministic slow path.

Sauce: https://www.reddit.com/r/programming/comments/873vvy/2_2_4_er_41_no_43_n...

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

Pokud je odpověď od NVidie takováto:
"All of our GPUs add correctly," the rep told us. "Our Tesla line, which has ECC [error-correcting code memory], is designed for these types of large scale, high performance simulations. Anyone who does experience issues should contact support@nvidia.com."
tak nejspíš problém nebude přímo kód. Kromě toho tvrdí, že na architektuře Pascal to funguje v pořádku, a nemyslím, že by tam bylo tolik změn co se týče architektury.

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

Mě to vyjádření vychází jinak. "Pro takové věci si kup Teslu s ECC a ne TitanV. Pokud máš problém s TitanV, není to náš problém"

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

To máte marné, mně tady všichni vysvětlují, že tímhle to být nemůže. :) Co na tom, že to je známý problém...

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

pokial spravne citam deje sa to iba na titan V(nie na inych kartach od NV) a iba na 2och zo 4och titan V na ktorych testoval.

https://www.theregister.co.uk/2018/03/21/nvidia_titan_v_reproducibility/
One engineer told The Register that when he tried to run identical simulations of an interaction between a protein and enzyme on Nvidia’s Titan V cards, the results varied. After repeated tests on four of the top-of-the-line GPUs, he found two gave numerical errors about 10 per cent of the time. These tests should produce the same output values each time again and again. On previous generations of Nvidia hardware, that generally was the case. On the Titan V, not so, we're told.

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

Největší problém je v tom, že nevíme, co pan inženýr vlastně myslel pod pojmem "numerical errors", což může být cokoli od drobných variací na posledních binárních místech, které neznalého problematiky mohou překvapit, až po velké chyby nebo třeba vyloženě chybové stavy (třeba výjimky, tam, kde je API podporuje). Pak se dá jen obtížně spekulovat, co se vlastně děje, jenže nepochopení aritmetiky v plovoucí řádové čárce a moderních architektur na straně programátora je v praxi mnohem častější jev než hardwarová vada, takže dokud se neukáže opak, budu ho logicky předpokládat.

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

to je samozrejme problem, ale nezda sa mi ze jeho... ak 2 karty zo 4 kariet titan V vykazuju v 10% pripadoch akekolvek anomalie, pricom generacie kariet predtym to nerobili, tak pre mna je to sice zvlastny, ale problem. rozhodne nema zmysel utocit ad hominem. kludne to nemusi byt realny problem, moze to byt problem na strane vyskumnika v sw, moze to byt problem na strane nvidie v sw a je to zbytocne boom. nvidia ale ma obrovsky marketshare, takze je pod drobnohladom a vobec sa tomu necudujem. ak by to bol hw problem a este k tomu neriesitelny, ze sa to riesi

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

Další fujtajxl od nVidie.
Na kterou variantu výsledků se mám jako zákazník spolehnout?

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

Možná toho tajného "inženýra" po jeho dotazu zařadili do jejich tajného Nvidia Partner Programu, po boku ASUS, MSI a Gigabyte a tím mu taky zavřeli h*bu.

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

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