CPMD的计算任务的实现方法和装置制造方法及图纸

技术编号:9596560 阅读:167 留言:0更新日期:2014-01-23 02:06
本发明专利技术公开了一种CPMD的计算任务的实现方法和装置,其中,该实现方法包括:获取用户输入的计算指令;对计算指令进行解析,确定计算的类型以及计算指令中包含的计算参数;将计算参数代入到预先配置的与计算类型对应的计算命令语句中,并执行该计算命令语句。借助于本发明专利技术的技术方案,能够实现CPMD的计算任务的实现过程无需通过命令行,只通过基于图形界面的简单的操作,就能完成计算任务,大大降低操作难度,提高执行效率,降低出错概率。

【技术实现步骤摘要】
【专利摘要】本专利技术公开了一种CPMD的计算任务的实现方法和装置,其中,该实现方法包括:获取用户输入的计算指令;对计算指令进行解析,确定计算的类型以及计算指令中包含的计算参数;将计算参数代入到预先配置的与计算类型对应的计算命令语句中,并执行该计算命令语句。借助于本专利技术的技术方案,能够实现CPMD的计算任务的实现过程无需通过命令行,只通过基于图形界面的简单的操作,就能完成计算任务,大大降低操作难度,提高执行效率,降低出错概率。【专利说明】CPMD的计算任务的实现方法和装置
本专利技术涉及科学计算领域,并且特别地,涉及一种CPMD的计算任务的实现方法和>J-U ρ?α装直。
技术介绍
CPMD (Car-Parrinello Molecular Dynamics simulations)是一个用来计算量子系统能量和性质的程序,基于考虑了量子效应的分子动力学方法,同时考虑原子核的运动(牛顿力学)和电子的运动(量子力学),能同时准确模拟物理作用和化学键作用,通常用来处理较小的分子体系(几十个原子)。在传统的高性能计算集群环境中,用户要运行CPMD的计算程序,通常需要使用远程字符终端在命令行环境下执行一系列操作,一般有以下几个流程:准备好CPMD计算程序的可执行文件、输入文件、数据文件等,这些文件通常需要放置在集群的全局共享存储中,用户一般使用FTP、SFTP等工具向集群上传这些文件,在大多数情况下,用户还需要使用文本编辑工具对输入文件等进行修改。确定运行该CPMD计算程序需要的进程数,以及在哪些节点上运行,将这些信息通过命令行参数的方式传递给MPI的进程启动器,如mpirun、mpiexec等,由MPI的进程启动器启动运行该CPMD计算程序。CPMD计算程序运行完成后,查看计算结果,或使用FTP、SFTP等工具下载结果文件到本地用户终端,再通过分析软件分析结果。以上是直接运行CPMD计算程序的主要流程,实际情况下,用户在高性能计算集群上提交并行计算任务,需要统一使用作业调度软件提供的接口,用户通常还需要再编写一个作业调度脚本,在脚本中申请计算资源,通过这个脚本提交并行计算任务,由作业调度软件来处理任务排队、分配资源、发起并行程序。上面介绍了在传统的高性能计算集群环境中,用户运行CPMD计算程序的基本流程,这些流程通常需要在远程字符终端下,通过命令行的方式来实现,对于广大普通用户来说,操作难度大,执行效率低,出错概率大。传统执行方式的弊端主要表现在:使用难度非常大。想要顺利提交一个CPMD计算任务,用户往往需要非常熟悉很多与其专业背景无关的知识和工具,比如Linux操作系统基本操作、Shell脚本语言、常用的文本编辑和字符处理工具、MPI环境的调用、作业调度软件的使用等等,这些知识或工具的学习曲线非常陡,熟练掌握常常需要花费若干年的时间,这样的使用代价对广大普通用户来说是非常巨大的。执行效率低。想要顺利提交一个CPMD计算任务,需要执行多个流程,并使用一些专业工具,需要在命令行环境执行复杂繁琐的操作,从而导致计算任务的提交费时费力,执行效率低下。出错概率大。对于大部分普通用户来说,在命令行环境执行复杂繁琐的操作,出现人为操作失误的概率很大,特别是对于操作流程不熟悉的用户,在执行的各个环节均容易遇到问题。另外,对于高性能计算集群的管理员来说,对普通用户开放命令行终端,也存在安全性的风险,用户的误操作可能会影响系统的稳定运行,黑客也有可能趁虚而入。在现有技术中,虽然存在一些商业计算软件提供自己的并行计算任务通过图形化提交界面进行指令提交,但都是针对个别软件,没有普适性,并且,还需要专门的客户端软件配合完成,与作业调度软件的结合无法实现或存在不同程度的问题。针对相关技术中的用户运行CPMD计算程序时需要在远程字符终端下通过命令行的方式来实现,操作难度大,执行效率低,出错概率大的问题,目前尚未提出有效的解决方案。
技术实现思路
针对相关技术中用户运行CPMD计算程序时需要在远程字符终端下通过命令行的方式来实现,操作难度大,执行效率低,出错概率大的问题,本专利技术提出一种CPMD计算任务的实现方法和装置,能够使用户无需通过命令行的方式,只通过简单的操作输入计算指令,就能就能实现整个运算过程。本专利技术的技术方案是这样实现的:根据本专利技术的一个方面,提供了一种CPMD的计算任务的实现方法,其特征在于,包括:获取用户输入的计算指令;对计算指令进行解析,确定计算的类型以及计算指令中包含的计算参数;将计算参数代入到预先配置的与计算类型对应的计算命令语句中,并执行该计算命令语句。此外,在执行代入计算参数的语句之前,该实现方法进一步包括:判断用户输入的计算指令是否合法,并在判断的结果为否的情况下,禁止执行计算命令语句并进行提示;其中,判断用户输入的计算指令是否合法的条件包括以下至少之一:计算指令的格式、计算指令中计算参数的范围。并且,执行代入计算参数的语句之前,该实现方法进一步包括:获取用户输入的资源请求指令,对资源请求指令进行解析,得到资源参数,其中,资源参数用于表示用户所请求的资源量;将资源参数代入到预先配置的计算资源调度语句,并执行该计算资源调度语句。并且,在执行计算资源调度语句之前,该实现方法进一步包括:判断用户输入的资源请求指令是否合法,并在判断结果为否的情况下,禁止执行计算资源调度语句并进行提示;其中,判断用户输入的资源请求指令是否合法的条件包括以下至少之一:计算资源请求指令的格式、用户所请求的资源量。其中,计算资源包括以下至少之一:计算节点、CPU核数、计算时长、计算结果的存储路径。此外,获取用户输入的计算指令包括:通过预先提供图形界面,获取用户在图形界面中的参数输入框内输入的计算参数、和/或根据用户在图形界面中的路径输入框内输入的存储路径获取包含计算参数的文件并确定该文件中的输入参数。其中,图形界面包括web界面。此外,该实现方法进一步包括:获取用户输入的断点保护指令;调用并执行预先配置的断点保护指令语句,其中,断点保护指令语句用于保存计算过程中的至少一个计算状态。根据本专利技术的另一方面,还提供了一种CPMD的计算任务的实现装置,其特征在于,包括:获取模块,用于获取用户输入的计算指令;解析模块,用于对计算指令进行解析,确定计算的类型以及计算指令中包含的计算参数;执行模块,用于将计算参数代入到预先配置的与计算类型对应的计算命令语句中,并执行该计算命令语句。此外,该实现装置进一步包括:判断模块,用于在执行代入计算参数的语句之前,判断用户输入的计算指令是否合法,并在判断的结果为否的情况下,禁止执行计算命令语句并进行提示;其中,判断用户输入的计算指令是否合法的条件包括以下至少之一:计算指令的格式、计算指令中计算参数的范围。本专利技术通过从用户输入的计算指令中解析得到的计算参数和计算类型,并将计算参数代入到预先配置好的与该计算类型相对应的计算命令语句,并执行该计算命令语句,能够使用户只需输入简单的计算指令,无需进行复杂的命令行操作,就能完成计算,降低了用户使用CPMD计算程序的难度,提高了执行效率,降低了出错概率。【专利附图】【附图说明】为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附本文档来自技高网
...

【技术保护点】
一种用于计算量子系统能量和性质的程序CPMD的计算任务的实现方法,其特征在于,包括:获取用户输入的计算指令;对所述计算指令进行解析,确定计算的类型以及所述计算指令中包含的计算参数;将所述计算参数代入到预先配置的与所述计算类型对应的计算命令语句中,并执行该计算命令语句。

【技术特征摘要】

【专利技术属性】
技术研发人员:赵明坤马少杰曹振南李斌侯雪峰何沧平田相桂杨亮易成曹征苗春葆姜金良沈杰胡耀国范娟
申请(专利权)人:曙光信息产业北京有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1