ProcessorCount
ProcessorCount(var)
Определение числа процессоров/ядер и сохранение значения в ${var}
Устанавливает переменную с именем ${var} в число физических ядер, доступных на компьютере, если информация может быть определена. В противном случае она устанавливается в 0. В настоящее время эта функциональность реализована для AIX, cygwin, FreeBSD, HPUX, Linux, macOS, QNX, Sun и Windows.
Изменено в версии 3.15: В Linux возвращает количество ЦП контейнера вместо количества ЦП хоста.
Эта функция гарантированно возвращает положительное целое число (>=1), если она выполняется успешно. Она возвращает 0, если возникла проблема с определением количества процессоров.
Пример использования в скрипте панели мониторинга 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()
Эта функция предназначена для приблизительного определения значения числа доступных вычислительных ядер на текущем компьютере, чтобы вы могли использовать это значение для параллельного построения и параллельного тестирования. Она предназначена для помощи в максимально возможном использовании ресурсов компьютера. Конечно, знание того, что ещё может выполняться на компьютере одновременно, должно использоваться при решении вопроса о том, следует ли запрашивать полную мощность компьютера только для себя.
© 2000–2021 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.22/module/ProcessorCount.html