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