Intel r xeon r cpu w3565 システムを持っています。その上で64ビットのWindows 7を実行しています。
グループを認識しない場合、タスク マネージャーは必要に応じて 8 つの論理コア (4 コアと 8 スレッド) を表示します。
それぞれ 2 つのプロセッサーを持つ 4 つのグループが必要な場合は、次のようにします。
bcdedit/set groupssize 2 して、マシンを再起動しました。それぞれ 2 つの論理プロセッサを持つ 2 つのグループを確認できました。小さなテスト プログラムも実行しました。
#include <windows.h>
#include <stdio.h>
int main(int argc, char *argv[]) {
WORD numProcs = 0,i;
int sum=0;
numProcs = GetActiveProcessorGroupCount();
for(i=0;i<numProcs;i++)
{
int procs;
procs =GetActiveProcessorCount(i);
printf("\ngroup %d count :%d\n",i,procs);
sum += procs;
}
printf("numProcs: %d\n", sum); char abc; scanf("\n%c",&abc);
return 0;
}
これにより、コア数も 4 になりました。以前は 8 でした (グループ認識なし)。
グループ サイズを 4 に設定すると、それぞれ 4 つのコアを持つ 2 つのグループが得られます。今回のテスト プログラムの出力は 8 です。
次に、groupsize を 1 に設定し、今回も各コアに 1 つの論理コアを持つ 2 つのグループを取得しました。
実際にはドキュメンテーションでグループ数を 4 まで拡張できると記載されているのに、Windows がグループ数を 4 に拡張できない理由を理解できません。
ここで何が欠けているのか分かりますか?