OpenMP omp_get_max_threads() return 值
OpenMP omp_get_max_threads() return value
定义OMP_NUM_THREADS
环境变量时omp_get_max_threads()
return是否是$OMP_NUM_THREADS
的值?
在我的系统上看起来是这样 (Linux/gcc)。即使 OMP_NUM_THREADS 设置为离谱的高值...
在 main
的开头调用它,即不在任何(嵌套的)平行区域内(如果它有所不同)。
你是对的 omp_get_max_threads()
returns OMP_NUM_THREADS
的值。您可以根据需要将其设置得尽可能高:线程是一种软件结构,与您拥有的内核数量无关。为此,请使用 omp_get_num_procs()
。通常,拥有比核心更多的线程没有多大意义,但它可以:如果线程中的工作非常不同,或者线程可能因为锁等而暂停,您可以通过拥有更多线程来获得更高的处理器利用率比核心。
定义OMP_NUM_THREADS
环境变量时omp_get_max_threads()
return是否是$OMP_NUM_THREADS
的值?
在我的系统上看起来是这样 (Linux/gcc)。即使 OMP_NUM_THREADS 设置为离谱的高值...
在 main
的开头调用它,即不在任何(嵌套的)平行区域内(如果它有所不同)。
你是对的 omp_get_max_threads()
returns OMP_NUM_THREADS
的值。您可以根据需要将其设置得尽可能高:线程是一种软件结构,与您拥有的内核数量无关。为此,请使用 omp_get_num_procs()
。通常,拥有比核心更多的线程没有多大意义,但它可以:如果线程中的工作非常不同,或者线程可能因为锁等而暂停,您可以通过拥有更多线程来获得更高的处理器利用率比核心。