Re: Optimisation de compilateur ....

Page principale

Répondre à ce message
Auteur: Jerome KIEFFER
Date:  
À: guilde
Sujet: Re: Optimisation de compilateur ....
On Wed, 10 Dec 2003 10:01:46 +0100
Raphael Jacquot <raphael.jacquot@???> wrote:

> Jérôme KIEFFER wrote:
> > Salut,
> > J'ai récupéré un soft de "chimie" et c'est bien connu que les
> > chimistes codent en fortran (77, je précise)
> > Dans le makefile, il n'y a pas l'ombre d'une option d'optimisation
> > du code:
> >                 f2c -w *.f 
> >                 gcc -c -malign-double *.c
> >                 gcc -o $(EXE) *.o -lf2c -lm

>
> a ce que je vois; ca transforme le fortran en C, puis ca compile le C
> dans la 2e ligne, tu dois pouvoir ajouter "-O[plus que 2]
> -march=[truc]" sans problemes


Tout a fait .... même avec l'aide de la liste j'ai pas réussi a compiler
en utilisant g77

> l'optimisation peut eventuellement entrainer des calculs errones si le
>
> gcc est pas *tres* recent


J'ai fait quelques test _rapides_ cad avec des criteres de convergence
pas tres fins. c'est possible que les résultats soit faussé par ca.

Methode : f2c puis gcc
jerome@taz:/tmp/mopac$ gcc -v
Lecture des spécification à partir de
/usr/lib/gcc-lib/i486-linux/3.3.3/specs
Configuré avec: ../src/configure -v
--enable-languages=c,c++,java,f77,pascal,objc,ada,treelang --prefix=/usr
--mandir=/usr/share/man --infodir=/usr/share/info
--with-gxx-include-dir=/usr/include/c++/3.3 --enable-shared
--with-system-zlib --enable-nls --without-included-gettext
--enable-__cxa_atexit --enable-clocale=gnu --enable-debug
--enable-java-gc=boehm --enable-java-awt=xlib --enable-objc-gc
i486-linux
Modèle de thread: posix
version gcc 3.3.3 20031206 (prerelease) (Debian)

Machine : athlon XP2400 + 1Go de RAM,

fichier source : un molécule optimisé en énergie avec un champ newtonien
MM2. le calcul quantique est une recherche de la géometrie avec
l'énergie minimale, par la methode semi-empirique PM3, le soft : c'est
MOPAC7 (domaine public)

Sans optimisation : 28"75 E=147.25 kCal 
Optimisation -O   : 25"89 E=143.83 kCal
Optimisation -O2  : 13"36 E=145.50 kCal (puis 13"30)
-O2 -march=athlon : 13"55 E=147.67 kCal (puis 13"55)
-O3               : 13"42 E=145.50 kCal (puis 13.46)


Conclusion : A quoi sert -march=athlon ????

-O2 semble être le "top" pour ma machine ....

--
Jérôme @taz : Thorton 2GHz + 1Go DDR in a 10L SS40G
"Windows LongHorn is a 64-bit padding of a 32-bit shell for a 16-bit
extension to an 8-bit operating system designed for a 4-bit
microprocessor by a 2-bit company that can't stand one bit of
competition."