• [^] # Re: Suis-je médisant ?

    Posté par . En réponse à la dépêche LLVM 3.0. Évalué à 1.

    Sinon, il y a aussi les fonctionnalités openMP à regarder. Cela permet de faire de la parallélisation avec des threads à pas chère. Il faudrait que je retrouve mes exemples, mais il suffit souvent de mettre le bon pragma, juste devant la boucle la plus externe pour qu'elle soit paralléliser. Par contre, il faut une indépendance totale entre élément traité (comme une fonction map en fonctionnel).

    Pas nécessairement. OpenMP supporte des pattern plus sophistiqués par exemple :

    int ret = 0;
    for(int i = 0; i < 10; ++i) {
     ret += i;
    }
    
    

    Peut être parallélisé efficacement ainsi :
    int ret = 0;
    #pragma omp parallel for reduction(+:ret)
    for(int i = 0; i < 10; ++i) {
     ret += i;
    }
    
    

    http://software.intel.com/en-us/articles/getting-started-with-openmp/

    Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)