Determining the independent CPU's (specified with affinity ID's) for building ATLAS

旧城冷巷雨未停 提交于 2019-12-07 18:07:01

问题


I'm trying to determine the independent CPU's (specified with affinity ID's) for building ATLAS on a linux machine with 4 Intel CPU's with hyperthreading (ubuntu 12.04).

The reason I'm doing this is that the ATLAS manual says to use only the physical cores on machines with hyper threading, on how to achieve this it says: "...you can tell ATLAS to use only the real cores if you learn a little about your machine. Unfortunately, ATLAS cannot presently autodetect these features, but if you experiment you can discover which affinity IDs are the separate cores,..."

Further on a hint is given on how to actually do this experimenting: "...Under Linux, I can discover this with cat /proc/cpuinfo..."

On my machine the file /proc/cpuinfo contains for the eight virtual processors the following information:

    • processor : 0
    • vendor_id : GenuineIntel
    • cpu family: 6
    • model : 42
    • model name : Intel(R) Core(TM) i7-2600 CPU @ 3.40GHz
    • stepping : 7
    • microcode : 0x1b
    • cpu MHz : 3392.333
    • cache size : 8192 KB
    • physical id : 0
    • siblings : 8
    • core id : 0

...

Processors 0 and 4 share the same core id (and so on for processors 1 and 5, 2 and 6, 3 and 7). However if I specify --force-tids="4 0 1 2 3" to the ATLAS configure script the build fails (first noticable for me by a failing make pcheck). If I don't use this flag make pcheck works fine, as indicated here: http://sourceforge.net/tracker/?func=detail&aid=3577908&group_id=23725&atid=379483.

Does anybody know how I can learn a little about my machine by some experimenting?


回答1:


Check out likwid (http://code.google.com/p/likwid/), I'm pretty sure it will allow you to pin the threads that ATLAS fires to only the physical cores of your system. Don't know by hart how, but it can.



来源:https://stackoverflow.com/questions/13525852/determining-the-independent-cpus-specified-with-affinity-ids-for-building-at

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!