【发布时间】:2011-04-28 13:48:27
【问题描述】:
是否有函数或任何其他方式可以通过编程方式知道我的程序的给定线程 (pid) 正在哪个处理器的内核上运行?如果可能的话,OpenMP 或 Pthreads 解决方案都会对我有所帮助。谢谢。
【问题讨论】:
-
OpenMP API 没有为用户提供查找此信息的方法。您可以通过调用 OpenMP 实现所基于的任何内容来获取它。但是,正如已经提到的,除非 OpenMP 线程绑定到特定的处理器(在这种情况下您不需要询问),否则这真的没有多大帮助。否则,操作系统可以随时更改 OpenMP 线程正在使用的处理器。你为什么想要这些信息?
-
为什么?这通常意味着您以错误的方式查看线程...