如何优雅的抢占别人的显卡?

简介: 如何优雅的抢占别人的显卡?

先祝大家圣诞快乐,周末玩的开心。

但开心的同时也别忘了把模型训起来哦,通常一训就要好几天,不如花个几分钟先运行起来,周末结束不就能直接收菜了嘛!

但当你兴高采烈登上服务器,一看显卡全部被占满,这你总不能一直盯着别人的程序跑结束,然后赶紧跑你的程序吧,那岂不是要累死。

所以,我给大家写了一个抢占GPU的脚本,只需要花几秒钟运行一下就可以关机去玩了,卷死别人!

有人可能会说,网上抢占的脚本多的是啊,你这有啥区别?区别就是,我这是C++写的,给你也编译好了,不像Python还需要装各种包,我这可以直接运行,非常方便,此外功能也比较人性化。

做人留一线,日后好相见,记得给别人留两张卡,做的别太绝了!

抢占脚本说明

脚本我已经开源了:

https://github.com/godweiyang/GrabGPU

你也可以直接下载下面这个可执行文件:

https://github.com/godweiyang/GrabGPU/blob/master/grab_gpu

目前这个脚本可以指定如下参数:

  • 抢占的显存大小。如果空闲的显存超过这个大小,就抢占成功,否则无限循环抢占。
  • 占有的时间。如果抢占到了,你想占有的时间。如果运行你自己的程序,这个参数无效。
  • 显卡ID。支持多卡,你想抢占哪几张卡。
  • 你自己程序的执行脚本路径(可选)。你可以选择抢占到显卡后,执行你自己的程序,例如模型训练代码。你也可以不指定,这样默认使用我提供的程序,一直把卡占着,别人也用不了。

实际应用举例

举两个实际场景中的例子。

第一个场景,你实验室服务器有8张32GB显存的显卡,但是都被人占满了,你想等他运行完就立刻占住跑你自己的程序gpu.sh,那么可以直接执行下面命令:

./grab_gpu 31 24 -1 gpu.sh

这里有四个参数,31表示每张卡要抢占31GB,24表示抢到后占有24小时(在运行自己程序脚本时无效),-1表示抢占全部8张显卡,gpu.sh是你程序的执行脚本。

第二个场景,你现在也没啥程序想跑的,但就想在服务器空闲的时候占住显卡,防止别人抢了,那你可以执行下面命令:

./grab_gpu 31 24 -1

和第一个场景区别就是没有run.sh了,这时就会执行我提供的默认CUDA程序,显卡利用率会保持在较高水平,同时执行一段时间还会休眠几秒钟,给服务器也喘口气。注意这时候24这个参数就有作用了,占有24小时后会自动停止,释放所有显卡。


源码编译

如果想进一步做定制,满足自己的需求,可以去看看源码并做修改:

https://github.com/godweiyang/GrabGPU

编译命令也很简单:

nvcc grab_gpu.cu -o grab_gpu
相关实践学习
在云上部署ChatGLM2-6B大模型(GPU版)
ChatGLM2-6B是由智谱AI及清华KEG实验室于2023年6月发布的中英双语对话开源大模型。通过本实验,可以学习如何配置AIGC开发环境,如何部署ChatGLM2-6B大模型。
相关文章
|
算法 数据库 计算机视觉
Dataset之COCO数据集:COCO数据集的简介、下载、使用方法之详细攻略
Dataset之COCO数据集:COCO数据集的简介、下载、使用方法之详细攻略
|
数据处理 计算机视觉 Python
【目标检测】指定划分COCO数据集训练(车类,行人类,狗类...)
【目标检测】指定划分COCO数据集训练(车类,行人类,狗类...)
5862 0
|
机器学习/深度学习 PyTorch 算法框架/工具
RGCN的torch简单案例
RGCN 是指 Relational Graph Convolutional Network,是一种基于图卷积神经网络(GCN)的模型。与传统的 GCN 不同的是,RGCN 可以处理具有多种关系(边)类型的图数据,从而更好地模拟现实世界中的实体和它们之间的复杂关系。 RGCN 可以用于多种任务,例如知识图谱推理、社交网络分析、药物发现等。以下是一个以知识图谱推理为例的应用场景: 假设我们有一个知识图谱,其中包含一些实体(如人、物、地点)以及它们之间的关系(如出生于、居住在、工作于)。图谱可以表示为一个二元组 (E, R),其中 E 表示实体的集合,R 表示关系的集合,每个关系 r ∈ R
2264 0
|
5月前
|
人工智能 算法 开发者
开源VLM“华山论剑”丨AI Insight Talk多模态专场直播预告
开源VLM“华山论剑”丨AI Insight Talk多模态专场直播预告
438 10
开源VLM“华山论剑”丨AI Insight Talk多模态专场直播预告
|
8月前
|
存储 人工智能 自然语言处理
为什么混合专家模型(MoE)如此高效:从架构原理到技术实现全解析
本文深入探讨了混合专家(MoE)架构在大型语言模型中的应用与技术原理。MoE通过稀疏激活机制,在保持模型高效性的同时实现参数规模的大幅扩展,已成为LLM发展的关键趋势。文章分析了MoE的核心组件,包括专家网络与路由机制,并对比了密集与稀疏MoE的特点。同时,详细介绍了Mixtral、Grok、DBRX和DeepSeek等代表性模型的技术特点及创新。MoE不仅解决了传统模型扩展成本高昂的问题,还展现出专业化与适应性强的优势,未来有望推动AI工具更广泛的应用。
4893 4
为什么混合专家模型(MoE)如此高效:从架构原理到技术实现全解析
|
搜索推荐 物联网 PyTorch
Qwen2.5-7B-Instruct Lora 微调
本教程介绍如何基于Transformers和PEFT框架对Qwen2.5-7B-Instruct模型进行LoRA微调。
12768 34
Qwen2.5-7B-Instruct Lora 微调
|
并行计算 PyTorch Linux
大概率(5重方法)解决RuntimeError: CUDA out of memory. Tried to allocate ... MiB
大概率(5重方法)解决RuntimeError: CUDA out of memory. Tried to allocate ... MiB
10577 0
|
机器学习/深度学习 数据采集 算法
基于Liquid State Machine的时间序列预测:利用储备池计算实现高效建模
**Liquid State Machine (LSM)** 是一种 **脉冲神经网络 (Spiking Neural Network, SNN)** ,在计算神经科学和机器学习领域中得到广泛应用,特别适用于处理 **时变或动态数据**。它是受大脑自然信息处理过程启发而提出的一种 **脉冲神经网络** 。
422 4
基于Liquid State Machine的时间序列预测:利用储备池计算实现高效建模
|
Shell Linux 开发工具
Anaconda安装后报错 -bash: conda: command not found 如何处理
【6月更文挑战第26天】Anaconda安装后报错 -bash: conda: command not found 如何处理
4622 4
|
机器学习/深度学习 人工智能 文字识别
ultralytics YOLO11 全新发布!(原理介绍+代码详见+结构框图)
本文详细介绍YOLO11,包括其全新特性、代码实现及结构框图,并提供如何使用NEU-DET数据集进行训练的指南。YOLO11在前代基础上引入了新功能和改进,如C3k2、C2PSA模块和更轻量级的分类检测头,显著提升了模型的性能和灵活性。文中还对比了YOLO11与YOLOv8的区别,并展示了训练过程和结果的可视化
21319 0

热门文章

最新文章