x86-64(4コア)とUbuntu 22.04のシールドコアでベンチマークを実行しようとしています。シールドコア3が正常に実行されます。
paul@cube-ubuntu-22:~/simd-agner/build$ sudo cset shield -c 3
cset: --> activating shielding:
cset: moving 714 tasks from root into system cpuset...
[==================================================]%
cset: "system" cpuset of CPUSPEC(0-2) with 714 tasks running
cset: "user" cpuset of CPUSPEC(3) with 0 tasks running
ただし、ベンチマークを実行しようとすると失敗します。
paul@cube-ubuntu-22:~/simd-agner/build$ cset shield -e ./bench-native-icx
cset: **> 1 tasks are not movable, impossible to move
cset: --> last message, executed args into cpuset "/user", new pid is: 10578
そして、ベンチマークはコア3ではなくコア1で実行されます。以下を使用しても問題ありませんtaskset
。
taskset -c 3 ./bench-native-icx
期待どおりにコア 3 でベンチマークを実行します。watch grep \"cpu MHz\" /proc/cpuinfo
どのコアが使用されているかを確認するために実行中の他の端末を見ています。これをはっきりと示しています。