floating point,gcc,g77

Alexandr Malusek malusek na hroch.ujf.cas.cz
Pondělí Červenec 27 22:22:15 CEST 1998


Cyril Fischer <fischerc na itam.cas.cz> writes:

> Zda se mi, ze optimizator noveho gcc nebere dost dobre v uvahu floating
> point aritmetiku, viz napr. doporuceni clanku D. Golberg, What every
> scientist shoud know about floating point arithmetic, ACM Comp. Surveys,
> Vol. 23, No. 1, March 1991, 5-48.
> Nevite nekdo www venovanou podobnemu tematu

Kdysi jsem nasel
http://suburbia.net/~billm/floating-point/ieee.html#standards

> Pouziva nekdo linux/ g77 /gcc k seroiznim vypoctum? S jakymi vysledky?

Kdysi jsem portoval MCNP4A (modelovani transportu elektronu, fotonu a
neutronu metodou Monte-Carlo) pod Linux. Po tydenim porovnavani
testovacich vystupu s vystupy ziskanymi na jinych platformach jsem
dospel k zaveru, ze g77, pripadne f2c, pouzitelne pro prakticke
vypocty je, ale optimalizacni volby se musi peclive otestovat.

Problem s g77 a Monte Carlo vypocty na Intelovske platforme je, ze pri
ruznych optimalizacnich volbach vychazeji ruzne vysledky. Duvod je
uveden ve vyse zminem URL.

Vysledky testu pro MCNP4B mam na
http://sysel.ujf.cas.cz/~malusek/mcnp/mcnp4b_port/g77/opt.html a
http://sysel.ujf.cas.cz/~malusek/mcnp/mcnp4b_port/g77/opt_timing.html

Bohuzel mi dosel diskovy prostor, takze jsem testovani musel ukoncit
bez konkretniho vysledku. Asi po pul roce jsem ziskal novy disk, takze
v dohledne dobe se k tomu vratim.

> Jste spokojeni se spolehlivosti? Nejaka alternativa?

g77 0.5.21 jsem zavrhl, protoze mcnp kompilovane s -O2 koncilo na core
dump pro nektere vstupy. g77 0.5.20 i egcs se mi zdalo lepsi. V CERNu
dlouho zustavali u 0.5.18. Jinak mam pocit, ze novejsi verze produkuji
stale pomalejsi programy. (I kdyz se pouzije Haifa optimalizator).

Rad bych g77 porovnal s komercnimi kompilatory Fortranu (pod Linuxem),
ale nemam na ne penize.

> A nerad bych mel v pocitadle nekolik verzi prekladacu, pak vznika
> gulas, ktery nejsem schopen zvladat.

V soucasne dobe mam v pocitaci tri ruzne verze g77. Kompilatory si
kompiluji sam a umistuji je do zvlastnich adresaru. Pred vlastni
kompilaci nejakeho programu nastavim v shellu PATH - takto se to da
zvladnout celkem bez problemu. Pouziti pouze jednoho kompilatoru bez
nasledneho porovnani povazuji (i v pripade SparcWorks pod Solarisem
nebo cehosi pod WinNT) za hazard.

Pokud to jde, snazim se Fortranu vyhnout :-). Clovek si tim usetri
spoustu problemu.

--
A. Malusek  (malusek na ujf.cas.cz)
UJF AV CR


Další informace o konferenci Linux