Différence entre num_threads vs omp_set_num_threads vs OMP_NUM_THREADS

Je suis assez confus au sujet de la manière de spécifier le nombre de threads en parallèle le cadre d'un code.
Je sais que je peux utiliser:

  1. le respect de la variable OMP_NUM_THREADS
  2. fonction omp_set_num_threads(int)
  3. num_threads(int) dans #pragma omp parallel for num_threads(NB_OF_THREADS)

Ce que j'ai réuni ce jour, les deux premières sont équivalentes. Mais quel est le troisième?
Quelqu'un peut-il fournir une présentation plus détaillée de la différence, je ne pouvais pas trouver toutes les informations dans l'internet en ce qui concerne la différence entre 1/2 et 3.

OriginalL'auteur leosenko | 2014-04-02