本系列旨在以最通俗易懂的语言,向未接触过理论计算或对理论计算感兴趣的实验科研工作者们简单介绍什么是理论计算?做计算必不可少的工具和技能是什么?以及耳熟能详的一些理论方法(例如d带中心理论)讲的是什么?笔者水平有限,文中若有任何错误或理解不到位之处,还望批评指正。
上期内容简单介绍了做计算需要的软件及硬件,这一期将以提交一个计算任务为学习目标,介绍如何上传或下载必要的计算文件,以及提交计算任务等Linux系统的基础操作(图1)。第一步是上传或下载计算文件(输入文件)。以VASP为例,需要上传包含原子坐标的结构文件POSCAR,赝势文件POTCAR,以及具体计算参数的文件INCAR和KPOINTS。(Gaussian只需上传包含类似信息的.gjf文件即可);第二步是复制上传到服务器的具体路径,并输入Linux命令以进行相应的操作;第三步是输入提交任务的命令,并查询追踪任务进行情况。以下是详细介绍。
图1、提交任务三部曲
首先是文件传输的软件有WinSCP、Xftp和MobaXterm,这类软件的功能大同小异,Xftp是和上一期内容提到的Xshell是配套的,是同一公司旗下的收费产品,该产品有面向学生的免费版本。WinSCP和MobaXterm都是可以搜到并且免费下载的。文件传输的本质就是本地文件拖拽到服务器上,服务器上的文件拖拽到本地,如图2所示,左侧为本地,右侧为服务器。这样的图形交互界面对新手友好。补充一下,Xshell虽然也可以支持文件的传输,但不适合新手操作,在适应之前可能稍微有些抽象。
图2、WinSCP操作页面
准备好输入文件后,在自己的账号下,创建一个新的目录(可以理解成文件夹),将必要的输入文件上传(拖拽)到刚刚创建的目录下。这里以WinSCP为例,单击右键并复制当前路径(图3),在PuTTY界面输入命令:cd (空格) (路径) ,进入到该路径中(例如图4)。输入ls命令查看当前路径下的内容,ls命令是list的缩写,可见图3和图4所呈现的内容是一致的。在确认当前目录下提交任务以及不缺少相关的输入文件后,可以使用sbatch命令提交计算任务,系统自动反馈生成的作业号。鉴于计算资源分配以及可能会有报错的情况发生,在提交任务后要第一时间用squeue命令检查和追踪排队情况。同时提醒,提交计算任务并不是万事大吉,可以不管不顾,需要随时追踪计算情况,如果发现计算过程中,任务偏离预期或其他状况,要第一时间使用scancel命令取消该任务(图4)。
图3、WinSCP复制路径操作
为了避免初学者对各种Linux命令产生困惑,图1中列出的cp和mv等命令暂时不做讨论,初学者在此阶段只需掌握图4展示的cd和sbatch等命令,直至熟练使用这些命令后,下一阶段可以深入了解其他基础Linux命令。学习计算的基础是学会和适应使用Linux系统,如果只停留在图4这几个命令的阶段,就像整天面对电脑工作的员工只会用食指敲键盘一样。此外,还需注意的是,不同的队列(排队)系统的提交任务、取消任务和查看排队情况的命令不一样,这需要根据自己课题组的情况适当调整,例如另一开源队列系统PBS的相对应的命令分别为:qsub、qdel和qstat。我们课题组采用的是slurm队列系统。
图4、PuTTY界面提交任务操作
以上是以提交计算任务为学习目的,上传必要的输入文件和提交任务的具体操作的介绍,可以使刚接触理论计算的研究者快速地入门。
下期分享:理论计算从零开始系列四:SSH连接服务器以及Linux基本命令详细介绍
文:房聪(fangcong@qibebt.ac.cn)
引用或转载需联系作者,并请注明出处