Есть ли способ ограничить количество ядер процессора, используемых Bazel?
Есть ли способ сказать Bazel при построении, сколько ядер процессора он может использовать?
TL; DR
Я строю TensorFlow на рабочей станции VMware и, будучи виртуальной машиной, могу настроить количество процессоров и ядер для виртуальной машины.
В процессе построения TensorFlow я обнаружил, что использование только одного ядра работает.
Когда я даю рабочей станции четыре ядра и строю TensorFlow, это в конечном счете останавливает систему до точки, которую я должен перезагрузить.
Если я подожду несколько часы (оставьте его в покое на ночь) он иногда возвращается со следующей ошибкой:
Gcc: внутренняя ошибка компилятора: убит (программа cc1plus)
Хотя я могу изменить количество ядер, используя параметры конфигурации виртуальных машин, я предпочел бы сделать это без необходимости выключать и перезапускать виртуальную машину.
1 ответ:
Из Руководства Пользователя Bazel
--local_resources availableRAM, availableCPU, availableIO
Этот параметр, который принимает три запятые с плавающей запятой аргументы, определяет количество локальных ресурсов, которые может взять Bazel учитывается при планировании мероприятий по сборке и тестированию. Вариант ожидает объем доступной оперативной памяти (в МБ), Количество ядер процессора (с 1.0 представление одного полного ядра) и ввода-вывода рабочей станции возможность (с 1.0, представляющий среднюю рабочую станцию). По умолчанию Bazel будет оценивать объем оперативной памяти и количество процессорных ядер непосредственно из системы конфигурация и будет предполагать ресурс ввода-вывода 1.0.
Если используется этот параметр, то Bazel проигнорирует оба -- ram_utilization_factor.
Comments