一种基于时间预测的高通量材料仿真计算优化方法与流程

文档序号:17774840发布日期:2019-05-28 19:55阅读:205来源:国知局

本发明属于材料科学领域,具体涉及一种基于时间预测的高通量材料仿真计算优化方法。



背景技术:

目前,新材料的获取已经从传统的通过大量实验发现新材料的模式转到通过大量的仿真计算来设计新材料的高通量计算模式,可以大大提升新材料获取的效率。

所谓高通量材料计算,就是借助能力强大的计算资源,可以一次快速完成大批量的计算任务,通过对计算结果的分析,筛选出满足要求的候选材料设计。而这样的计算任务,在具体形式上以高性能计算系统上作业的形式存在,被称为是高通量材料计算作业。由于其计算量一般都非常大,因此如何优化和提高其性能就成为一个挑战性问题。目前主流的性能优化方法都是针对单个高通量材料计算作业进行的。只要能够提高一个作业的性能,该方法对其它类似的作业也会有相同的优化效果。但是这类方法的缺点是它们仅仅从单个作业的局部信息出发来进行优化,没有考虑到不同作业之间在物理上的内在关联,从宏观和总体角度分析所可能带来的更显著的优化潜力被忽略了,因此优化的效果容易受到各种局部因素的限制,无法更全面地大幅度提高整体作业的优化性能。

以材料基因工程为代表的高通量材料计算,目前的主要工作是放在实现计算各个阶段的自动化衔接上,典型的项目是国际上的aflow和mp项目,但是如何大幅度降低作业本身的执行时间,特别是优化计算密集型作业的执行时间,尚没有好的解决方案。



技术实现要素:

本发明的目的是为克服已有技术无法充分优化计算密集型仿真任务执行时间的不足之处,提出一种基于时间预测的高通量材料仿真计算优化方法。本发明结合高通量材料计算仿真任务的特点,可大幅度提高高通量作业执行的效率,大大缩短新材料设计的时间。

本发明提出一种基于时间预测的高通量材料仿真计算优化方法,其特征在于,该方法包括以下步骤:

1)构建作业配置与对应执行时间的预测模型;具体步骤如下:

1-1)建立高通量材料仿真计算中已执行作业的初始配置与对应执行时间的计算数据库;

1-2)将步骤1-1)建立的计算数据库中的所有已执行作业作为训练集,构建一个深度神经网络,将已执行作业的初始配置、运行参数、硬件配置作为深度神经网络的输入,将执行时间作为输出,利用训练集中的作业对该深度神经网络进行有监督的训练,得到训练完毕的深度神经网络;

1-3)选取m个未用于训练深度神经网络的作业作为测试集,利用测试集对步骤1-2)训练完毕的深度神经网络模型进行检验:

如果每个测试集中的作业通过深度神经网络预测得到的执行时间与实际的执行时间的偏差在设定的误差阈值之内,则步骤1-2)训练完毕的深度神经网络为最终得到的作业配置与对应执行时间的预测模型;

如果测试集中的作业通过深度神经网络预测得到的执行时间与实际的执行时间的偏差超过设定的误差阈值,则生成新的已执行作业并加入到训练集中,然后重新返回步骤1-2),利用更新后的训练集重新训练深度神经网络;

2)利用步骤1)得到的预测模型,预测所有未执行作业在不同情形下的执行时间;具体步骤如下:

2-1)将高通量材料仿真计算中所有未执行的作业输入预测模型,模型输出每个作业对应的独立执行时间的预测值;

2-2)对高通量材料仿真计算中基于同一模型的所有l个作业,利用预测模型预测每个作业在不同共享执行模式下共享其它作业执行情况下的共享执行时间,记录所有共享执行模式中时间最少的一种共享执行模式,并把该模式对应的共享执行时间作为该作业对应的最终的共享执行时间,形成该模型对应的共享执行时间矩阵ql×l,并且用矩阵shl×l表示对应作业的共享执行模式;

3)对高通量材料仿真计算中每个模型生成最优调度方案;对于每一个模型,具体步骤如下:

3-1)令s为同一模型所有待执行的作业的集合;

3-2)基于该模型的共享时间矩阵矩阵ql×l和s构造一个有向图g=<v,e>,其中v=s∪{r},r是新加入的根节点,任给qij∈ql×l,构建一条边<i,j>∈e且该边的权重eij=qij;从r到其它所有作业也分别构建对应的一条边加入到e中,该边的权重是独立执行每个作业的执行时间;

3-3)在g上执行edmonds算法得到最小覆盖分支a;

3-4)按照广度优先遍历a,同一层次的作业形成可并行执行作业的集合,得到一系列作业的集合j1,…,jk,k表示a的深度,并且得到该模型的最优调度方案;

4)按照步骤3)生成的每个模型的最优调度方案,依次执行所有的作业,直到所有作业执行完毕,方法结束。

本发明的特点及有益效果在于:

(1)本发明通过分析高通量材料计算中众多仿真作业之间的内在关联来进行优化,是一种着眼整体作业的优化方法。与之前的单个作业的性能优化方法思路完全不同,但是之前的针对单个作业的局部优化方法可以不受影响地结合到本方法之中,二者是一种互补和叠加的关系。

(2)本发明提出的优化方法整体效果非常显著,大部分作业的性能会有显著的提升。可大幅度提高高通量作业执行的效率,大大缩短新材料设计的时间

(3)本方法综合考虑了所有作业之间的效果后从总体上进行的优化,与只考虑部分作业之间关系作出的优化决策相比,效果更显著。

具体实施方式

本发明提出一种基于时间预测的高通量材料仿真计算优化方法,下面结合具体实施例进一步详细说明如下。

本发明提出一种基于时间预测的高通量材料仿真计算优化方法,假定一个高通量材料计算仿真(htcs,highthroughputcomputingsimulation)由m个模型构成,表达式如下:

其中m表示高通量材料计算模型的总数,modeli表示第i个模型。

其中第i个模型可以由ni个作业组成,因此可以进一步把模型modeli表示为:

其中,si,j表示第i个模型的第j个作业;

对于同一个模型对应的不同作业,其掺杂元素互不相同,其它的方面都完全一样。

下面基于广泛使用的vasp软件来具体说明如何对作业进行计算和优化。这里首先定义高通量作业的两种执行方式:独立执行模式和共享执行模式。

所谓独立执行模式,就是该作业基于设计时为该作业独立产生的incar,poscar,potcar以及kpoint文件输入文件,在并行计算系统上进行执行,与其它的作业没有任何关系。

所谓共享执行模式,它涉及到两个作业a和b,其中a是已经完成的作业,b是将要执行的作业,b通过共享a执行的结果来优化其运行效率。具体又分三种不同的共享执行模式,分别是共享contcar执行,共享chgcar执行和同时共享contcar和chgcar执行。所谓b共享a的contcar执行,是指利用a执行完后得到的contcar取代b原来设计阶段产生的poscar进行执行。b共享a的chgcar执行,是指b利用a输出的chgcar作为额外的输入文件来得到其电荷分布,这需要同时修改其原来的incar文件,将其中的icharg标记设置为1。b共享a的contcar和chgcar执行,是指b不仅用a的contcar作为其poscar,而且还利用a的chgcar作为额外的输入来得到其电荷分布进行执行,同时将其incar文件中的icharg标记设置为1。三种共享执行方式的效果会因为不同的作业而不同。

下面我们定义相邻元素的概念,对于元素周期表中的两个元素ea和eb,如果它们处于元素周期表的同一行,而且直接相邻,则互称为行相邻元素。如果它们处于元素周期表的同一列,而且直接相邻,则互称为列相邻元素。两个元素不管是行相邻还是列相邻,都称为相邻元素。

下面进一步定义可共享作业的概念。对基于同一模型的作业,由于它们只是掺杂元素不同,我们把两个掺杂元素相邻的作业互为可相邻共享作业。

本发明提出一种基于时间预测的高通量材料仿真计算优化方法,该方法包括以下步骤:

1)构建作业配置与对应执行时间的预测模型。具体步骤如下:

1-1)建立高通量材料仿真计算中已执行作业的初始配置(即就是vasp计算所需要的4个初始配置文件)与对应执行时间的计算数据库,统一管理所有已执行的作业。这一数据库可以尽量包括进来各种情形下已经完成的作业。

1-2)将步骤1-1)建立的计算数据库中的所有已执行作业作为训练集,构建一个深度神经网络,将已执行作业的初始配置、运行参数、硬件配置作为深度神经网络的输入,将执行时间作为输出,利用训练集中的作业对该深度神经网络进行有监督的训练,得到训练完毕的深度神经网络。

1-3)选取1~5个未用于训练深度神经网络的作业作为测试集,利用测试集对步骤1-2)训练完毕的深度神经网络模型进行检验:

如果每个测试集中的作业通过深度神经网络预测得到的执行时间与实际的执行时间的偏差在设定的误差阈值之内,则步骤1-2)训练完毕的深度神经网络为最终得到的作业配置与对应执行时间的预测模型。

如果测试集中的作业通过深度神经网络预测得到的执行时间与实际的执行时间的偏差超过设定的误差阈值,则需要产生和训练更多的作业对该深度神经网络模型进行优化和提高,将新的已执行作业和对应执行时间加入到训练集中,然后重新返回步骤1-2),利用更新后的训练集重新训练深度神经网络,直到测试集中所有作业通过深度神经网络预测得到的执行时间与实际的执行时间的偏差满足设定的误差阈值(这里我们设定误差阈值为预测时间和实际执行时间的相对误差吗不超过10%),则步骤1-2)训练完毕的深度神经网络为最终得到的作业配置与对应执行时间的预测模型。

2)利用步骤1)得到的预测模型,预测所有未执行作业在不同情形下的执行时间。具体步骤如下:

2-1)将高通量材料仿真计算中所有未执行的作业输入预测模型,模型输出每个作业对应的独立执行时间的预测值。

2-2)对高通量材料仿真计算中基于同一模型的所有l个作业利用预测模型预测每个作业在三种不同共享执行模式下共享其它作业执行情况下的共享执行时间,记录三种共享执行模式中时间最少的一种共享执行模式,并把该模式对应的共享执行时间作为该作业对应的最终的共享执行时间。这样就形成该模型对应的一个共享执行时间矩阵ql×l,并且用矩阵shl×l表示对应元素的共享执行模式。极个别特殊情况下当所有共享执行模式都不如独立执行模式的情况下,记录执行方式为独立执行模式。

3)对高通量材料仿真计算中每个模型生成最优调度方案;对于每一个模型,具体步骤如下:

3-1)令s为同一模型所有待执行的作业的集合;

3-2)基于该模型的共享时间矩阵矩阵ql×l和s构造一个有向图g=<v,e>,其中v=s∪{r},r是新加入的根节点,任给qij∈ql×l,构建一条边<i,j>∈e且该边的权重eij=qij。从r到其它所有作业也分别构建对应的一条边加入到e中,该边的权重是独立执行每个作业的执行时间。

3-3)在g上执行edmonds算法得到最小覆盖分支a;

3-4)按照广度优先遍历a,同一层次的作业形成可并行执行作业的集合,这样就形成一系列作业的集合j1,…,jk,k表示a的深度,并且下一层次的作业ji+1依赖上一层次作业ji的执行结果,得到该模型的最优调度方案。

4)按照步骤3)生成的每个模型的最优调度方案,依次执行所有的作业,直到所有作业执行完毕,方法结束;具体原则如下:

4-1)每个模型中,当上一层次的作业执行完后,同一层次的所有作业可以同时递交执行,不需要相互等待。

4-2)作业共享执行时具体的共享执行方式由之前产生的sl×l矩阵决定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1