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