Нижняя строка: Установите KMP_WARNINGS
envvar в ложное значение (0
, FALSE
, off
или no
).
(Если вы используетенастройка нескольких процессов, обязательно сделайте это, прежде чем создавать дочерние процессы, чтобы они унаследовали их.)
Поиск в Google "Affinity capable, using global cpuid leaf"
(с кавычками - то есть как полная фраза) находит https://github.com/catboost/catboost/blob/master/contrib/libs/cxxsupp/openmp/i18n/en_US.txt.Это часть реализации OpenMP.Этот код не является частью тензорного потока (и поиск в https://github.com/tensorflow/tensorflow специально для фразы или ссылки на подмодуль с именем "openmp" ничего не находит), но это понятно, поскольку OpenMP является частью реализации компилятора (этот файл специальноутверждает, что является частью LLVM - то есть clang
).Этот код может быть не совсем тем, что использует ваша программа, но другой версией, но мы можем предположить, что общая логика та же самая, поэтому мы можем использовать этот код для навигации.
Теперь, поискдля ссылок на сущность, содержащую эту фразу (а именно AffUseGlobCpuidL11
- это идентификатор сообщения), , затем для определения KMP_INFORM
, , затем для определенияиз __kmp_msg
в конечном итоге находит код, выполняющий ведение журнала . В сообщении говорится, что оно только заставляет замолчать сообщение if ( severity != kmp_ms_fatal && __kmp_generate_warnings == kmp_warnings_off )
.Просматривая ссылки на __kmp_generate_warnings
, чтобы найти, где ему назначены, находит https://github.com/catboost/catboost/blob/15712cfa704413d51618455326c30f5764956be5/contrib/libs/cxxsupp/openmp/kmp_settings.c#L944 и ищет __kmp_stg_parse_warnings
находок https://github.com/catboost/catboost/blob/15712cfa704413d51618455326c30f5764956be5/contrib/libs/cxxsupp/openmp/kmp_settings.c#L4514, который предполагает, что name
равен "KMP_WARNINGS"
.
AtВ этот момент я предположил, что это имя должно быть задокументированоТак что поиск в Google скажет мне быстрее, как пользователь должен установить «KMP_WARNINGS» и каковы допустимые значения для него.Я был разочарован - нет официальной документации . Другой результат предполагает, что это envvar, и допустимые значения: "Использовать" 0 "," FALSE "." .F. "," Off "," no "в качестве ложных значений,«1», «TRUE», «.T.», «On», «yes» в качестве истинных значений. « Исходный код также использует kmp_warnings_low
в качестве возможного значения, но имя __kmp_stg_parse_bool
предполагает, что нетпользователь может предоставить только «истинное» и «ложное» значение, ничего больше.Приведенный выше критерий фильтра говорит, что ничего, кроме kmp_warnings_off
, в любом случае не будет иметь эффекта, а https://github.com/catboost/catboost/blob/15712cfa704413d51618455326c30f5764956be5/contrib/libs/cxxsupp/openmp/kmp_global.c#L116 говорит, что low
является значением по умолчанию, если пользователь ничего не предоставил.