使用文档¶
Coder¶
https://coder.lab.tiankaima.cn:8443/
简单来说我们用 Coder 来为每位同学创建一个自己的 Docker 容器,这是综合下来「使用体验接近物理机」、「性能损失小」以及「维护成本低」的考量。
我们在这里演示从创建 Workspace 到搭建完整 CUDA pyTorch 环境的完整流程:
Note
注册流程在群公告。
- 访问 https://coder.lab.tiankaima.cn:8443/
-
在下面的位置,点击 New Workspace,选择 Docker:
-
依次设置 Workspace Name、Base Image 和 Host 选项:
- Workspace Name:推荐是和当前的项目挂钩,这样结束之后可以方便删除。
-
Base Image:默认提供了一个
ghcr.io/tiankaima/cuda:12.4.1-cudnn-runtime-ubuntu22.04
的镜像,这个容器的 Dockerfile 存放在 https://github.com/tiankaima/Dockerfile/blob/master/cuda/Dockerfile 在这里打包了一些 zsh 常用的工具方便使用,你也可以参考这个 Dockerfile 存放的 Repo 中的 CI/CD 的流程 来打包自己的镜像。Bug
因为 Coder 的奇怪问题,可能不总是拉取最新镜像,如遇问题请在群里反馈。
-
Host:选择一台服务即可,可以在下面的监控中查看各台服务器的使用情况。
-
点击 Create Workspace,稍等片刻,Workspace 就创建好了:
Bug
创建过程中可能由于魔法原因造成网络波动导致失败,请阅读错误输出,如果其中包含 Timeout,Network Failure 等字眼,请尝试 Restart,如果问题持续,麻烦在群里反馈。
这其中大部分的选项都是网页的形式,右上角的 Connect via SSH 会提示你在本地配置 coder 工具,以便更直接使用 vscode、ssh 等工具。
-
我们在这里选择 Terminal:
请注意,尽管 Workspace 中带 CUDA 字样,这只包含
libcudnn.so
和libcuda.so
,并不包含 CUDA Toolkit 和 NVIDIA Driver。注意,因为这是容器环境,你不需要也不应该安装 Nvidia Driver(例如执行
apt install nvidia-driver-570-open
之类)Tip
当我们在说 CUDA 的时候,其实指代了很多的不同层面的库,推荐阅读:https://201.ustclug.org/advanced/cuda/
Note
使用 pip 安装 pyTorch 的原因是:pyTorch 即将停止维护 conda 官方源,考虑到 conda-forge 上的包几乎和 PyPI 一样,为简化就直接考虑从 PyPI 安装就好。
-
验证环境
监控¶
-
占用情况监控:https://git.lug.ustc.edu.cn/-/snippets/349
可在此处确认各台服务器当前正在被哪些容器使用。
网络说明¶
-
使用如下命令设置代理:
在预先打包的镜像中,这几行命令也被写入
~/.zshrc
中,调用SET_PROXY
和UNSET_PROXY
命令即可设置和取消代理。Note
不同软件对
http_proxy
https_proxy
all_proxy
no_proxy
等支持不同,请按需设置。