在Openmp中有没有办法找出主线程分配到的地方?
In Openmp is there a way to find out the place to which the master thread is assigned?
利用openmp的线程关联机制,主线程被分配到主线程的父线程所在的地方运行(这里的地方集合由OMP_PLACES指定)。据我了解,这实际上意味着 OS 决定了主线程执行的位置。有没有办法从你的 C++ 代码中找到这个主线程绑定到的实际位置或硬件线程?谢谢
omp_get_place_num()
怎么样?
OpenMP specification 状态:
The omp_get_place_num routine returns the place number of the place to
which the encountering thread is bound.
另一种可能性是将 OMP_DISPLAY_AFFINITY
环境变量设置为 true,这将导致显示关联信息。
利用openmp的线程关联机制,主线程被分配到主线程的父线程所在的地方运行(这里的地方集合由OMP_PLACES指定)。据我了解,这实际上意味着 OS 决定了主线程执行的位置。有没有办法从你的 C++ 代码中找到这个主线程绑定到的实际位置或硬件线程?谢谢
omp_get_place_num()
怎么样?
OpenMP specification 状态:
The omp_get_place_num routine returns the place number of the place to which the encountering thread is bound.
另一种可能性是将 OMP_DISPLAY_AFFINITY
环境变量设置为 true,这将导致显示关联信息。