默认情况下,Bazel 以并行方式运行测试以加快速度。但是,由于 GPU 内存限制,我有一个资源 (GPU) 无法处理并行作业。有没有办法强制 Bazel 以串行方式(即非并行方式)运行测试?
谢谢。
默认情况下,Bazel 以并行方式运行测试以加快速度。但是,由于 GPU 内存限制,我有一个资源 (GPU) 无法处理并行作业。有没有办法强制 Bazel 以串行方式(即非并行方式)运行测试?
谢谢。
--jobs 1
将 Bazel 运行的并行作业数限制为 1。
您还可以修改测试目标并添加tags = ["exclusive"]
以防止特定测试并行运行(请参阅http://bazel.io/docs/test-encyclopedia.html)。
用于--local_test_jobs=1
在本地一次仅运行一个测试作业。
同时运行的本地测试作业的最大数量。接受一个整数或一个关键字(“auto”、“HOST_CPUS”、“HOST_RAM”),可选地后跟一个操作([-| ]),例如。“自动”、“HOST_CPUS .5”。0 表示本地资源将限制本地测试作业的数量同时运行。将此值设置为大于 --jobs 的值是无效的
tags = ["exclusive"]
在缓存方面还有其他复杂性需要考虑。--jobs
将序列化整个构建过程,而不仅仅是测试,所以它不太理想。