51 lines
2.4 KiB
Plaintext
51 lines
2.4 KiB
Plaintext
□ テスト内容
|
||
|
||
/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(物理コアをラウンドロビンで選ぶ)と
|
||
spread(CPUトポロジ上なるべく離れるように配置する)
|
||
について、期待通りのバインディングになることを確認する
|
||
なお、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
|