快速开始

根据你的目的(要用 VASP 还是 FDTD Solutions),按照不同步骤操作:

我要使用 VASP

1. 获取密钥或密码

如果你是吴志明老师的学生,要使用 srv1,那么你应该已经有了用户名(形如 GROUPIII-1)和密码。 如果不是这种情况,你需要一个密钥。密钥是一个文件,以 .ppk 为后缀,用于连接到服务器。

  • 如果你在康老师直属的小组里,或者要使用的服务器不是厦大超算(jykang):密钥是每人一把,所有服务器通用。如果没有的话直接找我要。
  • 如果你不在康老师直属的小组里,并且要使用的服务器是厦大超算(jykang): 密钥是每个老师一把,找你的导师或者学长学姐要,如果你们小组都没有的话找项磊磊要(有什么技术问题再找我)。

2. 准备试错

  • 如果使用的是厦大超算(jykang):不会用的命令别瞎敲,不要擅自安装软件。 由于多人共用一个账号、没有合适的权限管理机制,环境非常脆弱,所以操作不要太随意,除非你很自信,即使全部弄坏也能自己从头搭建。 需要安装什么软件的话找我。
  • 如果吴志明的学生,使用 srv1:我已经装好的软件(例如 VASP)你不可能弄坏。 但我不确定他是否会把一个账号共享给很多人使用,如果会的话,不要删除或者修改别人的文件。
  • 如果是其它情况:请随意尝试,你能弄坏算我输。

3. 安装软件

在自己电脑上下载安装 PuTTYWinSCP,并按照下面的步骤配置:

  • 如果你要使用厦大超算(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)

    1. cdtest 目录。
    2. 使用命令 chn_bsub,然后按照提示,鼠标点选一个队列,鼠标点提交任务。看不懂的选项都是你暂时不需要看懂的,保持默认。
    3. 恭喜你已经学会投递任务了,足以应付 90% 的需求。
    4. 如果希望使用命令(而不是图形界面)投递任务,下面这些命令作为参考,可以照抄但至少改一下任务名:
    bsub -J "my-great-job" -q normal_1day -n 28 -R 'span[hosts=1]' -o output.txt chn_vasp.sh 640_std

    如果你要使用的是其它服务器

    1. cdINCAR 等文件所在的目录。
    2. 使用命令 sbatch,不要加任何参数,然后按照提示,用鼠标点选,最后提交任务。看不懂的选项都是你暂时不需要看懂的,保持默认。
    3. 恭喜你已经学会投递任务了,足以应付至少一多半的需求。
    4. 如果希望使用命令(而不是图形界面)投递任务,下面这些命令作为参考:

    对于 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