本文介绍了确定用于构建ATLAS的独立CPU(指定有相似性ID)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试确定用于在具有4个具有超线程功能的Intel CPU(ubuntu 12.04)的Linux机器上构建ATLAS的独立CPU(指定有相似性ID).

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).

之所以这样做,是因为ATLAS手册规定仅在具有超线程的计算机上使用物理内核,并说明如何实现:"...如果您了解了一些相关知识,则可以告诉ATLAS仅使用真正的内核.不幸的是,ATLAS目前无法自动检测这些功能,但是如果您进行实验,您会发现哪些亲和力ID是单独的核心,..."

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,..."

进一步给出了有关如何实际进行此实验的提示:.在Linux下,我可以使用cat/proc/cpuinfo ...发现它."

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

在我的计算机上,文件/proc/cpuinfo包含八个虚拟处理器的以下信息:

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

    • 处理器:0
    • vendor_id:正版英特尔
    • cpu家庭:6
    • 型号:42
    • 型号名称:Intel(R)Core(TM)i7-2600 CPU @ 3.40GHz
    • 步进:7
    • 微码:0x1b
    • cpu MHz:3392.33
    • 缓存大小:8192 KB
    • 物理ID:0
    • 兄弟姐妹:8
    • 核心ID:0
    • 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

...

处理器0和4共享相同的内核ID(对于处理器1和5、2和6、3和7依此类推).但是,如果我在ATLAS配置脚本中指定--force-tids ="4 0 1 2 3",则构建会失败(首先,make pcheck失败会引起我的注意).如果我不使用此标志,则使pcheck正常运行,如下所示: http://sourceforge.net/tracker/?func=detail&aid=3577908&group_id=23725&atid=379483 .

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?

推荐答案

查看likwid(http://code.google.com/p/likwid/),我很确定它将允许您固定线程ATLAS仅向您系统的物理核心触发.哈特不知道如何,但是可以.

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.

这篇关于确定用于构建ATLAS的独立CPU(指定有相似性ID)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-29 06:02