有什么方便的实验室共享 GPU 方案?

285 天前
 Cineray

实验室一台服务器大概有 10 多个人用,以前都是使用一个账号,大家合理分配时间。

现在老师要求各自建立自己的账号,但是有一个问题,因为大家的运行环境不一样,包括 cuda/python 版本等。

所以我想建立一个隔离环境,大家有一定的 sudo apt 权限,但是又不会因为环境冲突装坏系统。

目前看到的是有的用 docker/LCX ,感觉有些臃肿,求问有没有更好的方式?

如果有管理器就更好了,方便及时添加/删除用户。

另外我们有多台机器,有什么好的方法可以智能分配账号/算力资源吗?

4936 次点击
所在节点    程序员
38 条回复
debuggerx
285 天前
把服务器部署成 runner 你们提交任务上去 排队执行
skies457
285 天前
目前实验室正在使用的方案:
- Kubernetes 作为集群基础架构
- GitLab 提供单点登录服务
- Harbor 提供自定义环境的镜像托管
- JupyterLab ( https://z2jh.jupyter.org/en/stable/)为每个人提供可选配置的独立执行环境
ruimz
285 天前
open ondemand ,开源 HPC 管理
https://github.com/OSC/ondemand
flyqie
285 天前
这类环境最好不要用 docker 。。

docker 在这类环境下隔离不太好做。

要上的话建议 lxc 或者它的上层 lxd 。
ruimz
285 天前
@ruimz 这个 ondemond 可以分账号,一个账号搞坏不破坏系统,cuda python 不同版本环境隔离,有网页管理,支持多机集群,支持网页直接开 Jupyter notebook 。
一开始是给学校用超算开发的,所以和楼主描述的实验室环境的需求几乎完全一致
Cineray
285 天前
@ruimz #25 感谢推荐,不过部署 HPC 有点大炮打蚊子的感觉😂
xudong
284 天前
kubeflow
good4you
284 天前
鄙人有五年 HPC 使用经验,推荐使用:slurm

这个已经是很完善的体系,在北美非常常见,从高校到美国国防部都在使用。由于系统发展比较成熟,部署难度很可能远小于自己捣鼓 docker 之类的。具体的我没有了解,还请楼主移步: https://slurm.schedmd.com/documentation.html
terencelau
284 天前
只有一台服务器的话就 Docker 部署 JupyterHub 吧,文件上传下载还可以部署一个 file browser ,如果能多几台服务器再考虑 K8S 或者 SLURM 。我现在用的方案是 K8S 底座 + Kubeflow
ttyhtg
284 天前
看了楼上诸位回复,受益良多,哈哈
totoroyyw
284 天前
SLURM 或者 Docker 挂显卡
stevenshum
284 天前
看到很多人推荐 HPC ,想问一下单台服务器怎么部署和使用 HPC ?
dayeye2006199
284 天前
多账号 ssh 和 conda

conda 可以管理 cuda 版本的吧?
Sayuri
284 天前
用 nvidia-container-runtime 来在 docker 里面跑 GPU 。
大家约定好一个固定的 cuda 版本,硬性要求环境用容器部署就行了。
Famio
284 天前
我的想法是 lsf ,虚拟化都不用做,大家的任务都丢队列,顺序处理,架构上来说很省事,原生 linux os 该咋用咋用,没有虚拟化、容器化的运维负载。
ZedRover
284 天前
cuda 不统一版本最好用 docker ,宿主机上用最新的 nvdriver ,容器内 cuda 版本随意。用 conda 只能解决 python 环境,很多上古代码需要很低的 cuda 版本才能跑起来,很多 torch 2 的新功能需要新的 cuda ,不是说一句统一版本就能解决的
pslucifer
284 天前
@skies457 正解
doublebu
284 天前
用 LXD ,有大佬已经写过教程了: https://zhuanlan.zhihu.com/p/421271405

目前白嫖朋友的工作站就是这样的,除了 GPU 外,自己装 tailscale 这种组网工具也可以,而且有 systemd 的支持.

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1022926

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX