算力与远程工作
远程服务器的高效使用(SSH 配置、tmux/screen、VS Code Remote)、集群作业系统(Slurm)、云 GPU 的成本控制、数据同步(rsync)。本章面向第一次用集群的研究生。
远程服务器:SSH + tmux + VS Code Remote
Section titled “远程服务器:SSH + tmux + VS Code Remote”第一次用远程服务器/集群的研究生需要的最小技能:
- SSH 配置:
~/.ssh/config写主机别名、跳板、密钥——免密与别名是高效远程工作的前提; - tmux/screen:长任务一定在 tmux 里跑——断连不杀实验(队列与无人值守的规范见算力与实验管理);tmux 的最小用法:新会话、分离(
Ctrl-b d)、恢复(tmux attach); - VS Code Remote:远程编辑 + 终端 + 调试的一体化,是远程开发的事实标准。
集群:Slurm
Section titled “集群:Slurm”共享集群用作业系统管理 GPU/CPU,Slurm 最常见。最小模板:
#!/bin/bash#SBATCH --job-name=exp42#SBATCH --gres=gpu:1#SBATCH --time=24:00:00#SBATCH --mem=32G
srun python run.py --config configs/exp42.yaml- 提交(
sbatch)、查队列(squeue)、取消(scancel)三个命令覆盖日常; - 作业数组(
--array)跑多种子/多配置; - 资源申请写进脚本(GPU 数、时长、内存)——申请不足会杀死长任务,过量浪费配额。
云 GPU:成本控制
Section titled “云 GPU:成本控制”- 云 GPU 用完立即关:闲置的实例是研究经费最大的黑洞;脚本化启停(开机跑实验、结束自动关机);
- 抢占式/spot 实例便宜数倍,配合检查点与自动恢复使用(长任务的断点续跑,见可复现性);
- 存储与下载数据的费用单独注意——数据出入云的费用常被忽略。
- rsync 增量同步本地与服务器(
rsync -avz --partial); - 大数据集一次性传输 + 校验(checksum),实验产物按需同步;
- 同步的方向要想清楚(本地是备份还是工作区)——单向的清晰同步比双向同步工具安全。
本页工具都是手段,目的在算力与实验管理的纪律:队列无人值守、结果可追溯、失败可恢复。
- 长任务一定在 tmux 里跑
- Slurm 作业脚本模板
- 云 GPU 用完立即关