Gpu-Utils:Gpu分析和分配的简单工具
gpuutils的Python项目详细描述
GpuUtils
在具有多个gpu的共享环境中工作可能会有问题。高级框架采用贪婪的方法,它们倾向于分配系统的所有gpu和内存。GpuUtils帮助您找到系统上要分配的最佳GPU。它还以结构格式提供与gpu相关的信息。在
安装
安装gpuutil最简单的方法是通过PyPI安装它。在
pip install gpuutils
分析系统
在命令提示符中运行nvidia smi命令允许用户监视与GPU相关的信息,如内存和利用率。在此,系统分析功能将GPU相关信息加载到pandas数据帧或json数组中。在
^{pr2}$系统分析的默认配置返回Pandas数据帧。在
gpu_index | total_memories_in_mb | available_memories_in_mb | memory_usage_percentage | utilizations | power_usages_in_watts | power_capacities_in_watts |
---|---|---|---|---|---|---|
1 | 32480 | 32469 | 0.0339 | 0 | 43 | 300 |
2 | 32480 | 32469 | 0.0339 | 0 | 43 | 300 |
3 | 32480 | 32469 | 0.0339 | 0 | 44 | 300 |
4 | 32480 | 32469 | 0.0339 | 0 | 43 | 300 |
5 | 32480 | 32469 | 0.0339 | 0 | 43 | 300 |
6 | 32480 | 32469 | 0.0339 | 0 | 43 | 300 |
7 | 32480 | 32469 | 0.0339 | 0 | 43 | 300 |
0 | 32480 | 31031 | 4.4612 | 7 | 56 | 300 |
分配
gpuutil也可以分配gpu。调用分配函数直接查找可用的gpu并根据您的需求进行分配。在
fromgpuutilsimportGpuUtilsGpuUtils.allocate()#this tries to allocate a GPU having 1GB memory#GpuUtils.allocate(required_memory = 10000)#GpuUtils.allocate(required_memory = 10000, gpu_count=1)
避免贪婪的做法
像TensorFlow这样的高级框架倾向于分配所有内存。如果在allocate函数中传递framework参数,则可以避免这种方法。这样,框架将根据需要使用gpu内存。目前,allocate function支持keras和tensorflow框架。在
GpuUtils.allocate(framework='keras')
支持
有很多方法可以支持一个项目-主演⭐️GitHub回购只是其中之一。在
许可证
GpuUtils是在MIT许可下授权的-有关详细信息,请参阅^{
- 项目
标签: