Spec-Zone.ru › CMake 3.29

ProcessorCount

ProcessorCount(var)

Определить количество процессоров/ядер и сохранить значение в ${var}

Устанавливает переменную с именем ${var} в значение количества физических ядер, доступных на компьютере, если эта информация может быть определена. В противном случае она устанавливается в 0. В настоящее время эта функциональность реализована для AIX, cygwin, FreeBSD, HPUX, Linux, macOS, QNX, Sun и Windows.

Изменено в версии 3.15: В Linux возвращает количество процессоров контейнера вместо количества процессоров хоста.

Эта функция гарантированно возвращает положительное целое число (>=1), если успешно выполнена. Она возвращает 0, если возникла проблема с определением количества процессоров.

Более точное значение физического количества CPU можно получить с помощью 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–2024 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.29/module/ProcessorCount.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API