我们最近购买了配备两个Xeon 6138 Gold CPU的双处理器Dell工作站。每个CPU有20个物理核心(40个逻辑核心),因此总共有40个物理核心或80个逻辑核心。
使用双引导设置在该计算机上安装了Linux Fedora和Windows 10 Professional。请注意,我自己尚未安装此机器。
Windows任务管理器正确显示80个逻辑核心。在/ proc下查看时,这80个内核在Linux上也可用。
在Linux上运行PBRT(https://www.pbrt.org/)时,该应用程序正确使用(并饱和了)80个内核。
但是,在Windows上,该进程仅使用了80个逻辑核心中的40个。我尚未检查,但是我很确定PBRT使用std :: thread :: hardware_concurrency(), 这是确定内核数的好方法。如果由于命令行选项而使PBRT强制使用80个线程,则Windows任务管理器不会显示所有内核都已饱和。只有一半是。在我看来,一个Windows进程无法使用全部80个逻辑内核。
这是Windows的限制吗?这真令人惊讶。
我是否应该安装特定版本的Windows,以确保所有内核都可用于单个进程?