Un "détail" me saute aux yeux en comparant les sources C et Python. Je suis surpris que tu compares les performances entre un code en python avec OpenMP vs un code en C sans OpenMP.
Je viens de co la branche compas2013 pour faire des tests, malheureusement je n'arrive pas à lancer pythran sur ma machine, l'erreur semble venir de pythonic++ ou de mon compilateur (gentoo 4.6.3)
By Jove! Your environment does not seem to provide all what we need
E: [Errno 65] pythonic++ not found, try to add -I or -L flags?
~/pythran/scripts/../pythran/pythonic++/core/utils.h:77:48: désolé, pas implanté: cannot expand ‘Types ...’ into a fixed-length argument list
Du coup, en testant uniquement la version C
AVANT (sans OpenMP)
gcc -O2 hyantes.c -lm -o hyantes1
time ./hyantes 'Rhone-alpesXYLongLat_pop.txt' 1.1 32 4 35 0.01 40 > avant
real 1m13.791s
user 1m13.753s
sys 0m0.003s
APRES (avec OpenMP)
<emacs> / <vim> hyantes.c + un coup de #pragma omp parallel
gcc -O2 hyantes.c -fopenmp -lm -o hyantes2
time ./hyantes 'Rhone-alpesXYLongLat_pop.txt' 1.1 32 4 35 0.01 40 > apres
real 0m9.100s
user 1m43.181s
sys 0m0.008s
N'étant pas une bête avec OpenMP, je préfère vérifier.
diff avant apres
echo $?
0
Conclusion un temps d’exécution divisé par 8 (CPU i7-3930K).
Je n'ai pas pu comparer avec pythran, mais j'ai comme l'impression que :
- pythran avec OpenMP est aussi rapide que le code en C sans OpenMP
- le code en C avec OpenMP est 8x plus rapide que pythran avec OpenMP.
[^] # Re: show me the code
Posté par cellophane . En réponse au journal Pythran 0.2 : Python peut-il être aussi rapide que du C ?. Évalué à 10.
Merci!
Un "détail" me saute aux yeux en comparant les sources C et Python. Je suis surpris que tu compares les performances entre un code en python avec OpenMP vs un code en C sans OpenMP.
Je viens de co la branche compas2013 pour faire des tests, malheureusement je n'arrive pas à lancer pythran sur ma machine, l'erreur semble venir de pythonic++ ou de mon compilateur (gentoo 4.6.3)
Du coup, en testant uniquement la version C
AVANT (sans OpenMP)
APRES (avec OpenMP)
N'étant pas une bête avec OpenMP, je préfère vérifier.
Conclusion un temps d’exécution divisé par 8 (CPU i7-3930K).
Je n'ai pas pu comparer avec pythran, mais j'ai comme l'impression que :
- pythran avec OpenMP est aussi rapide que le code en C sans OpenMP
- le code en C avec OpenMP est 8x plus rapide que pythran avec OpenMP.