csetshieldは保護されたコアで操作を実行できません。

csetshieldは保護されたコアで操作を実行できません。

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どのコアが使用されているかを確認するために実行中の他の端末を見ています。これをはっきりと示しています。

関連情報