get_one_cpu_topology: Renumber core_id (physical core id)

Change-Id: I4e4857e9a063d16d19d73adfabfc18a4b461bbfb
Refs: #1439
This commit is contained in:
Toshiyuki Takahashi
2020-02-14 11:27:49 +09:00
committed by Masamichi Takagi
parent bb7e140655
commit 0a4e6b49b4
10 changed files with 536 additions and 1 deletions

50
test/issues/1439/README Normal file
View File

@@ -0,0 +1,50 @@
□ テスト内容
/sys/devices/system/cpu/cpuX/topology/core_idについて、以下を確かめる。
(A) 物理コア番号の振り方について以下を確かめる
1) 物理コアの第1の論理コアのcore_idはCPU番号(=cpu_id)と一致する
2) 論理コアのcore_idは、それが属する物理コアの第1の論理コアのcore_idと一致する
(B) McKernelがcpu_idをrenumberすることによる悪影響がないか確認する
1) 富士通OpenMPで、OMP_PROC_BINDの
close物理コアをラウンドロビンで選ぶ
spreadCPUトポロジ上なるべく離れるように配置する
について、期待通りのバインディングになることを確認する
なお、apolloでのテストでは、OMP_NUM_THREADSは2から物理コア数*2の間で、
OMP_NUM_THREADSと物理コア数のうち、大きいほうが小さい方で
割り切れる関係にあるものに設定した。
□ 実行手順
(1) $HOME/.mck_test_configを、MCK_DIRがMcKernelのインストール先を指すように編集する
(2) apolloログインードにおいて一般ユーザで以下のコマンドを実行し、
富士通コンパイラでテストに使うOpenMPアプリケーションバイナリを作成する。
  ソースコードはmckernelユーザでcheckoutしていると思われるが、その場合、
本ディレクトリを、その一般ユーザが書き込めるようにwrite permissionを
つけておく必要がある。
$ make
(3) (2)で作られたバイナリを(mckernelユーザの)apolloの計算ードにて
動かすために、富士通コンパイラのDLLを当該ユーザが読める場所に
コピーして、その場所にLD_LIBRARY_PATHを通す。
コピー元のディレクトリは富士通コンパイラ0.36では以下のディレクトリである。
/usr/local/FJSVxtclang/fujitsu_compilers_sve_own_20191226/sve_own/lib64
(4) apolloの計算ードにおいてmckernelユーザで以下のコマンドを実行し、
(A)(B)のテストを実行する。
$ make test-core # .... (A)
$ make test-omp # .... (B)
□ 確認方法
(A) (B) いずれにおいてもSUCCESSが出力され、FAILが出力されていないこと。
サンプル出力は以下のとおり
(A) aarch64_result_core.log
(B) aarch64_result_omp.log