Есть ли способ ограничить количество ядер процессора, используемых Bazel?



Есть ли способ сказать Bazel при построении, сколько ядер процессора он может использовать?



TL; DR



Я строю TensorFlow на рабочей станции VMware и, будучи виртуальной машиной, могу настроить количество процессоров и ядер для виртуальной машины.



В процессе построения TensorFlow я обнаружил, что использование только одного ядра работает.
Когда я даю рабочей станции четыре ядра и строю TensorFlow, это в конечном счете останавливает систему до точки, которую я должен перезагрузить.



Если я подожду несколько часы (оставьте его в покое на ночь) он иногда возвращается со следующей ошибкой:




Gcc: внутренняя ошибка компилятора: убит (программа cc1plus)




Хотя я могу изменить количество ядер, используя параметры конфигурации виртуальных машин, я предпочел бы сделать это без необходимости выключать и перезапускать виртуальную машину.

315   1  

1 ответ:

Из Руководства Пользователя Bazel

--local_resources availableRAM, availableCPU, availableIO

Этот параметр, который принимает три запятые с плавающей запятой аргументы, определяет количество локальных ресурсов, которые может взять Bazel учитывается при планировании мероприятий по сборке и тестированию. Вариант ожидает объем доступной оперативной памяти (в МБ), Количество ядер процессора (с 1.0 представление одного полного ядра) и ввода-вывода рабочей станции возможность (с 1.0, представляющий среднюю рабочую станцию). По умолчанию Bazel будет оценивать объем оперативной памяти и количество процессорных ядер непосредственно из системы конфигурация и будет предполагать ресурс ввода-вывода 1.0.

Если используется этот параметр, то Bazel проигнорирует оба -- ram_utilization_factor.

Comments

    Ничего не найдено.