我想知道使用Python的本地机器上的CPU数量.当使用最佳扩展用户空间程序调用时,结果应该是user/real输出time(1).
据推测,有一个库或简单的asm blob可以获取我正在执行的当前CPU的编号.
当我cat /proc/cpuinfo,我看到8个内核,用的ID从0到7.
是否有一条x86指令将报告指令本身正在运行的核心的核心ID?
我看了一下,cpuid但似乎没有coreid在任何参数设置下返回.
我在尝试着:
使用处理器固定同时运行16个副本(每个核心2个副本)
在处理器固定(每个核心2个副本)的同时运行8个副本,并在某个功能说功能1完成后将处理器核心翻转到最远的核心.
我面临的问题是如何选择最远的处理器.
有些朋友建议使用sched_getaffinity和sched_setaffinity,但我认为没有找到任何好的例子.
是sched_setaffinity或pthread_attr_setaffinity_np将在OpenMP下设置线程亲和力?
相关:CPU亲和力
我如何知道在C程序中,我的代码运行在哪个物理处理器和核心上?我正在使用Linux和gcc 4.4.3.
我有一个服务器进程,它会分叉许多子进程.服务器进程与CPU核心具有亲缘关系,但我不希望子进程继承该亲和性(而OS应该处理运行这些进程的位置).有没有办法将父子进程与cpu亲和关系脱钩?
我正在开发一个项目来衡量一些代码模式对CPU的影响.为此,我需要在CPU上运行我的进程并停止CPU上的所有其他进程以查看我的进程的实际效果.
另外,我需要在CPU的1个核心上运行我的进程.任何人都可以帮助如何在C++中做到这一点?
可能重复:
CPU亲和力
我正在Linux上运行,我想编写一个C++程序,它将设置2个特定处理器,这两个处理器将并行运行(即设置每个进程在不同的核心/ CPU上运行).我想在C++中使用处理器关联工具.请任何人都可以帮助C++代码.
使用C编程语言,制作多核Red Hat Linux处理器的最佳方法是什么,在测试应用程序中只使用一个核心?