Есть ли способ ограничить количество ядер процессора, используемых 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.