tensorflow 是否有办法强制Bazel串行运行测试

8gsdolmq  于 2023-01-09  发布在  其他
关注(0)|答案(4)|浏览(115)

默认情况下,Bazel以并行方式运行测试以加快速度。然而,由于GPU内存限制,我有一个资源(GPU)无法处理并行作业。有没有办法强制Bazel以串行(即非并行)方式运行测试?
谢谢。

6rqinv9w

6rqinv9w1#

--jobs 1将Bazel运行的并行作业数限制为1。
您还可以修改测试目标并添加tags = ["exclusive"],以防止特定测试并行运行(参见http://bazel.io/docs/test-encyclopedia.html)。

q3qa4bjr

q3qa4bjr2#

使用--local_test_jobs=1在本地一次只运行一个测试作业。
要并发运行的本地测试作业的最大数量。可为整数或关键字(“auto”、“HOST_CPUS”、“HOST_RAM”),后面可以跟一个操作([-|*])例如“auto”、“HOST_CPUS*.5”。0表示本地资源将限制并发运行的本地测试作业的数量。将此值设置为大于--jobs的值无效

ht4b089n

ht4b089n3#

Bazel将遵守以下两种资源的限制:RAM和CPU。你可以劫持一个(可能是RAM)来代表GPU,因为它们可用于运行和测试。(我已经停止了有限的硬件资源,因为它感觉不优雅,但我想不出它不应该工作的理由。)

wz3gfoph

wz3gfoph4#

Future releases of Bazel should support extra resources like GPUs
当设置--local_extra_resources=gpu=1时,包含该更改的和发行版应支持额外的资源标签,如“resources:GPU:1”。这应使GPU测试受数量有限的GPU的限制,并使它们以非独占方式运行,而不限制--作业或“test_jobs”的总数

相关问题