跳转到内容

算力与远程工作

远程服务器的高效使用(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:远程编辑 + 终端 + 调试的一体化,是远程开发的事实标准。

共享集群用作业系统管理 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 用完立即关:闲置的实例是研究经费最大的黑洞;脚本化启停(开机跑实验、结束自动关机);
  • 抢占式/spot 实例便宜数倍,配合检查点与自动恢复使用(长任务的断点续跑,见可复现性);
  • 存储与下载数据的费用单独注意——数据出入云的费用常被忽略。
  • rsync 增量同步本地与服务器(rsync -avz --partial);
  • 大数据集一次性传输 + 校验(checksum),实验产物按需同步;
  • 同步的方向要想清楚(本地是备份还是工作区)——单向的清晰同步比双向同步工具安全。

本页工具都是手段,目的在算力与实验管理的纪律:队列无人值守、结果可追溯、失败可恢复。

  • 长任务一定在 tmux 里跑
  • Slurm 作业脚本模板
  • 云 GPU 用完立即关