3

ハイパースレッディング(ubuntu 12.04)を備えた4つのIntel CPUを搭載したLinuxマシンでATLASを構築するための独立したCPU(アフィニティIDで指定)を決定しようとしています。

私がこれを行っている理由は、ハイパースレッディングを備えたマシンでは物理コアのみを使用するように ATLAS マニュアルに記載されているためです。これを達成する方法については、次のように述べています 。残念ながら、ATLAS は現在これらの機能を自動検出することはできませんが、実験すれば、どのアフィニティ ID が個別のコアであるかを見つけることができます..."

さらに、この実験を実際に行う方法についてのヒントが示されています。

私のマシンでは、ファイル /proc/cpuinfo に 8 つの仮想プロセッサに関する次の情報が含まれています。

    • プロセッサ: 0
    • vendor_id : 純正インテル
    • CPUファミリー: 6
    • モデル : 42
    • モデル名 : Intel(R) Core(TM) i7-2600 CPU @ 3.40GHz
    • ステッピング: 7
    • マイクロコード: 0x1b
    • CPUMHz : 3392.333
    • キャッシュサイズ:8192KB
    • 物理 ID : 0
    • 兄弟 : 8
    • コア ID: 0

...

プロセッサ 0 と 4 は同じコア ID を共有します (プロセッサ 1 と 5、2 と 6、3 と 7 も同様です)。ただし、ATLAS 構成スクリプトに --force-tids="4 0 1 2 3" を指定すると、ビルドが失敗します (make pcheck の失敗によって最初に気づきました)。このフラグを使用しない場合、 http ://sourceforge.net/tracker/?func=detail&aid=3577908&group_id=23725&atid=379483 に示されているように、pcheck が正常に動作します。

実験によって自分のマシンについて少し学ぶ方法を知っている人はいますか?

4

1 に答える 1

0

likwid (http://code.google.com/p/likwid/) を確認してください。これにより、ATLAS が起動するスレッドをシステムの物理コアのみにピン留めできると確信しています。方法はよくわかりませんが、可能です。

于 2012-11-24T17:24:27.170 に答える