处理器数量

处理器计数(var)

确定处理器/内核的数量并将值保存在 ${var} 中

如果可以确定信息,则将名为 ${var} 的变量设置为机器上可用的物理内核数。否则设置为 0。目前此功能已针对 AIX、cygwin、FreeBSD、HPUX、Linux、macOS、QNX、Sun 和 Windows 实现。

在 3.15 版本发生变更: 在 Linux 上,返回容器 CPU 计数而不是主机 CPU 计数。

如果成功,此函数保证返回正整数 (>=1)。如果在确定处理器数量时出现问题,它会返回 0。

可以通过 cmake_host_system_information 获得更普遍准确的物理 CPU 计数:

cmake_host_system_information(RESULT N
                              QUERY NUMBER_OF_PHYSICAL_CORES)

在 ctest -S 仪表板脚本中使用示例:

include(ProcessorCount)
ProcessorCount(N)
if(NOT N EQUAL 0)
  set(CTEST_BUILD_FLAGS -j${N})
  set(ctest_test_args ${ctest_test_args} PARALLEL_LEVEL ${N})
endif()

此函数旨在提供当前计算机上可用计算核心数的近似值,以便您可以使用该值进行并行构建和并行测试。它旨在帮助尽可能多地利用机器。当然,在决定是否为自己请求一台机器的全部容量时,应该使用关于机器上可能同时运行的其他东西的知识。