Paradox (nejen) v NASA: Na nejvýkonnějších superpočítačích světa běží prehistorický kód ve Fortranu

Můj názor  |  zobrazit i odpovědi (trvale)  |  řadit od nejstarších Komentáře nyní řadíme od nejnovějších.
Tímto odkazem můžete řazení změnit.
 |  nových názorů: 57

Názory k článku

10. 05. 2017 22:09

Fortran vůbec nemusí být na závadu!
V té době se ještě programovalo velmi efektivně a kvůli malé paměti počítače se leckdy využívaly i nedokumentované vlastnosti některých instrukcí!
Moje první fyzické setkání s počítačem (ne jen odevzdat děrnou pásku z dálnopisu a čekat na štos traktorového papíru formátu A3 z obrovské rychlotiskárny - byla tam rozotčená typová kola a úderník proti nim a papír z tiskárny šel obrovskou rychlostí aspoň jeden metr vodorovně, než začal padat k zemi) bylo v roce 1975 a počítač byl RPP-16 (16 bitů). Plechová kostka o hraně asi půl metru, periferie elektrický psací stroj, děrovačka a čtečka děrné pásky. Silně poruchové. Nahrávalo se tak, že se prvních 10 instrukcí namačkalo tlačítky, pak se spustila páska Jednoduchý zaváděcí program, následoval Zaváděcí program a konečně se mohla spustit páska s vlastním programem. K tomu 4 kB paměti!!! Ovšem na feritu a pamatovalo si to i po vypnutí. A již s tím se dalo pracovat!
Obrovský skok dopředu byl Sinclair ZX-81 a následně ZX-Spectrum, na kterém vyrostla i profesionální práce s počítači v tehdejším Československu! 64 KB paměti celkem (včetně videopaměti, monitor byla normální televize, paměťové medium kazetový magnetofon), na program zbylo 32 KB. A jaké zázraky se s tím daly dělat!
Já tvrdím, že dnes je 3/4 programu balast vzniklý z automatických překladačů a nikdo vlastně už ani neví, co se vlastně v počítači děje. Na vše potřebujeme obrovské kapacity disků, paměti, obrovskou rychlost vícejádrového procesoru, aby to vůbec pracovalo!
Jen nostalgicky vzpomínám na dobu, kdy každá instrukce měla v programu své místo a programátor dokonale věděl, proč tam je a právě v tom místě.
Proto i ten dnes vysmívaný Fortran může být stále ještě efektivnější než obrovské gigabyte balastu dnešních programů!
Pěkný den!

Souhlasím  |  Nesouhlasím  |  Odpovědět
05. 05. 2017 11:43

Z diskuze mám pocit, že si většina nepřečetla originální výzvu NASA, protože spousta věcí, které jsou zde komentovány nebo kritizovány jsou v původním článku popsány a zdůvodněny.
1) stále se pracuje s FORTRANem
2) Zrychlení 10x až 10000x
3) "NASA is looking for qualified people who can download the FUN3D code, analyze the performance bottlenecks, and identify possible modifications that might lead to reducing overall computational time."
4) v článku (originálním) je příklad: "optimalizace" jednotlivých dílčích subrutin (nevím jak a jestli se tohle slovo překládá), kde když ušetříte na jedné subrutině třeba jen pár milisekund, ale ta subrutina se spouští milionkrát, tak se to na výsledku projeví

Souhlasím  |  Nesouhlasím  |  Odpovědi (1)Zavřít odpovědi  |  Odpovědět
05. 05. 2017 11:01

Za předpokladu, že výsledný kód je odladěný a funkčně bezproblémový, je naprosto nezajímavé, v čem (assembler, FORTRAN, "libovolný zdrojový kód") byl algoritmus napsán.
Pan Čížek je asi toho názoru, že moderní doba potřebuje moderní jazyky a zcela diletantsky se nestará o to, že prioritní jsou výsledky, vznikající sice na supermoderním HW a SW (OS), vycházející ovšem z algoritmů, které byly ověřené.
Jediné, co může představovat problém, je změna příslušného algoritmu, ale pokud tamní vývojáři mají zaručeno, že jejich překladače přesně vytváří funkční obraz, není opravdu na místě kritika.
Algoritmus nepodléhá stáří (jeden příklad za všechny - zpracování interrupt v řadě OS Wndows má stejné náležitosti a požadavky už několik desítek let).

Souhlasím  |  Nesouhlasím  |  Odpovědi (2)Zavřít odpovědi  |  Odpovědět
Anonymizovaný  |  05. 05. 2017 10:03

A ten poslední odstavec, to je taky lahůdka: "Smůlu mají i středoškoláci, vývojářům totiž musí být alespoň 18. let." Fakt vývojářům totiž musí být alespoň OSMNÁCTÝCH let??????????????????? Asi je to šotek

Souhlasím  |  Nesouhlasím  |  Odpovědi (1)Zavřít odpovědi  |  Odpovědět
05. 05. 2017 09:05

Nejak ten titulek nechapu. V cem je Fortran spatny? Melo by se to snad napsat v Jave nebo C#? Vdyt tak nejde vubec o jazyk ale o kompilaci. Nebo mi chcete rict ze pocitac funguje tak ze si zjisti ze program je napsany v C#, prepne se do rezimu C#, zapne efektivnejsi chod a pak si cte kod v C#?

Souhlasím  |  Nesouhlasím  |  Odpovědět
05. 05. 2017 07:32

Když tak čtu tuhle diskusi, říkám si, jak hluboce klesl tento odborný časopis a jeho čtenáři. Půlka, a to jsem ještě optimista, lidí včetně redaktorů, si myslí, že procesory zpracovávají instrukce programovacího jazyka, a nejsou s to pochopit, že je úplně nepodstatné, v jakém jazyce a kdy je algoritmus napsán, ale záleží jen na tom, jak kvalitní je kompilátor (ten se průběžně aktualizuje v závislosti na možnostech - instrukčních sadách - CPU a rozhodně nemůže být desítky let starý) a na tom, jestli existuje rychlejší algoritmus, než ten používaný.

Souhlasím  |  Nesouhlasím  |  Odpovědi (1)Zavřít odpovědi  |  Odpovědět
avatar
05. 05. 2017 07:26

Ona se od té doby co to bylo naprogramované nějak zásadně změnila matematika? Pokud ne a ten program furt vyhovuje, tak proč ho měnit?Na nějaké poradně má jeden přispívatel motto:
"Věci co fungují se zásadně neopravují."Vybavuje se mi, že jsem někde četl názor, že třeba u televizorů co jdou na trh není čas na nějaké vychytání much v obslužných programech proto, že v současné době se musí dodávat furt nové a nové typy a než by se ty mouchy vychytaly, tak už by to nebylo aktuální.

Souhlasím  |  Nesouhlasím  |  Odpovědi (3)Zavřít odpovědi  |  Odpovědět
Anonymizovaný  |  05. 05. 2017 06:09

U nas se pise vypocetni SW ve starickem neobjektovem Fortranu jeste dnes. A ukazte mi prog. jazyk, ktery je na vypocty lepsi nez Fortran.

Souhlasím  |  Nesouhlasím  |  Odpovědi (2)Zavřít odpovědi  |  Odpovědět
05. 05. 2017 01:23

Ja jsem prosim v 90. letech programoval CFD pro NASA Langley ve Fortranu, tak to ode mne bude pan redaktor mit z prvni ruky. Take me to fascinovalo ze se pouziva uz tehdy staricky Fortran, ale jak jsem zacal psat ty kody tak mi doslo ze se na tom neda moc vylepsit. Pro FEA, CFD apod potrebujete opravdu primitivni jazyky ktere vam umozni programovat jednoduse a bez omezeni a to se da docilit Fortranem docela dobre. Pro laika se to da nejlepe vysvetlit ze potrebujete dum stavet ne z prefabrikovanych dilu ale z nejjednodusich cihel, ktere vam umozni postavit presne to co chcete bez omezeni.

Souhlasím  |  Nesouhlasím  |  Odpovědi (1)Zavřít odpovědi  |  Odpovědět
04. 05. 2017 19:36

Tak to mi hned připomnělo vynikající film, co jsem nedávno viděl (Skrytá čísla), kde se děj odehrává právě v době, kdy NASA přecházela z ručních počtářek na IBM a Fortran. To se jim tam asi pořád někde válejí ty děrné štítky :)

Souhlasím  |  Nesouhlasím  |  Odpovědi (1)Zavřít odpovědi  |  Odpovědět
04. 05. 2017 19:04

Co mají v těch superpočítačích za superprocesory, že zvládají nativně Fortan?
Já na svém domácím počítači ať to zkouším jak chci, vždycky je na konci x86 strojový kód. Můj obyčejný procesor od Intelu nic jiného neumí

Souhlasím  |  Nesouhlasím  |  Odpovědi (2)Zavřít odpovědi  |  Odpovědět
avatar
04. 05. 2017 18:16

OT: Kde je zabezpecene pripojeni? Porad se v clanich smejete, ze neco neodpovida roku 2017 a nemate HTTPS, ktere ma dneska kdejaky web.

Souhlasím  |  Nesouhlasím  |  Odpovědi (5)Zavřít odpovědi  |  Odpovědět
04. 05. 2017 17:49

ten prehistorický fortran je v testech při stejným algoritmu rychlejší než jiný jazyky tak chci vidět kdo jim to za 55$ 10000x zrychlí

Souhlasím  |  Nesouhlasím  |  Odpovědi (3)Zavřít odpovědi  |  Odpovědět
04. 05. 2017 17:49

NASA a další americké instituce zatím čekají na Jakuba Čížka, nejchytřejšího počítačového experta na světě, aby jejich superpočítače předělal na novější kódování ! Já to říkám pořád, co vlastně na živě.cz pořád ještě dělá ?! Ztrácet čas podřadnou a nudnou redaktorskou činností, psát bleskovky do Živě může jakýkoliv student žurnalistiky nebo IT školy, místo Kuby ! Zatímco on může programovat americké počítače na nejvyšší úrovni, když tomu Kuba rozumí líp než oni !

Souhlasím  |  Nesouhlasím  |  Odpovědět
avatar
04. 05. 2017 17:44

Všude kolem to vidíme, vývoj ve výpočetní technice se konal v 60. a 70. letech. Dnes probíhá jen extenzivní vývoj. Např. vyšší výpočetní výkon rychlejším procesorem s větší spotřebou, ne novou architekturou. A nové verze softwaru potřebují pro stejný úkol vetší výpočetní výkon.
Kód z 80. let bude jistě odladěný a optimalizovaný. Tehdy se počítalo s každou desítkou kB.

Souhlasím  |  Nesouhlasím  |  Odpovědi (8)Zavřít odpovědi  |  Odpovědět
04. 05. 2017 17:42

Ze je to stare neznamena, ze je to spatne. Oni vedi proc si to tam tak dlouho opecovavaji. Dneska by jim to frajer napsal typicky v .NETu a melo by to problem jen nabootovat.

Souhlasím  |  Nesouhlasím  |  Odpovědi (3)Zavřít odpovědi  |  Odpovědět
avatar
04. 05. 2017 17:30

A prize purse of up to $55,000 will be distributed among first and second finishers in two categories. Možná to překládal google translate a ten v cestine vzal carku jako desetinou

Souhlasím  |  Nesouhlasím  |  Odpovědi (2)Zavřít odpovědi  |  Odpovědět
04. 05. 2017 17:21

Panecku, za $55 to fakt bude dovolena snu!

Souhlasím  |  Nesouhlasím  |  Odpovědi (2)Zavřít odpovědi  |  Odpovědět
04. 05. 2017 16:55

páni! celých 55 dolarů? tak to šup se rychle přihlásit (nebo tam je malá chybka?)

Souhlasím  |  Nesouhlasím  |  Odpovědi (1)Zavřít odpovědi  |  Odpovědět
Zasílat názory e-mailem: Zasílat názory Můj názor