Tensorflow 如何指定bazel使用的CPU核数?
我正在用bazel构建syntaxnet(tensorflow fork)。它工作得很慢,一直挂断 上次我遇到这个问题(与caffe)时,有人告诉我通过添加Tensorflow 如何指定bazel使用的CPU核数?,tensorflow,bazel,syntaxnet,Tensorflow,Bazel,Syntaxnet,我正在用bazel构建syntaxnet(tensorflow fork)。它工作得很慢,一直挂断 上次我遇到这个问题(与caffe)时,有人告诉我通过添加-j4来更改正在使用的内核数。在巴泽尔,这个命令不起作用。有这样的bazel自定义命令吗 CPU规格:3.8ghz时钟,四核 CPU型号:AMD4800(或者类似的型号)。我添加了--jobs 4,它成功通过了。它可能与-j4相同 完整的命令行是: bazel test --jobs 4 --genrule_strategy=standalo
-j4
来更改正在使用的内核数。在巴泽尔,这个命令不起作用。有这样的bazel自定义命令吗
CPU规格:3.8ghz时钟,四核
CPU型号:AMD4800(或者类似的型号)。我添加了--jobs 4
,它成功通过了。它可能与-j4
相同
完整的命令行是:
bazel test --jobs 4 --genrule_strategy=standalone syntaxnet/... util/utf8/...
如类似问题的答案中所述,请尝试--local\u resources
。在我有限的经验中,Bazel消耗的核心数似乎是我设置的核心数的两倍,有时会消耗所有核心数秒。即使使用bazel test-c opt--local_resources 20000,1,0.25
我也看到我的系统上有很大的负载。(以下是他的答案)
从
availableRAM,availableCPU,availableIO
此选项采用三个逗号分隔的浮点
参数,指定Bazel可以占用的本地资源量
在安排构建和测试活动时考虑。选项
预计可用RAM的数量(MB),CPU核的数量(1.0
表示单个完整内核)和工作站I/O功能(带
1.0表示平均工作站)。默认情况下,Bazel将直接从系统中估计RAM的数量和CPU内核的数量
配置,并将采用1.0 I/O资源
如果使用此选项,Bazel将忽略这两个选项
--内存利用率
默认情况下,它应该使用所有内核。也就是说,我在12核机器上运行它,
top
显示12个clang
命令并行运行,并使用所有100%的CPU,这不适合你?啊,好的。比本地资源好得多!!请注意,根据默认作业,值为200。这是bazel的一个上限,它试图根据内存、cpu计数等计算出什么样的并行性是可能的。