J'essaie d'exécuter une application en parallèle en utilisant les instructions sse et openmp. Concernant la partie openmp j'ai du code comme :
for(r=0; r<end_condition; r++){
.. several nested for loops inside ..
}
Je veux diviser cette boucle sur r sur plusieurs cœurs, et par exemple en utilisant deux cœurs, un cœur devrait exécuter r=0 r=condition_finale/2-1 et l'autre r=condition_finale/2 r=condition_finale-1. Il n'y a pas de communication entre les itérations de la boucle, elles peuvent donc être exécutées en parallèle. À la fin de la boucle r, les résultats doivent être synchronisés.
Comment puis-je le diviser sur les cœurs de cette façon en utilisant les directives openmp ? Dois-je dérouler la boucle sur r et utiliser les sections openmp ?
Merci d'avance