gpu使用

工具1
pip install gpustat
gpustat --watch

可查看用户和gpu显存使用情况
输出结果如下:

[0] GeForce RTX 3090 | 29’C, 0 % | 23007 / 24268 MB | user(255M) root(3419M) sunlei(19331M)
[1] GeForce RTX 3090 | 24’C, 0 % | 17096 / 24268 MB | root(4007M) root(6337M) root(6337M) sunlei(413M)
[2] GeForce RTX 3090 | 21’C, 0 % | 14909 / 24268 MB | liuhongyu(253M) liuhongyu(253M) maxianqin(3831M) maxianqin(4133M) root(3703M) root(2321M) sunlei(413M)
[3] GeForce RTX 3090 | 26’C, 0 % | 7341 / 24268 MB | maxianqin(3831M) sunlei(413M) liqingxiao(3095M)
[4] GeForce RTX 3090 | 22’C, 0 % | 11459 / 24268 MB | maxianqin(6857M) maxianqin(4187M) sunlei(413M)
[5] GeForce RTX 3090 | 22’C, 0 % | 13843 / 24268 MB | maxianqin(6557M) maxianqin(6871M) sunlei(413M)
[6] GeForce RTX 3090 | 61’C, 88 % | 7710 / 24268 MB | zourui(7295M) sunlei(413M)
[7] GeForce RTX 3090 | 24’C, 0 % | 14690 / 24268 MB | root(3725M) root(6637M) root(3913M) sunlei(413M)

【工具2】https://github.com/anderskm/gputil
pip install gputil

import GPUtil
deviceIDs = GPUtil.getAvailable(
order = ‘memory’,
limit = 3,
maxLoad = 0.5,
maxMemory = 0.5,
includeNan=False,
excludeID=[],
excludeUUID=[]
)

【参数说明】
order - 选择顺序:
‘first’ - 设备ID升序 (defaut)
‘last’ - 设备ID降序
‘random’ - 随机排序
‘load’ - GPU负载率升序
‘memory’ - 显存占用率升序
limit - 返回的GPU个数,默认是1
maxLoad - 不返回负载率大于maxLoad的gpu,默认0.5
maxMemory - 不返回显存占用率大于maxMemory的gpu,默认0.5
includeNan - 是否包括GPU负载或显存使用率为NaN的GPU
excludeID - 需要排除的GPU索引列表
excludeUUID - 需要排除的GPU UUID列表


提示:如果出现terminfo database相关报错,把👇加到.bashrc即可
export TERMINFO=/usr/share/terminfo

“”"

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SIFTGPU是一个用于实现尺度不变特征变换(Scale-Invariant Feature Transform,SIFT)的GPU加速库。下面是一些基本的使用教程: 1. 安装SIFTGPU:你可以从 https://github.com/pitzer/SIFTGPU 下载SIFTGPU的源代码。根据该项目中的安装说明,编译并安装SIFTGPU库。 2. 导入SIFTGPU库:在你的项目中,导入SIFTGPU库的头文件,并链接SIFTGPU的库文件。 3. 初始化SIFTGPU:在你的代码中,使用以下代码初始化SIFTGPU: ```cpp #include <GL/glew.h> #include <GL/glut.h> #include <SiftGPU.h> SiftGPU sift; int width = 640, height = 480; int main(int argc, char *argv[]) { // 初始化OpenGL上下文 glutInit(&argc, argv); glutInitDisplayMode(GLUT_RGBA | GLUT_DOUBLE | GLUT_DEPTH); glutInitWindowSize(width, height); glutCreateWindow("SIFTGPU"); // 初始化SIFTGPU if (sift.CreateContextGL() != SiftGPU::SIFTGPU_FULL_SUPPORTED) { printf("SIFTGPU is not supported!\n"); return 1; } // 设置SIFTGPU参数 sift.SetVerbose(true); sift.SetOuputFormat(SiftGPU::SIFTGPU_SIFT); sift.VerifyContextGL(); // ...其他操作 return 0; } ``` 4. 加载图像数据:使用以下代码将图像数据传递给SIFTGPU进行处理: ```cpp // 设置图像尺寸 sift.SetImageSize(width, height); // 加载图像数据 unsigned char* imageData = new unsigned char[width * height * 3]; // ...从文件或其他方式获取图像数据并存储到imageData中 // 传递图像数据给SIFTGPU sift.RunSIFT(width, height, imageData, GL_RGB, GL_UNSIGNED_BYTE); ``` 5. 提取特征点:使用以下代码提取图像中的特征点: ```cpp int numFeatures = sift.GetFeatureNum(); // 为特征点分配内存 float* featureData = new float[numFeatures * 128]; // 提取特征点 sift.GetFeatureVector(featureData); // 遍历特征点并进行处理 for (int i = 0; i < numFeatures; ++i) { // 获取特征点的关键信息(位置、尺度、方向等) SiftGPU::SiftKeypoint& keypoint = sift.GetFeature(i); // ...在这里可以对每个特征点进行处理 } // 释放内存 delete[] featureData; ``` 这只是一个简单的SIFTGPU使用教程,更详细的用法可以参考SIFTGPU的文档和示例代码。希望对你有帮助!如果你有更多问题,可以继续问我。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值