Apr 192008
 

“dove posso trovare un compilatore fortran free”

“Free” nel senso di “libero” (open source) o nel senso di “gratuito”?

Qui:

  • Intel Fortran Compilers per MS Windows, Linux e Mac OS/X (seguire un po’ di link fino a “free non-commercial downloads”, questo è gratis, ma non libero)
  • gfortran, il compilatore Fortran ufficiale del progetto GNU, per Linux e Windows+Cygwin
  • G95 per Linux (e Windows+Cygwin??) originariamente un fork di gfortran, poi sviluppatosi indipendentemente
  • Open64 include un compilatore Fortran 90/95 per Linux e architetture Intel a 64 bit (PathScale mantiene una versione derivata per AMD)
  • Open Watcom altro progetto open source che include un compilatore Fortran per Win32 e OS/2

Personalmente mi sono spostato – con qualche rimpianto – verso C++ e Java, riprendendo anche Perl dopo un intervallo di qualche anno.

  7 Responses to “Chiavi di ricerca”

  1. Be dai, diciamo che il FORTRAN ha fatto il suo tempo.

  2. Il Fortran, il cui ultimo standard (non ancora pubblicato) è Fortran 2003, non ha per nulla fatto il suo tempo, anzi, nell’ambito del calcolo scientifico ad alte prestazioni (HPC), il campo specialistico in cui è da sempre utilizzato, è praticamente monopolista.

    I compilatori Fortran (e quelli dei linguaggi imperativo-procedurali in genere) raggiungono livelli di ottimizzazione e conseguente performance che sono assolutamente impossibili da ottenere, per design, per i compilatori dei linguaggi object-oriented o funzionali.

    Oltretutto solo tre linguaggi, che io sappia ma potrei sbagliarmi, implementano gli standard OpenMP e MPI di programmazione parallela per supercalcolatori: Fortran, C e C++, il supporto di quest’ultimo è per il momento meno maturo.

    Nell’HPC C e in misura minore C++ hanno in effetti un qualche spazio, ma quasi soltanto in funzioni ausiliarie quali pre- e post-processing e accesso a database e il secondo quasi mai nei casi in cui la velocità è importante. C++ è popolare tra i biotecnologi che non hanno un grande bisogno di performance.

    Il concetto stesso di object-oriented impedisce di compiere ottimizzazioni estreme, perché non si può violare l’incapsulazione degli oggetti in alcun modo e dunque non è possibile per il compilatore agire in contemporanea sui metodi di una classe e sulle funzioni che vi accedono.

    Certo, la mantenibilità dei sorgenti Fortran è un problema enorme, ma il tipico programma HPC ha vita breve e un gruppo di ricerca all’avanguardia negli esperimenti numerici necessita soprattutto di ottenere velocità superiori a quelle della concorrenza. In questo il Fortran non ha rivale alcuno.

    Ovviamente al di fuori dell’HPC il Fortran non trova applicazioni, ma in realtà non ne ha mai avute neanche in precedenza.

    Anche parecchi, se non quasi tutti, tra i piú noti programmi scientifici a vita lunga sono scritti in Fortran 95, per esempio: CPMD (chimica molecolare e biochimica), COSMO/LM (previsioni del tempo, simulazioni climatiche), MM5 (climatologia), ECHAM5 (simulazioni atmosferiche)…

  3. > che io sappia ma potrei sbagliarmi

    OK, ero sicuro su OpenMP, ma MPI – essendo una libreria – è supportato anche da altri linguaggi, tra cui Java. Non che io abbia mai incontrato un supercalcolatore dove Java abbia una qualche importanza.

  4. In effetti tieni ragggione. Come commento era un pò superficiale, nel campo del HPC è ancora er mejo.

    >Non che io abbia mai incontrato un >supercalcolatore dove Java abbia >una qualche importanza.

    Io non ho mai incontrato un supercalcolatore ma sarebbe bellissimo vederci girare sopra una macchina virtuale.

  5. Il Fortran è sicuramente un linguaggio di nicchia, ma quella nicchia un tempo era il mondo intero.

    Fatta salva la maggiore efficienza delle interconnessioni (verso dischi, memoria e tra i vari nodi) e il numero di CPU (da qualche migliaio a circa un milione) i supercalcolatori d’oggidí non sono poi del tutto dissimili da un normale server.

    Il tipo di CPU ormai è lo stesso (Intel e AMD a 64 bit) e il sistema operativo di regola è Linux, quanto meno sui nodi interattivi.

    Un esempio è l’ultimo modello della Cray, un altro esempio è quello IBM.

    I Giapponesi, come loro solito, resistono nel folto della foresta, Cinesi e Indiani probabilmente arriveranno a sorpassare gli USA nel campo della tecnologia dei microchip entro i prossimi 2/3 anni (non è da escludersi che i cinesi lo abbiano già fatto, ma da noi le notizie arrivano filtrate).

  6. A dire la verità ho visto qualche clusterone, ma mai veri e propri supercomputer, anche se, a volte non si capisce bene il confine fra uno e l’altro. In generale sapevo che usavano fortran per cose tipo NP question(sempre se non mi ricordo male) e prove di minimizzazione su automi(ma anche qui potrei sbagliarmi).

  7. Io non mi sono mai occupato professionalmente di informatica teorica (nel senso di computer science), ma soprattutto di simulazioni numeriche per problemi di fisica e ingegneria.

    Le mie nozioni di informatica teorica si riducono quasi esclusivamente alle parti che sono rilevanti per la fisica dei sistemi dinamici, grosso modo ciò di cui si occupa Chaitin, e su un minimo di cultura personale dilettantistica.

Sorry, the comment form is closed at this time.