2016-06-13 648 views
0

我正在用bazel构建syntaxnet(tensorflow fork)。它很慢地工作非常并保持挂断。如何指定bazel使用的CPU内核数量?

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

CPU规格:3.8GHz的时钟,四核

CPU型号:AMD 4800(或类似的规定)。

谢谢!

+0

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

回答

1

我加了--jobs 4,并且设法通过了。它可能与-j4相同。

完整的命令行是:

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

+0

啊,好吧。比--local_resources好多了! –

+0

请注意,根据https://docs.bazel.build/versions/master/bazel-user-manual.html,默认作业值为200.这是bazel的上限,它试图找出并行性可能基于内存,CPU计数等。 – Twirrim

0

答案是你必须在bazel命令后加上--local_resources,然后指定你需要的东西(ctrl + F it here)。