Der*_*unk 5 linux parallel-processing cpu-architecture
我是Intel(R)Core(TM)2 Duo CPU T6600 @ 2.20GHz(正如我所告诉的那样cat /proc/cpuinfo),但我需要尽可能深入地重新考虑.从事并行编程的架构(可能使用pthreads).有什么指针吗?
Ale*_*own 10
sys文件系统知道所有这些:
$ ls /sys/devices/system/cpu
cpu0 cpu2 cpuidle possible sched_mc_power_savings
cpu1 cpu3 online present
$ ls /sys/devices/system/cpu/cpu0/topology/
core_id core_siblings_list thread_siblings
core_siblings physical_package_id thread_siblings_list
Run Code Online (Sandbox Code Playgroud)
这是文档
使用这个文件系统,您可以了解您拥有多少CPU,拥有多少线程,哪些CPU与其他cpu相邻,以及哪些CPU与其他CPU共享高速缓存.
例如 - 问:哪些CPU使用cpu0共享它的L2缓存?
$ cat /sys/devices/system/cpu/cpu0/cache/index2/{type,level,shared_cpu_list}
Unified
2
0-1
Run Code Online (Sandbox Code Playgroud)
答:它与cpu1(和它自己)共享它的统一L2缓存.
另一个例子:问:哪些CPU与cpu0在同一物理包中(在较大的机器上):
cat /sys/devices/system/cpu/cpu0/topology/core_siblings
00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000055
Run Code Online (Sandbox Code Playgroud)
答:核心0,2,4和6.(取自上面的位模式,lsb = cpu0)
并非所有的Linux系统都有sys文件系统,并且它并不总是在root中.(可能在proc/sys中?).thread_siblings_list表单并不总是可用,但是thread_siblings(位模式)是.
| 归档时间: |
|
| 查看次数: |
1881 次 |
| 最近记录: |