2010-11-26 3 views
6

Comment le runtime OpenMP détermine-t-il le meilleur nombre de threads lorsque omp_set_dynamic est utilisé?omp_set_dynamic - comment le runtime détermine-t-il le nombre de threads?

par exemple. Des mécanismes de synchronisation sont-ils utilisés ou le compilateur donne-t-il des indications sur l'étendue de la taille de la tâche?

+0

il est complètement spécifique à l'implémentation. très probablement, vous finirez par utiliser tous les cœurs disponibles sauf si vous utilisez des blocs parallèles imbriqués – Anycorn

Répondre

2

Je ne pense pas que l'OpenMP détermine le "meilleur" nombre de threads pour une application, dans un sens probable du mot "meilleur". Comme l'a commenté @aaa, le comportement de l'exécution lorsque omp_set_dynamic est vrai est spécifique à l'implémentation.

Je ne pense pas que les compilateurs Fortran/C/C++ actuels puissent fournir des informations telles que les durées ou les tailles de tâches à l'exécution.

Je crois que cette fonction est disponible pour que les planificateurs (et similaires) puissent gérer des programmes sur des machines, pour un débit ou similaire.

Questions connexes