快速开始
根据你的目的(要用 VASP 还是 FDTD Solutions),按照不同步骤操作:
我要使用 VASP
1. 获取密钥或密码
如果你是吴志明老师的学生,要使用 srv1,那么你应该已经有了用户名(形如 GROUPIII-1
)和密码。
如果不是这种情况,你需要一个密钥。密钥是一个文件,以 .ppk
为后缀,用于连接到服务器。
- 如果你在康老师直属的小组里,或者要使用的服务器不是厦大超算(jykang):密钥是每人一把,所有服务器通用。如果没有的话直接找我要。
- 如果你不在康老师直属的小组里,并且要使用的服务器是厦大超算(jykang): 密钥是每个老师一把,找你的导师或者学长学姐要,如果你们小组都没有的话找项磊磊要(有什么技术问题再找我)。
2. 准备试错
- 如果使用的是厦大超算(jykang):不会用的命令别瞎敲,不要擅自安装软件。 由于多人共用一个账号、没有合适的权限管理机制,环境非常脆弱,所以操作不要太随意,除非你很自信,即使全部弄坏也能自己从头搭建。 需要安装什么软件的话找我。
- 如果吴志明的学生,使用 srv1:我已经装好的软件(例如 VASP)你不可能弄坏。 但我不确定他是否会把一个账号共享给很多人使用,如果会的话,不要删除或者修改别人的文件。
- 如果是其它情况:请随意尝试,你能弄坏算我输。
3. 安装软件
在自己电脑上下载安装 PuTTY 和 WinSCP,并按照下面的步骤配置:
- 如果你要使用厦大超算(jykang):参照“连接到服务器”中“连接 VASP 服务器,开启 SSH 代理转发”这一节的内容,配置 PuTTY 和 WinSCP。 点此传送
- 如果是吴志明老师的学生,要使用 srv1:参照“连接到服务器”中“连接 VASP 服务器,使用密码”这一节的内容,配置 PuTTY 和 WinSCP。 点此传送
- 如果是其它情况:参照“连接到服务器”中“连接 VASP 服务器,不开启 SSH 代理转发”这一节的内容,配置 PuTTY 和 WinSCP。 点此传送
如果你想要使用其它 SSH 客户端也可以,连接用到的参数见连接协议和参数。
4. 学习 Linux 基础操作
- 如果你之前没有接触过 Linux:请找学长学姐要以前人写的教程(我还没写,咕咕咕)。
- 如果你之前出于兴趣接触过 Linux(不需要做过科学计算):跳过这一步,你知道的已经太多了。
5. 准备一个测试任务
和学长学姐要一个最基础的自洽或弛豫的 VASP 输入文件(包括INCAR
POSCAR
POTCAR
KPOINTS
)。
如果你要使用的是厦大超算(jykang):在服务器上导师的目录下新建一个文件夹,命名为你的名字。
例如我的是 linwei/chn
。之后你的计算都在这个目录下进行。新建一个目录(比如可以叫 test
),把这四个文件放进去,也就是:
-
-
- INCAR
- KPOINTS
- POSCAR
- POTCAR
-
如果是吴志明老师的学生,要使用 srv1:按照你导师的要求来放置文件(我也不知道他计划如何安排)。
如果是其它情况:登陆后看到的目录就是你的“家目录”,你随便在里面放东西,不影响别人,别人也看不到。
新建一个目录(比如可以叫 test
),把这四个文件放进去,也就是:
- INCAR
- KPOINTS
- POSCAR
- POTCAR
6. 投递测试任务
如果你要使用的是厦大超算(jykang):
cd
到test
目录。- 使用命令
chn_bsub
,然后按照提示,鼠标点选一个队列,鼠标点提交任务。看不懂的选项都是你暂时不需要看懂的,保持默认。 - 恭喜你已经学会投递任务了,足以应付 90% 的需求。
- 如果希望使用命令(而不是图形界面)投递任务,下面这些命令作为参考,可以照抄但至少改一下任务名:
bsub -J "my-great-job" -q normal_1day -n 28 -R 'span[hosts=1]' -o output.txt chn_vasp.sh 640_std
如果你要使用的是其它服务器:
cd
到INCAR
等文件所在的目录。- 使用命令
sbatch
,不要加任何参数,然后按照提示,用鼠标点选,最后提交任务。看不懂的选项都是你暂时不需要看懂的,保持默认。 - 恭喜你已经学会投递任务了,足以应付至少一多半的需求。
- 如果希望使用命令(而不是图形界面)投递任务,下面这些命令作为参考:
对于 srv1:
# 使用主节点,也就是最快那个节点,占满它的所有 CPU
sbatch --ntasks=8 --cpus-per-task=10 --export=ALL,OMP_NUM_THREADS=10,OMP_STACKSIZE=512m --hint=nomultithread --job-name="my-great-job" --output=output.txt --wrap="vasp-intel srun --mpi=pmix vasp-std"
# 使用其它比较老的节点,慢一些但也能用,但不使用与 FDTD 冲突的那个节点;占满单个节点的所有 CPU
sbatch --ntasks=4 --cpus-per-task=8 --export=ALL,OMP_NUM_THREADS=8,OMP_STACKSIZE=512m --hint=nomultithread --job-name="my-great-job" --output=output.txt --partition=old --nodes=1-1 --wrap="vasp-intel srun --mpi=pmix vasp-std"
# 使用与 FDTD 冲突的那个节点,不要同时运行 FDTD 和 VASP;占满它的所有 CPU
sbatch --ntasks=4 --cpus-per-task=8 --export=ALL,OMP_NUM_THREADS=8,OMP_STACKSIZE=512m --hint=nomultithread --job-name="my-great-job" --output=output.txt --partition=fdtd --wrap="vasp-intel srun --mpi=pmix vasp-std"
对于 xmupc1/xmupc2:
# 使用 4090 计算
sbatch --ntasks=1 --gpus=4090:1 --job-name="my-great-job" --output=output.txt vasp-nvidia-std
之后可以利用空闲时间,浏览一下使用服务器中的其它内容。
7. 学习 VASP 的使用
每个小组、每个人使用 VASP 的侧重点不同,请找学长学姐要学习资料,或者自己在网上学习。
当然也有一些基础和共通的,但我还没写(咕咕咕)。
我要使用 FDTD Solutions
1. 确定要使用哪台服务器
大多数用于 FDTD Solutions 的 Windows 服务器都不是我管理的。 如果你确定你要用的是我管理的唯一那一台(吴志明学生,要使用小组里的服务器),那么请继续。
2. 获取账号
吴志明老师应该会把账号(形如 GROUPIII-4
)和密码都发给你。
3. 连接到服务器
使用 Windows 自带的远程桌面连接到服务器。懂的都懂,不懂的看连接 FDTD 服务器。
4. 运行任务
运行 FDTD Solutions 的任务并不需要什么特殊操作,但有一些注意事项务必知晓,详见使用队列系统-Windows。