Bonsoir à tous,
J'ai fait un petit exemple openMP -je débute- où j'appelle en boucle (#pragma for) une fonction f1.
Voilà la configuration
* linux x64 :
* main (C, gcc 4.6) qui contient la boucle qui appelle f1.
le main charge à l'exécution :
* une lib dynamique so (C: gcc4.6)
* qui elle même a intégré une lib statique (fortran: gfortran 4.6 ou ifort, j'ai essayé les 2), dans laquelle se trouve f1.
c'est une boucle de taille 800 et j'impose 800 threads.
j'obtiens des collisions, je ne comprends pas pourquoi (je n'ai pas de variables statiques ou globales).
Doit-on ajouter des directives/options/lignes de code pour les lib (statiques ou dynamiques),et si oui lesquels et pourquoi ? je n'ai actuellement que modifié le code du main.
Merci beaucoup !
Partager