Files
mckernel/test/issues/1439

□ テスト内容

/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