Da grande non voglio fare il fisico computazionale
![]()
Questo commento qui non fa una piega ed è, guarda caso, quello che mi sta accadendo.
Volevo portare su Windows la libreria scientifica GNU, senza emulazioni Unix o POSIX, quindi senza usare Cygwin ma preferendovi MSYS/MinGW.
La GSL è scritta in puro ANSI C, quindi deve essere portabile come software nativo, in altre parole: niente DLL aggiuntive.
Purtroppo, al momento del make check il test dell’integrazione Monte Carlo fallisce, perdipiù con un errore di ~10-3, che è enorme se paragonato alla “doppia precisione” in uso nei calcoli.
Il problema è vecchio, ma ci si accorge subito che scompare se si compila senza ottimizzazione.
Ohibò.
Ho dato uno sguardo alla documentazione del compilatore per capire a quali singole opzioni corrispondesse il flag -O2. Le ho messe lì, tutte, ad una a una, per vedere quale generasse il problema, ma con mia sorpresa scopro che espandendo -O2 nella lunga lista di opzioni il problema non c’era più.
Ohibò.
Così scrivo alla lista della GSL; ma nessuno mi cagca.
Allora scrivo alla mailing list del compilatore. Con un po’ d’aiuto riesco a trarne un bug report appena decente. Vengo rimpallato dal tracker di un progetto al tracker dell’altro, e solo alla fine di una lunga discussione riesco a convincere Brian Gough a risolvere la cosa dal lato della libreria GSL.
0 commenti:
Posta un commento