一个简单的工具,用于显示指定数量的GPU,并在TensorFlow中显示所需的内存
mask-gpu的Python项目详细描述
屏蔽GPU
一个简单的工具,只向tensorflow公开具有所需内存的指定数量的gpu(以及更多的应用程序,请进一步阅读)。此工具使用nvidia-smi
查询GPU可用内存值,并基于指定的内存和要公开的GPU数分配CUDA_VISIBLE_DEVICES
环境变量以公开特定的GPU。像tensorflow-gpu
这样的应用程序使用这些信息,并且只使用公开的gpu。如果你的应用程序没有使用CUDA_VISIBLE_DEVICES
,那么这可能是not你需要的。
依赖关系
- 英伟达SMI
安装
pip install mask-gpu
快速启动
显示可用的GPU信息
mask-gpu --info # Outputs the following# Finding GPUs with a minimum of 1024MiB free memory...# GPUs available: 6 -> [0, 1, 4, 5, 6, 7]
只需运行mask-gpu
即可公开1个GPU(至少有1024兆字节的可用内存)
`mask-gpu`# Remember to wrap mask-gpu in ` symbol# Or else mask-gpu will print the command# and you will have to manually execute it
指定选项
默认情况下,mask-gpu
Seraches for GPU具有至少1024M的可用内存,并分配1个GPU
mask-gpu --info --min_memory 1024# mask-gpu -i -m 1024 <--- Same as above# Info does not execute any commands`mask-gpu --expose 1 --min_memory 1024`# `mask-gpu -e 3 -m 1024` <--- Same as above# Remember to wrap mask-gpu in ` symbol
您可以使用上面的模板指定自己的选项
全部取消屏蔽(还原)
取消所有GPU的屏蔽,即恢复到使用mask-gpu
之前的状态
`mask-gpu --unmask-all`# `mask-gpu -u` <--- Same as above# Remember to wrap mask-gpu in ` symbol
注意:此命令将清除CUDA_VISIBLE_DEVICES
,因此在执行上述命令时将被删除
许可证
麻省理工学院的执照
版权所有(c)2019 Saravanabalagi Ramachandran
兹免费准许任何人取得副本 本软件和相关文档文件(“软件”)的 在软件中不受限制,包括但不限于 使用、复制、修改、合并、发布、分发、再授权和/或出售 软件的副本,并允许软件的用户 在满足以下条件的情况下,可以这样做:
上述版权公告及本许可公告须包括在 软件的所有副本或大部分。
本软件按“原样”提供,无任何形式的保证,明示或 默示的,包括但不限于适销性保证, 适合特定目的和不侵权。在任何情况下 作者或版权所有者应对任何索赔、损害或其他 责任,无论是在合同诉讼、侵权诉讼或其他诉讼中, 不属于或与软件、使用或其他交易有关 软件。