[gcc] parallelisation automatique
Résolu
Bonjour,
je viens de découvrir que gcc supportait OpenMP ainsi que la possibilité de demander une parallélisation automatique des boucles.
Or, sur ma version 4.3.0, les options ne sont pas reconnus (-floop-parallelize-all).
Est-ce que quelqu'un sait pourquoi ?
y aurait il une fonction à demander à la compilation ?
Merci
--
La vrai soumission c'est quand les esclaves s'inquiètent du cours du coton.
Char Snipeur
je viens de découvrir que gcc supportait OpenMP ainsi que la possibilité de demander une parallélisation automatique des boucles.
Or, sur ma version 4.3.0, les options ne sont pas reconnus (-floop-parallelize-all).
Est-ce que quelqu'un sait pourquoi ?
y aurait il une fonction à demander à la compilation ?
Merci
--
La vrai soumission c'est quand les esclaves s'inquiètent du cours du coton.
Char Snipeur
2 réponses
-
Oui apparemment il faut faire une build spécial de gcc pour pouvoir utiliser l'option de parallélisation automatique, j'ai trouvé un tuto ici :
https://openwall.info/wiki/internal/gcc-local-build -
Bonjour,
Dans le man de gcc en recherchant le mot "openmp" je ne trouve que la commande :
-fopenmp
-fopenmp Enable handling of OpenMP directives "#pragma omp" in C/C++ and "!$omp" in Fortran. When -fopenmp is specified, the compiler generates parallel code according to the OpenMP Application Program Interface v2.5 <http://www.openmp.org/>. This option implies -pthread, and thus is only supported on targets that have support for -pthread.
-
-
-
Contributeurje trouve l'option là :
http://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html
http://gcc.gnu.org/wiki/Graphite/Parallelization
les premiers tests d'auto parallelisation semblent datés de 2006 :
https://www.airs.com/dnovillo/Papers/gcc2006.pdf
J'avais compris que c'était disponible depuis la versions 4.3.0 (je ne retrouve plus le lien). Mais je me demande, en fait et du coup, si ce n'est pas une option de gcc qui n'est pas par défaut. S'il ne faut pas avoir une version spéciale de gcc ???
Merci pour ton aide.
-