【问题标题】:How do I specify the number of CPU cores bazel uses?如何指定 bazel 使用的 CPU 内核数?
【发布时间】:2016-06-13 11:29:21
【问题描述】:

我正在用 bazel 构建语法网络(tensorflow fork)。它正在非常缓慢地工作并且一直挂断。

上次我遇到这个问题(使用 caffe)时,有人告诉我通过添加 -j4 来更改我正在使用的核心数量。在 bazel 中,此命令不起作用。有这样的 bazel 自定义命令吗?

CPU 规格:3.8GHz 时钟,四核

CPU 型号:AMD 4800(或类似产品)。

【问题讨论】:

  • 它应该默认使用所有核心。 IE,我在 12 核机器上运行它,top 显示 12 个clang 命令并行运行并使用所有 100% CPU,这不是你的情况吗?

标签: tensorflow bazel syntaxnet


【解决方案1】:

我添加了--jobs 4,它成功通过了。大概和-j4一样吧。

完整的命令行是:

bazel test --jobs 4 --genrule_strategy=standalone syntaxnet/... util/utf8/... 

【讨论】:

【解决方案2】:

正如Guy Coderanswer 中描述的类似问题,请尝试--local_resources。在我有限的经验中,Bazel 似乎消耗了我设置的内核数量的大约两倍,有时会消耗所有内核数秒。即使使用bazel test -c opt --local_resources 20000,1,0.25,我也看到我的系统负载很大。 (以下是他的回答)

来自Bazel User Manual

--local_resources 可用RAM,可用CPU,可用IO

这个选项,它接受三个逗号分隔的浮点数 参数,指定 Bazel 可以占用的本地资源量 在安排构建和测试活动时考虑。选项 期望可用 RAM 量(以 MB 为单位),CPU 内核数(1.0 代表单个完整核心)和工作站 I/O 能力(具有 1.0 代表平均工作站)。默认情况下,Bazel 将直接从系统估计 RAM 的数量和 CPU 内核的数量 配置并假定 1.0 I/O 资源。

如果使用此选项,Bazel 将忽略两者 --ram_utilization_factor.

【讨论】:

    猜你喜欢
    • 2016-04-17
    • 1970-01-01
    • 2022-09-18
    • 1970-01-01
    • 1970-01-01
    • 2018-12-15
    • 1970-01-01
    • 2020-01-07
    • 1970-01-01
    相关资源
    最近更新 更多