Vargas : options d'optimisation du compilateur C/C++


C'est l'option -O qui permet de gérer l'optimisation d'un code. À sa suite, il est possible d'indiquer un niveau d'optimisation (2, 3, 4 ou 5), sachant que 2 est celui activé s'il n'est pas fourni (-O équivalent à -O2).

L'option -qnooptimize (qui est celle par défaut) permet d'inhiber l'optimisation faite par le compilateur.

À partir du niveau 3 il y a des risques de modification de la sémantique du programme ; soyez donc très vigilant quant aux résultats de vos calculs.

Par exemple : (2.*3.1)*4.2 peut être interprété comme 2.*(3.1*4.2).

On peut tout de même, dans de tels cas, interdir toute modification sémantique en positionnant l'option -qstrict.

Par exemple :

vargas : cc  -O3 -qstrict source.c
vargas : xlC -O3 -qstrict source.C

Une documentation IBM spécifique pour l'optimisation sur Power6 est disponible en anglais (.pdf), avec de nombreux schémas de l'architecture du processeur; elle revient sur les options de compilation.

Une documentation IBM fait une synthèse sur les différentes options d'optimisation; elle est disponible en anglais (.pdf) et date de la version xlc 11.1 (avril 2010).


© CNRS - IDRIS, 13/01/2012