22

使用できる CPU コアの数をビルドするときに Bazel に通知する方法はありますか?

TL;DR

私は VMware Workstation で TensorFlow を構築し、仮想マシンであるため、仮想マシンのプロセッサとコアの数を調整できます。

TensorFlow を構築する過程で、コアを 1 つだけ使用しても機能することがわかりました。Workstation に 4 つのコアを与えて TensorFlow をビルドすると、最終的にシステムが停止し、再起動が必要になります。

数時間待つと(一晩そのままにしておきます)、次のエラーが返されることがあります。

gcc: 内部コンパイラ エラー: 強制終了 (プログラム cc1plus)

仮想マシンの構成オプションを使用してコア数を変更することはできますが、仮想マシンをシャットダウンして再起動せずに変更したいと考えています。

4

2 に答える 2

20

.bazelrc の例

build --local_ram_resources=HOST_RAM*.5 --local_cpu_resources=HOST_CPUS-1 (leave one core free)

また

build --local_cpu_resources=1 (use a single core)

https://docs.bazel.build/versions/master/command-line-reference.html#flag--local_cpu_resourcesを参照してください

現在受け入れられている回答は非推奨です。

于 2020-08-07T21:29:14.073 に答える
16

Bazelユーザーマニュアルより

--local_resources availableRAM、availableCPU、availableIO

このオプションは、コンマで区切られた 3 つの浮動小数点引数を取り、ビルドおよびテスト アクティビティをスケジュールするときに Bazel が考慮することができるローカル リソースの量を指定します。オプションでは、使用可能な RAM の量 (MB 単位)、CPU コアの数(1.0 はシングル フル コアを表す)、およびワークステーション I/O 機能 (1.0 は平均的なワークステーションを表す) を想定しています。デフォルトでは、Bazel は RAM の量と CPU コアの数をシステム構成から直接推定し、1.0 I/O リソースを想定します。

このオプションを使用すると、Bazel は両方の --ram_utilization_factor を無視します。

于 2016-01-13T12:36:37.017 に答える