CN117407177B - 任务执行方法、装置、电子设备及可读存储介质 - Google Patents
任务执行方法、装置、电子设备及可读存储介质 Download PDFInfo
- Publication number
- CN117407177B CN117407177B CN202311707548.5A CN202311707548A CN117407177B CN 117407177 B CN117407177 B CN 117407177B CN 202311707548 A CN202311707548 A CN 202311707548A CN 117407177 B CN117407177 B CN 117407177B
- Authority
- CN
- China
- Prior art keywords
- task
- parallel
- information
- parameter
- target task
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 213
- 230000001568 sexual effect Effects 0.000 claims abstract description 29
- 238000004364 calculation method Methods 0.000 claims description 142
- 238000005457 optimization Methods 0.000 claims description 129
- 230000008569 process Effects 0.000 claims description 100
- 238000012545 processing Methods 0.000 claims description 27
- 238000004458 analytical method Methods 0.000 claims description 22
- 239000013598 vector Substances 0.000 claims description 17
- 238000004590 computer program Methods 0.000 claims description 12
- 230000009286 beneficial effect Effects 0.000 abstract description 8
- 238000005516 engineering process Methods 0.000 abstract description 6
- 102100021164 Vasodilator-stimulated phosphoprotein Human genes 0.000 description 18
- 108010054220 vasodilator-stimulated phosphoprotein Proteins 0.000 description 15
- 230000006870 function Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 8
- 238000011160 research Methods 0.000 description 5
- 238000012937 correction Methods 0.000 description 4
- 238000005265 energy consumption Methods 0.000 description 4
- 230000005428 wave function Effects 0.000 description 4
- 230000003993 interaction Effects 0.000 description 3
- 239000000463 material Substances 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000000329 molecular dynamics simulation Methods 0.000 description 3
- 230000001105 regulatory effect Effects 0.000 description 3
- 238000004088 simulation Methods 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 101000994307 Homo sapiens Protein ITPRID2 Proteins 0.000 description 2
- 102100032831 Protein ITPRID2 Human genes 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 125000004122 cyclic group Chemical group 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 150000002500 ions Chemical class 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000005381 potential energy Methods 0.000 description 2
- 238000003775 Density Functional Theory Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 229940088594 vitamin Drugs 0.000 description 1
- 229930003231 vitamin Natural products 0.000 description 1
- 235000013343 vitamin Nutrition 0.000 description 1
- 239000011782 vitamin Substances 0.000 description 1
- 150000003722 vitamin derivatives Chemical class 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种任务执行方法、装置、电子设备及可读存储介质,应用于计算机领域。其中,方法包括获取第一性原理计算软件接收到的目标任务对应的任务参数信息,及第一性原理计算软件执行该目标任务的并行资源参数信息。基于目标任务特征对并行资源参数信息和任务参数信息进行分析,确定任务执行所采用的并行计算模式,以及相对应需要进行调整的待优化参数,待优化参数为并行资源参数信息和任务参数信息中的一个或多个。基于待优化参数对相应参数进行调整,并采用优化后的并行计算模式执行目标任务。本发明可以解决相关技术不能充分利用用户申请的算力资源及任务执行效率低的问题,能够有效提高任务执行效率,有利于节省任务使用的算力资源。
Description
技术领域
本发明涉及计算机技术领域,特别是涉及一种任务执行方法、装置、电子设备及可读存储介质。
背景技术
在智能化信息时代,随着智算中心基础设施的不断发展与完善,其提供的算力资源被广泛应用在各行各业,例如应用在科学计算的算力资源比例高达30%-50%。在科学研究过程中,通常使用第一性原理计算软件如GROMACS(GR Oningen Machine,格罗宁根华讯模拟体系)、VASP(Vienna Ab-initio Simulation PacKage,维也纳第一性原理计算模拟软件包)进行科学研究计算。
相关技术通过第一性原理计算软件对给定的科学计算任务开展第一性原理计算,以执行该科学计算任务。但是,科学计算任务的执行效率和资源利用情况并无法满足用户任务计算的现实需求。
鉴于此,提高科学计算任务的执行效率,节省科学计算任务使用的算力资源,是本领域技术人员需要解决的技术问题。
发明内容
本发明提供了一种任务执行方法、装置、电子设备及可读存储介质,能够有效提高任务执行效率,有利于节省任务使用的算力资源。
为解决上述技术问题,本发明提供以下技术方案:
本发明一方面提供了一种任务执行方法,通过第一性原理计算软件对目标任务进行第一性原理计算的过程,包括:
获取目标任务的任务参数信息,以及用于执行所述目标任务的并行资源参数信息;
基于目标任务特征,对所述并行资源参数信息和所述任务参数信息进行分析,以确定待优化并行计算模式及相应的待优化参数;
基于所述待优化参数对相应参数进行调整,并采用优化后的并行计算模式执行所述目标任务;
其中,所述任务参数信息为所述目标任务所应用的物理参数,包括所述目标任务包含的原子数、平面波基矢数、能带数和K点数;所述优化后的并行计算模式包括优化后的K点并行模式、优化后的能带并行模式和多进程叠加多线程的并行模式;所述待优化参数为所述并行资源参数信息中的目标并行参数和/或所述任务参数信息中的目标任务参数。
在第一种示例性的实施方式中,所述基于目标任务特征,对所述并行资源参数信息和所述任务参数信息进行分析,以确定待优化并行计算模式及相应的待优化参数,包括:
基于所述目标任务特征,确定执行所述目标任务所需的计算资源估计信息;
根据所述并行资源参数信息,确定执行所述目标任务对应的用户申请资源信息;
根据所述目标任务特征、所述计算资源估计信息和所述用户申请资源信息,确定所述并行资源参数信息和所述任务参数信息中进行调整的参数,以作为待优化参数。
在第二种示例性的实施方式中,所述目标任务特征基于所述任务参数信息确定,所述基于目标任务特征,确定执行所述目标任务所需的计算资源估计信息,包括:
根据所述任务参数信息确定所述目标任务的计算量;
根据所述计算量确定完成所述目标任务的机时,以作为所述计算资源估计信息。
在第三种示例性的实施方式中,所述根据所述任务参数信息确定所述目标任务的计算量,包括:
调用一次循环计算量确定关系式,确定所述目标任务完成一次完整循环计算过程的单次计算量;其中,所述一次循环计算量确定关系式为:
;C0为单次计算量,Const为倍数,Nb为所述目标任务包含的能带数,Nplw为所述目标任务包含的平面波基矢数;
根据所述目标任务所需的完整循环计算过程的个数及对应的单次计算量,确定所述目标任务的计算量。
在第四种示例性的实施方式中,所述根据所述目标任务特征、所述计算资源估计信息和所述用户申请资源信息,确定所述并行资源参数信息和所述任务参数信息中进行调整的参数,以作为待优化参数,包括:
根据所述目标任务特征确定所述目标任务所属规模类型;
基于所述目标任务所属规模类型、所述计算资源估计信息和所述用户申请资源信息之间的关系,确定所述并行资源参数信息和所述任务参数信息中进行调整的参数,以作为待优化参数。
在第五种示例性的实施方式中,所述根据所述目标任务特征确定所述目标任务所属规模类型,包括:
从所述目标任务的任务参数信息中,获取所述目标任务包含的原子数;
若当前原子数小于第一原子数阈值,则所述目标任务属于第一预设规模任务;
若当前原子数大于等于第一原子数阈值且小于第二原子数阈值,则所述目标任务属于第二预设规模任务;
若当前原子数大于等于第二原子数阈值,则所述目标任务属于第三预设规模任务;
其中,所述第一原子数阈值小于第二原子数阈值,所述第一预设规模任务对应的计算量小于第二预设规模任务对应的计算量,所述第二预设规模任务对应的计算量小于第三预设规模任务对应的计算量。
在第六种示例性的实施方式中,所述基于所述目标任务所属规模类型、所述计算资源估计信息和所述用户申请资源信息之间的关系,确定所述并行资源参数信息和所述任务参数信息中进行调整的参数,以作为待优化参数,包括:
若所述目标任务属于第一预设规模任务,则确定所述待优化并行计算模式为K点并行模式;基于所述计算资源估计信息和所述用户申请资源信息之间的关系,确定所述目标任务在执行过程中并行处理的K点数量。
在第七种示例性的实施方式中,所述基于所述目标任务所属规模类型、所述计算资源估计信息和所述用户申请资源信息之间的关系,确定所述并行资源参数信息和所述任务参数信息中进行调整的参数,以作为待优化参数,包括:
若所述目标任务属于第二预设规模任务,则确定所述待优化并行计算模式为K点并行模式和能带并行模式;
基于所述计算资源估计信息和所述用户申请资源信息之间的关系,确定所述目标任务在执行过程中并行处理的K点数量和并行处理的能带数量。
在第八种示例性的实施方式中,所述基于所述目标任务所属规模类型、所述计算资源估计信息和所述用户申请资源信息之间的关系,确定所述并行资源参数信息和所述任务参数信息中进行调整的参数,以作为待优化参数,包括:
若所述目标任务属于第三预设规模任务,则确定对所述任务参数信息中的能带数以及对所述并行资源参数信息中的线程数进行调整;
基于所述计算资源估计信息和所述用户申请资源信息之间的关系,确定所述目标任务在执行过程中并行处理的线程数及能带内计算所使用的核心数。
在第九种示例性的实施方式中,所述基于所述目标任务所属规模类型、所述计算资源估计信息和所述用户申请资源信息之间的关系,确定所述并行资源参数信息和所述任务参数信息中进行调整的参数,以作为待优化参数,包括:
基于所述目标任务所属规模类型、所述计算资源估计信息和所述用户申请资源信息之间的关系,确定所述并行资源参数信息和所述任务参数信息中进行调整的至少一个必选优化参数和至少一个备选优化参数;
其中,所述必选优化参数和所述备选优化参数为所述待优化参数,所述必选优化参数的优先级大于所述备选优化参数的优先级。
在第十种示例性的实施方式中,所述基于所述目标任务所属规模类型、所述计算资源估计信息和所述用户申请资源信息之间的关系,确定所述并行资源参数信息和所述任务参数信息中进行调整的至少一个必选优化参数和至少一个备选优化参数,包括:
基于所述目标任务所属规模类型、所述计算资源估计信息和所述用户申请资源信息之间的关系,确定所述并行资源参数信息和所述任务参数信息中进行调整的至少一个必选优化参数;
若用户申请资源在基于所述必选优化参数对相应参数调整后的剩余资源大于预设资源阈值,则基于所述目标任务所属规模类型、所述计算资源估计信息和所述剩余资源,确定所述并行资源参数信息和所述任务参数信息中进行调整的至少一个备选优化参数。
在第十一种示例性的实施方式中,所述待优化参数包括所述任务参数信息中的并行处理的K点数量和并行处理的能带数,所述并行资源参数信息中的线程数,所述基于所述待优化参数对相应参数进行调整,包括:
按照优先级顺序从前到后依次对当前线程数、当前并行处理的K点数量、当前并行处理的能带数量及当前能带内计算所使用的核心数进行调整。
在第十二种示例性的实施方式中,所述基于目标任务特征,对所述并行资源参数信息和所述任务参数信息进行分析,以确定待优化并行计算模式及相应的待优化参数,包括:
基于所述任务参数信息确定所述目标任务对应的物理参数和物理过程,以作为目标任务特征;
根据所述物理参数和所述物理过程确定执行所述目标任务所需的计算资源估计信息;
根据所述并行资源参数信息,确定执行所述目标任务对应的用户申请资源信息;
若所述用户申请资源信息与所述计算资源估计信息之间的差别大于预设溢出阈值,则所述目标任务为预设规模并行计算任务,且确定所述目标任务的并行计算模式为多进程叠加多线程的并行模式;
其中,所述用户申请资源信息大于所述计算资源估计信息;所述多进程叠加多线程的并行模式为同时使用至少一个进程执行所述目标任务,且所述进程中包括多个同时运行的线程。
在第十三种示例性的实施方式中,所述目标任务的并行计算模式为多进程叠加多线程的并行模式,所述采用优化后的并行计算模式执行所述目标任务,包括:
获取所述目标任务的能带内计算所使用核心数对应的当前配置数据,并删除所述当前配置数据;
根据所述目标任务的当前并行处理的K点数量、当前并行处理的能带数量及当前能带内计算所使用的核心数,确定所述目标任务的单条能带所能利用的总核心数;
对并行处理的至少一条目标能带,基于当前目标能带内计算所使用的核心数确定同一时刻运行的目标线程数和目标进程数,以作为所述多进程叠加多线程的并行模式的并行计算参数;
基于各目标进程和各目标线程执行所述目标任务。
在第十四种示例性的实施方式中,所述对所述并行资源参数信息和所述任务参数信息进行分析之后,还包括:
预先在所述第一性原理计算软件的用户界面构建任务执行模式显示页面;所述任务执行模式显示页面包括模式显示区域和模式选择区域;所述模式选择区域包括备选并行计算模式显示区域;
在所述任务执行模式显示页面的相应区域显示最优并行计算模式和/或至少一个备选并行计算模式;
当检测到用户的模式选择指令,通过解析所述模式选择指令确定用户从各备选并行计算模式中选定的目标并行计算模式,并将所述目标并行计算模式作为待优化并行计算模式,同时对应调整相匹配的待优化参数;当预设时间段内未接收到用户的模式选择指令,则将所述最优并行计算模式作为待优化并行计算模式;
其中,所述模式显示区域用于显示通过分析所述并行资源参数信息和所述任务参数信息自动确定的最优并行计算模式。
在第十五种示例性的实施方式中,所述对所述并行资源参数信息和所述任务参数信息进行分析之后,还包括:
预先在所述第一性原理计算软件的用户界面构建优化信息显示页面;所述优化信息显示页面包括必选优化参数显示区域和备选优化参数显示区域;其中,所述备选优化参数显示区域还包括参数选择选项;
在所述优化信息显示页面的相应区域显示至少一个必选优化参数和/或至少一个备选优化参数;
当检测到用户的参数选择指令,通过解析所述参数选择指令确定用户选定的目标备选优化参数,以作为待优化参数;当预设时间段内未接收到用户的参数选择指令,则将所述备选优化参数显示区域中的各备选优化参数作为待优化参数。
在第十六种示例性的实施方式中,所述用户界面还包括自定义输入框;所述自定义输入框包括位于模式选择区域的自定义模式输入框,和位于备选优化参数显示区域中的自定义参数输入框;所述对所述并行资源参数信息和所述任务参数信息进行分析之后,还包括:
当接收到用户的任务优化配置指令,通过解析所述任务优化配置指令得到自定义并行计算模式和/或自定义优化参数;
将所述自定义并行计算模式作为待优化并行计算模式,同时对应调整相匹配的待优化参数;
将所述自定义优化参数作为待优化参数;
其中,所述自定义参数输入框用于接收用户输入的自定义优化参数;所述自定义模式输入框用于接收用户输入的自定义并行计算模式。
在第十七种示例性的实施方式中,所述用户界面还包括信息提示框,所述基于所述待优化参数对相应参数进行调整之前,还包括:
当检测到用户的参数选择指令和/或模式选择指令和/或任务优化配置指令,向用户展示所述信息提示框;
其中,所述信息提示框包括取消项、确定项和重选项。
在第十八种示例性的实施方式中,还包括:
预先在所述第一性原理计算软件的用户界面构建警示信息提示框;其中,所述警示信息提示框用于显示参数调整出错提示信息;
当检测到目标任务处于执行状态,判断优化信息显示页面是否被显示;
当判定所述优化信息显示页面未被显示,则生成参数调整出错提示信息。
本发明另一方面提供了一种任务执行装置,应用于第一性原理计算软件,包括:
参数采集模块,用于获取目标任务的任务参数信息,以及用于执行所述目标任务的并行资源参数信息;所述任务参数信息为所述目标任务所应用的物理参数,包括所述目标任务包含的原子数、平面波基矢数、能带数和K点数;
参数分析模块,用于基于目标任务特征,对所述并行资源参数信息和所述任务参数信息进行分析,以确定待优化并行计算模式及相应的待优化参数;其中,所述待优化参数为所述并行资源参数信息中的目标并行参数和/或所述任务参数信息中的目标任务参数;
任务执行模块,用于基于所述待优化参数对相应参数进行调整,并采用优化后的并行计算模式执行所述目标任务;所述优化后的并行计算模式包括优化后的K点并行模式、优化后的能带并行模式和多进程叠加多线程的并行模式。
本发明还提供了一种电子设备,包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现如前任一项所述任务执行方法的步骤。
本发明最后还提供了一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如前任一项所述任务执行方法的步骤。
本发明提供的技术方案的优点在于,对于利用第一性原理计算软件在处理给定的目标任务的过程中,通过对目标任务的任务参数信息,及第一性原理计算软件用于执行该目标任务对应的并行资源参数信息进行分析,来确定最终执行该目标任务所适用的最优的并行计算模式,以及需要相适应地对任务参数信息和并行资源参数信息进行优化调整的参数,最后利用优化后的并行计算模式执行任务,从而能够充分利用高性能计算机的计算能力,最大程度利用申请的算力资源,使得第一性原理计算软件能够以最优的参数执行目标任务,实现对目标任务的高效并行运算,有效缩短目标任务的计算时长,提高目标任务的计算效率,能够达到减少耗能的目的,有利于节省任务使用的算力资源。
此外,本发明还针对任务执行方法提供了相应的实现装置、电子设备及可读存储介质,进一步使得所述方法更具有实用性,所述装置、电子设备及可读存储介质具有相应的优点。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本发明。
附图说明
为了更清楚的说明本发明或相关技术的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的一种任务执行方法的流程示意图;
图2为本发明提供的一种任务执行过程中的一个示例性的循环流程示意图;
图3为本发明提供的并行模式的示意图;
图4为本发明提供的一个示例性应用场景的框架示意图;
图5为本发明提供的任务执行装置的一种具体实施方式结构框架示意图;
图6为本发明提供的电子设备的一种具体实施方式结构框架示意图;
图7为本发明提供的第一性原理计算平台的用户界面的一种具体实施方式示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明的技术方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。其中,说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等是用于区别不同的对象,而不是用于描述特定的顺序。此外术语“包括”和“具有”以及二者的任何变形,意图在于覆盖不排他的包含。术语“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
相关技术在利用第一性原理计算软件进行科学计算过程中,会基于用户经验设置所有计算参数,然后直接基于所设置的参数进行后续任务的计算,而凭借用户经验设置的参数对于大规模的科学计算任务并不能实现高效并行运算,而且也无法充分利用申请的算力资源,导致最终计算效率不高,且耗能较高。鉴于此,本发明在对利用第一性原理计算软件处理给定的目标任务的过程中,先对目标任务的任务参数信息,及第一性原理计算软件用于执行该目标任务对应的并行资源参数信息进行分析,来确定最终执行该目标任务所适用的最优的并行计算模式,以及需要相适应地对任务参数信息和并行资源参数信息进行优化调整的参数,最终利用优化后的并行计算模式执行任务,从而能够有效提高任务执行效率,有利于节省任务使用的算力资源。下面详细的说明本发明的各种非限制性实施方式。为了更好的说明本发明,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有这些具体细节,本发明同样可以实施。在另外一些实例中,对于所属领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本发明的主旨。
首先请参见图1,图1为本实施例提供的一种任务执行方法的流程示意图,本实施例可包括以下内容:
S101:获取目标任务的任务参数信息,以及用于执行目标任务的并行资源参数信息。
在本实施例中,目标任务可为任何一种需要使用第一性原理计算软件进行并行计算的任务,也即为一给定的具体研究问题,如科学计算任务。利用第一性原理计算软件对目标任务开展第一性原理计算的过程,也即是执行该目标任务的过程。任务参数信息为目标任务所应用的物理参数,包括但并不限制于NIONS(也即目标任务所包含的原子数)、NPLW(也即目标任务包含的平面波基矢数)、NBANDS(也即目标任务所包含的能带数)及NKPOINTS(也即目标任务所包含的K点数)。并行资源参数信息为执行目标任务过程中所使用的资源数据和用户在提交目标任务时申请的资源数据,并行资源参数信息包括可以调整的并行参数和不可以调整的计算资源参数,计算资源参数包括但并不限制于申请的节点数、总核数、socKet(套接字)数,并行参数包括但并不限制于进程数、线程数。
S102:基于目标任务特征,对并行资源参数信息和任务参数信息进行分析,以确定待优化并行计算模式及相应的待优化参数。
可以理解的是,第一性原理计算软件如VASP在执行目标任务过程中,所有参数也即上述步骤中的任务参数信息中并行资源信息中的各参数都是事先设定好的,这不仅依赖用户的材料科学相关经验,还需要用户熟悉所用的第一性原理计算平台的诸多性能参数。由于所有计算参数都是事先设定好的以及第一性原理计算平台运行特点,即使用户具备了跨学科的充分知识也极易出现为目标任务分配的资源不合适的情况发生,这就导致用户申请的计算资源无法被充分利用,目标任务的执行效率低,但耗能更高,此外,人为设置相关参数会存在不确定性,会发生高概率的参数设置错误。相关技术如VASP会优先获取并行参数,然后计算物理参数,并根据并行参数对实际计算过程做适当调整,但此调整总是走向计算量增加的方向的,也即并无法实现高效执行任务,也无法提高资源利用率。基于此,上个步骤在得到并行资源参数信息和任务参数信息之后,不会直接应用至目标任务的计算或者是任务执行过程中,如不会直接应用于复杂科学计算当中,而是利用本步骤先进行分析使用。
相关技术放在并行参数之后分析的目标任务特征及数组分配节点,也是需要有所调整的。目标任务所应用的物理参数也都是在目标任务计算过程或者是执行过程中采集到的,通常没有办法在触发计算目标任务前准确评估参数数值。比如NKPOINTS计算不仅与原子类型和原子相关联,还与晶格结构及其对称性相关。这就使得在输入文件KPOINTS给出的K点数,仅作为用户简单评估的参数,并非是实际计算的K点数。但是,在对目标任务的实际计算过程中,会直接使用事先设定好的并行参数,这无疑会增加参数设置错误的概率所导致最终任务执行效率低的弊端。所以相关技术为了避免出错,通常采用默认的参数,这就导致用户申请资源无法得到最大化利用和最优化利用。甚至,由于不合理的参数设置,反而会使计算量骤增,导致最终任务执行效率极低。比如对于NBANDS(也即目标任务包含的能带数)设置,NBANDS除了与目标任务的计算体系关联,同时还与申请资源对应的并行规模关联,如NBANDS通常基于关系式NBANDS= max(NELECT(也即总价电子数)/2+NIONS(也即目标任务所包含的原子数)/2,NELECT*0.6)来确定,如果需要更多空带时,通常会在此基础上乘以一个倍数。而若考虑自旋轨道耦合时,则需要在此基础上扩大一倍。但是,相关技术都是物理层面的计算,由于并行模式限制,基于从并行效率角度出发考虑,为了使其总的计算量,不仅与所要执行的目标任务的计算规模有关,还与用户申请资源的并行规模有关,NBANDS最终需要调整为NPAR(并行处理的能带数量)的倍数。
鉴于此,本步骤结合并行资源参数信息和任务参数信息进行分析,为了达到资源最优利用且并行计算效率最高的目的,确定并行资源参数信息和任务参数信息中需要进行优化的参数,本步骤定义为待优化参数。待优化参数可为多个,也可为1个,其即可为并行资源参数信息中能够进行调整的并行参数,为了便于描述,本步骤定义为目标并行参数。虽然可调整的并行参数不是很多,但是并行参数对目标任务并行计算模式的影响是相互制约的,因此待优化参数需要有所侧重,在此基础上,其他并行参数可以在约束范围内进行调整,保证其计算效率保持在较高水平。也即目标并行参数可为并行资源参数信息中能够进行调整的任意一个或任意多个并行参数。待优化参数还可为任务参数信息中任何一个或多个任务参数,为了便于描述,本步骤定义为目标任务参数,换言之,本步骤的待优化参数为并行资源参数信息中的目标并行参数和/或任务参数信息中的目标任务参数。
本实施例的并行计算模式是指目标任务执行过程中所采用的计算方式,也即目标任务的执行过程是并行计算过程,并行计算模式包括但并不限制于K点并行模式、能带并行模式、多线程并行模式和多进程叠加多线程的并行模式,其中K点并行模式为多个K点分配给多个进程同时进行计算,能带并行模式是指多个能带之间并行计算,多线程并行模式是指多个线程同时并行计算,每个线程可用于目标任务包含的平面波基矢数及目标任务包含的原子数等物理参数进行计算,多进程叠加多线程的并行模式是指实现能带内多线程和多进程的同时运行。本步骤通过分析并行资源参数信息和任务参数信息,结合目标任务特征,以达到资源利用率最大且任务执行效率最高为目的选择最合适的并行计算模式来执行目标任务。
S103:基于待优化参数对相应参数进行调整,并采用优化后的并行计算模式执行目标任务。
在上个步骤确定需要进行调整的参数之后,本步骤对相应的参数进行调整,由于参数进行了调整,同时改变的还有与参数相并适应的并行计算模式、数组分配、数据存储方式及前后逻辑一致等,为了保证目标任务的高效执行,还可同时对参数传递及数据存储方式进行相应的优化,本领域技术人员可基于资源利用率最大且任务执行效率最高为目的进行参数调整和其他方面的优化,本申请对此不做任何限定。
在本实施例提供的技术方案中,对于利用第一性原理计算软件处理给定的目标任务的过程中,通过先对目标任务的任务参数信息及第一性原理计算软件用于执行该目标任务对应的并行资源参数信息进行分析,来确定最终执行该目标任务所适用的最优的并行计算模式,以及需要相适应地对任务参数信息和并行资源参数信息中进行优化调整的参数,最后利用优化后的并行计算模式执行任务,从而能够充分利用高性能计算机的计算能力,最大程度利用申请的算力资源,使得第一性原理计算软件能够以最优的参数执行目标任务,实现对目标任务的高效并行运算,有效缩短目标任务的计算时长,提高目标任务的计算效率,能够达到减少耗能的目的,有利于节省任务使用的算力资源。
需要说明的是,本发明中各步骤之间没有严格的先后执行顺序,只要符合逻辑上的顺序,则这些步骤可以同时执行,也可按照某种预设顺序执行,图1只是一种示意方式,并不代表只能是这样的执行顺序。
在上述实施例中,上述实施例对如何分析并行资源参数信息和任务参数信息并不做任何限定,本实施例还给出了分析并行资源参数信息和任务参数信息的一种示例性的实施方式,可包括下述内容:
基于目标任务特征,确定执行目标任务所需的计算资源估计信息;根据并行资源参数信息,确定执行目标任务对应的用户申请资源信息;根据目标任务特征、计算资源估计信息和用户申请资源信息,确定并行资源参数信息和任务参数信息中进行调整的参数,以作为待优化参数。
在本实施例中,目标任务特征为能够反映目标任务的计算规模的一些特征,计算资源估计信息用于表示完成该目标任务所需的算力资源的估计值,计算资源估计信息例如可用机时表示,还可用核时表示,这均不影响本发明的实现。示例性的,目标任务特征可基于任务参数信息确定,根据任务参数信息可确定目标任务的计算量,例如可大概确定完成目标任务所需计算量的量级,通过计算量的量级大概评估所需的算力资源。在确定计算量之后,根据先验经验便可根据计算量确定完成目标任务的机时,以作为计算资源估计信息。用户申请资源信息为用户提交目标任务之前或者是同时申请的执行目标任务的算力资源,也即用户确定的并行计算规模,如总核数、节点数等。基于目标任务特征,结合用户申请资源和实际任务计算规模,以资源充分利用且达到最高计算效率为目的,确定需要进行调整的参数。作为一种高效便捷的计算量确定方式,可预先在本地存储一次循环计算量确定关系式,调用一次循环计算量确定关系式确定目标任务完成一次完整循环计算过程的单次计算量;其中,一次循环计算量确定关系式为:
;C0为单次计算量,Const为倍数,Nb为目标任务包含的能带数,Nplw为目标任务包含的平面波基矢数;然后根据目标任务所需的完整循环计算过程的个数及对应的单次计算量,确定目标任务的计算量。其中,目标任务需要通过多个循环过程进行不断的迭代计算,最终得到最终结果,在确定单次循环迭代计算所需计算量之后,根据循环次数便可最终的计算量。以调用VASP执行目标任务为例,VASP执行目标任务的计算过程包括弛豫计算、静态计算和分子动力学模拟,弛豫计算、静态计算和分子动力学模拟都可以用两个循环来描述,也即对于离子的“外循环”和对于电子的“内循环”,分别对应的物理过程则是离子弛豫和电子弛豫。对于给定目标任务,关键物理过程都是根据量子力学构建体系的薛定谔方程,通过确定薛定谔方程,最终确定电荷密度和波函数。如图2为一个完整的内循环波函数迭代求解过程,从所有能带中取出一组未优化的能带,构成n 1维子空间,可表示为,其中,N为总能带数,为第n条能带,表示子空间,k表示波函数指标,m表示迭代次数。通过添加预处理残差向量K来扩展子空间,该过程可表示为,式中,表示扩展子空间,H为哈密顿量,表示能量本征值,S表示重叠算符。在扩展后的多维子空间(m+1)×n 1中进行优化,得到n 1个目标特征向量,利用扩展后的子空间替代原子空间,也即。若前后两次本征值差距△f(φ)小于预设阈值δ,则用优化后的一组能带替代原始能带,若本征值差距△f(φ)大于等于预设阈值,则再次扩展子空间执行上述过程,直至△f(φ)小于预设阈值δ或达到最大迭代步数,则完成对n 1条能带组的一次优化。然后再取一组未优化的能带,重复如上步骤,直至所有能带均被优化。其中涉及的计算却是极其复杂的,如扩展子空间需要求解的哈密顿量H,其可简化表示如下:
;
其中,△表示拉普拉斯算符,代表动能项,表示势能项的赝势,剩余一项表示交换关联能项,为投影函数右矢,i为相对应指标,为投影函数左矢,j为相应指标。能量对电荷密度的偏微分表达式可表示为:;
其中,为能量对电荷密度偏微分修正量,为能量对电荷密度偏导赝表达式,表示波函数,表示势能项的修正量,为的修正量,为赝电荷密度,为电荷密度修正,可分别展开为:
;
其中,r为位置矢量,为的赝波函数,为密度矩阵,中n为能带指标,n则随着算例的规模变化而有所不同,f表示占据函数。
由上可知,本实施例在获取并行资源参数信息和任务参数信息之后,首先分析目标任务特点以评估计算量量级,然后确定目标任务对计算资源的需求,结合并行计算参数设置进一步分析得到目标任务的申请计算规模与实际计算规模的关系,从而可精准确定能达到高效利用资源且任务执行率高的最优参数,进而实现自动、高效地完成对目标任务的执行,通过优化使得在执行目标任务过程中调整计算参数,合理分配计算资源,能够在提高任务执行效率的同时节省计算资源。
上述实施例对如何确定待优化参数并不做任何限定,本发明还给出根据目标任务特征、计算资源估计信息和用户申请资源信息确定并行资源参数信息和任务参数信息中需要进行调整的参数,可包括下述内容:
根据目标任务特征确定目标任务所属规模类型;基于目标任务所属规模类型、计算资源估计信息和用户申请资源信息之间的关系,确定并行资源参数信息和任务参数信息中进行调整的参数,以作为待优化参数。
在本实施例中,目标任务所属规模类型是指目标任务的实际计算规模所属类型,目标任务所属规模类型为预先设置的多种规模类型,如小规模任务,中等规模任务和大规模任务,示例性的,本实施例可根据目标任务的任务参数信息的原子数来确定目标任务所属规模类型,也即根据目标任务特征确定目标任务所属规模类型的实现过程可包括:从目标任务的任务参数信息中,获取目标任务包含的原子数;若当前原子数小于第一原子数阈值,则目标任务属于第一预设规模任务;若当前原子数大于等于第一原子数阈值且小于第二原子数阈值,则目标任务属于第二预设规模任务;若当前原子数大于等于第二原子数阈值,则目标任务属于第三预设规模任务;其中,第一原子数阈值小于第二原子数阈值,第一预设规模任务对应的计算量小于第二预设规模任务对应的计算量,第二预设规模任务对应的计算量小于第三预设规模任务对应的计算量。举例来说,原子数小于20的目标任务为小规模任务,原子数在20-100之间的目标任务为中等规模任务,原子数超过100的目标任务为大规模任务。
为了在提高资源利用率和提升目标任务的执行效率的基础上,兼顾用户需求,提升用户使用体验,本实施例对待优化参数进行了分类处理,可包括下述内容:
基于目标任务所属规模类型、计算资源估计信息和用户申请资源信息之间的关系,确定并行资源参数信息和任务参数信息中进行调整的至少一个必选优化参数和至少一个备选优化参数;其中,必选优化参数和备选优化参数为待优化参数,必选优化参数的优先级大于备选优化参数的优先级。
基于资源利用率最大为目标,示例性的,可先基于目标任务所属规模类型、计算资源估计信息和用户申请资源信息之间的关系,确定并行资源参数信息和任务参数信息中进行调整的至少一个必选优化参数;若用户申请资源在基于必选优化参数对相应参数调整后的剩余资源大于预设资源阈值,也就是说,调整必选优化参数之后,用户申请资源还能够支撑调节其他参数,则基于目标任务所属规模类型、计算资源估计信息和剩余资源,确定并行资源参数信息和任务参数信息中进行调整的至少一个备选优化参数。
可以理解的是,在对多个参数进行优化过程中,进一步提高任务执行效率,且为了避免抢夺资源等现象发生,待优化参数包括任务参数信息中的并行处理的K点数量和并行处理的能带数,则按照优先级顺序从前到后依次对当前线程数、当前并行处理的K点数量、当前并行处理的能带数量及当前能带内计算所使用的核心数进行调整。
针对不同计算规模的目标任务的待优化参数的确定过程可包括:
若目标任务属于第一预设规模任务,则确定待优化并行计算模式为K点并行模式;基于计算资源估计信息和用户申请资源信息之间的关系,确定目标任务在执行过程中并行处理的K点数量。对于包含少量原子的小规模任务,通常原子数小于20,因为对应倒空间较大,需要给的K点网格通常比较密,如数十个至数百,所以侧重分析其KPOINTS并行模式,基于KRAP进行优化,在对K点数量进行优化过程中,可根据实际目标任务的运行情况或用户需求可对其他并行参数也即备选优化参数做适当调整,但是此时是并行处理的K点数量也即必选优化参数优先的。
若目标任务属于第二预设规模任务,则任务参数信息中的并行处理的K点数量和并行处理的能带数确定待优化并行计算模式为K点并行模式和能带并行模式;基于计算资源估计信息和用户申请资源信息之间的关系,确定目标任务在执行过程中并行处理的K点数量和并行处理的能带数量。对于中等规模任务,通常原子数小于20,常原子数20-100之间,此种情况下,K点数量和能带数量都保持中等水平,可以有效进行并行处理,因此可同时优化并行处理的K点数量和并行处理的能带数量。同样的,可根据实际目标任务的运行情况或用户需求可对其他并行参数也即备选优化参数做适当调整,但是此时是KPAR和NPAR也即必选优化参数优先的。
若目标任务属于第三预设规模任务,则确定对任务参数信息中的能带数以及对并行资源参数信息中的线程数进行调整;基于计算资源估计信息和用户申请资源信息之间的关系,确定目标任务在执行过程中并行处理的线程数及能带内计算所使用的核心数。对于包含数百原子的大规模任务,其包含的K点数只有个位数或是很少的数量,反而是包含的能带数会包含数千条,此时对能带并行模式进行优化则是更有效的,所以此时则主要考虑能带内计算所使用的核心数及NTHREADS(线程数)也即必选优化参数优化,同样的,可根据实际目标任务的运行情况或用户需求可对其他并行参数也即备选优化参数做适当调整。
由上可知,本实施例通过针对不同计算规模的目标任务给出相应需要进行优化的参数,并将待优化参数分为备选优化参数和必选优化参数,并对多个优化参数进行了优化级别的限定,能够更加合理地分配计算资源,提高任务执行效率的同时节省计算资源。
进一步的,本发明还给出了并行计算模式的一种示例性的确定方法,可包括下述内容:
基于任务参数信息确定目标任务对应的物理参数和物理过程,以作为目标任务特征;根据物理参数和物理过程确定执行目标任务所需的计算资源估计信息;根据并行资源参数信息,确定执行目标任务对应的用户申请资源信息;若用户申请资源信息与计算资源估计信息之间的差别大于预设溢出阈值,则目标任务为预设规模并行计算任务,且确定目标任务的并行计算模式为多进程叠加多线程的并行模式。
在本实施例中,任务参数信息包含目标任务所应用的物理参数,基于任务参数信息可以确定在调用第一性原理计算平台执行目标任务的计算过程中所涉及到的物理过程,以及每个物理过程在计算过程中的所涉及到的物理参数,以VASP为例,物理过程可包括弛豫计算、静态计算和分子动力学模拟。结合所调用的第一性原理计算平台对目标任务的计算方式可确定得到执行该目标任务所需的计算量,也即计算资源估计信息。预设溢出阈值为预先设置的衡量用户申请资源是否远远超过目标任务本身所需实际资源的一个经验值,也即当用户申请资源信息不仅大于计算资源估计信息,而且还远超过计算资源估计信息时,可以支持目标任务执行过程中采用超大规模并行计算。基于此,本发明还会对用户申请资源信息与计算资源估计信息的关系进行判断,当用户申请资源信息远超过计算资源估计信息时,也即用户申请资源信息与计算资源估计信息之间的差别大于预设溢出阈值,则判定目标任务为预设规模并行计算任务,预设规模并行计算任务也即为超大规模并行计算任务,此时,执行目标任务所采用的并行计算模式为多进程叠加多线程的并行模式,也即同时使用至少一个进程执行目标任务,且至少一个进程中包括多个同时运行的线程的方式来执行目标任务。
由上可知,本实施例对于用户申请资源远超过目标任务本身所需实际资源时,采用多进程叠加多线程的并行模式处理目标任务,有利于进一步提高资源利用率,提升目标任务执行效率。
上述实施例对如何采用优化后的并行计算模式执行目标任务并不做任何限定,本发明还给出针对目标任务的多进程叠加多线程的并行模式,可包括下述内容:
获取目标任务的能带内计算所使用核心数对应的当前配置数据,并删除当前配置数据;根据目标任务的当前并行处理的K点数量、当前并行处理的能带数量及当前能带内计算所使用的核心数,确定目标任务的单条能带所能利用的总核心数;对并行处理的至少一条目标能带,基于当前目标能带内计算所使用的核心数确定同一时刻运行的目标线程数和目标进程数,以作为多进程叠加多线程的并行模式的并行计算参数;基于各目标进程和各目标线程执行目标任务。其中,进程数乘以线程数即为能带内计算使用的核心数。
可以理解的是,多线程并行共享内存或者多进程并行共享内存可有效提升数据读取速度,进而能够提高任务执行效率和资源利用率,用户常使用多线程并行提交计算任务,而且多线程并行常包含在带内并行展开中,但是并不限于此,除了带内处理,依然存在很多可以多线程展开的循环。以能带内多线程并行为例,因为带内并行线程数增大,虽然可以有效使平面波系数并行,提高快速傅里叶变化的计算速度,但是其MPI(Multi PointInterface,信息传递接口)通信函数占比会大幅增大。使用多线程可以有效的降低部分数据通讯的占比,但是线程数并不能设置过大,超过共享内存核心数的限制。换言之,虽然可以通过输入文件和计算提交命令同时设置带内并行参数,如能带内计算所使用的核心数和线程数,但其实二者并非同时起作用,导致大规模计算效率低。可见,多线程并行或者多进程并行并不能满足超大规模并行计算的需求,为了提升整个任务的执行效率以及资源利用率,需要有效的使用多进程叠加多线程的并行模式。而目前相关技术并不支持多进程叠加多线程的并行模式,以第一性原理计算平台为VASP为例,VASP支持OPENMP(计算机编程术语)多线程并行计算,其源代码中给如下代码段:
#ifdef _OPENMP
! When using more than one OpenMP thread we only support NCORE=1
!for now
IF (OMP_GET_MAX_THREADS()>1) THEN
NCORE=1;NPAR=MAX(COMM_KIN%NCPU/NCORE,1)
ENDIF
#endif
基于上述代码可知,相关技术调用多线程模式执行目标任务时,能带内计算所使用的核心数将被强制修改为1,这就导致带内多线程和多进程不能同时使用,此外,还会使原来带内并行参数能带内计算所使用的核心数和并行处理的能带数量参数同时失效,改变并行模式。所以,本实施例为实现多进程叠加多线程的并行模式,需要先定位这些代码,然后将其删除,也即删除目标任务的能带内计算所使用核心数对应的当前配置数据,从而在调用多线程计算时,依然可以有效的使用多进程计算。
在本实施例中,目标任务在执行过程中,是将自旋、K点数量、能带和平面波进行层层展开并行计算的,如图3所示,一般最外层循环展开为K点的并行展开,各并列层依次为第一个K点、第KPAR(也即并行处理的K点数量)+1个K点,第二个K点、第KPAR+2个K点,…,第KPAR个K点、第KPAR*2个K点,其中,KPAR可被总的K点数量整除。不同的进程分配给不同的K点,由并行处理的K点数量调控。由于每个K点内包含所有能带的信息,第二层展开为能带之间的并行,对于每一个K点的并列层,其包含多个并行展开的能带,依次为第一条能带、第NPAR(也即并行处理的能带数量)+1个K点,第二条能带、第NPAR+2条能带,…,第NPAR条能带、第NPAR*2条能带,由并行处理的能带数量调控。最后一层一般为能带内的并行展开,对每一个能带并列层,可使用一组核心作为一个通讯组,该组核心可包括多个进程叠加多个线程,进程数乘以线程数即为能带内计算使用的核心数,由能带内计算所使用的核心数调控。其中,目标任务的总进程数可根据目标任务的当前并行处理的K点数量、当前并行处理的能带数量及当前能带内计算所使用的核心数来确定,例如目标任务的总进程数=目标任务的当前并行处理的K点数量*当前并行处理的能带数量*当前能带内计算所使用的核心数。其中,并行处理的能带数量也即NPAR和能带内计算所使用的核心数也即NCORE只需要设置一个即可,另外一个可根据关系式NCORE=total number cores/NPAR计算得到,这两个参数可以依据实际的机器情况及计算问题设置,例如NPAR=4、6、8或者NCORE=12,其中,totalnumber cores为总核数,可从并行资源参数信息中获取到。这几个参数的优先级为并行处理的K点数量>并行处理的能带数量>能带内计算所使用的核心数,此外,多线程运行任务需要修改的是提交任务的命令,因此,线程数设置参数是优先于如上提及的三个输入参数的。由此可见,多进程叠加多线程的并行模式为并行模式的二维分布维度,在其逐层展开计算过程中,目标任务的平面波基矢数、目标任务所包含的原子数等参数的循环展开方式都将随之变动。因此,需要对目标任务包含的平面波基矢数及NION等众多参数的循环展开所涉及到的参数一一进行优化,最终实现并行优化功能,继而进行后续计算与求解过程。
由上可知,本实施例通过多进程叠加多线程的并行模式可以大幅提升任务执行效率和资源利用率。
最后,基于上述本发明的技术方案,下面结合图4对本发明的技术方案涉及的一些可能的应用场景进行举例介绍,图4为本发明提供的一种任务执行方法所适用的硬件组成框架示意图,可包括下述内容:
本实施例的硬件组成框架可以包括第一电子设备41和第二电子设备42,第一电子设备41和第二电子设备42之间通过网络43连接。科学计算为利用计算机再现、预测和发现客观世界运动规律和演化特征的全过程,其为解决科学和工程中的数学问题利用计算机进行的数值计算。自然科学规律通常用各种类型的数学方程式表达,科学计算的目的就是寻找这些方程式的数值解,随着计算机技术的迅速发展,智算中心为科学计算提供大量算力资源。VASP基于密度泛函理论,利用赝势和平面波基矢近似求解Schrödinger(也即薛定谔波动方程),因其具备高效的计算效率和精确的计算结果而被广泛应用于计算凝聚态物理学、材料模拟和量子化学计算等诸多科学研究领域,因此全球绝大多数的高性能计算中心都安装了VASP软件,且VASP作业的使用机时约占比总是位居前列。基于此,第一电子设备41为高性能计算中心,其部署VASP软件作为第一性原理计算平台以及用于执行上述任意一实施例所记载的任务执行方法的处理器,第二电子设备42部署用于提供人机交互界面的用户端,用于向第一电子设备41申请算力资源,并提交目标任务,目标任务为科学计算任务。对于给定的根据具体研究问题-也即目标任务,根据计算VASP软件要求和任务材料特点进行输入文件的构建,并确定使用的并行计算规模。VASP为计算密集型和内存带宽限制型的第一性原理计算软件,为了提高VASP对科学计算任务的执行效率,利用第一电子设备41完成上述实施例所记载的任务执行方法中的全部或部分步骤,实现对VASP的并行模式进行优化,使得在VASP的循环中,可以利用并行处理的K点数量、并行处理的能带数量和能带内计算所使用的核心数来进行并行模式的调整,达到资源最优化利用和任务执行效率最高的目的。
基于上述本申请的技术方案,本发明实施例的应用场景之一,可以通过第二电子设备42与用户之间的交互来实现,在这一应用场景中,用户通过第二电子设备42下发命令或请求或上传数据或访问信息,访问信息可以是通过第二电子设备42与第一电子设备41之间进行交互来进行访问第一电子设备41上的信息,或者,是用于直接访问第二电子设备42自身的信息,本实施例对此不做限定。
需要注意的是,上述应用场景仅是为了便于理解本发明的思想和原理而示出,本发明的实施方式在此方面不受任何限制。相反,本发明的实施方式可以应用于适用的任何场景。
由上可知,本实施例能够有效提高VASP任务执行效率,有利于节省任务使用的算力资源。
本发明还针对任务执行方法提供了相应的装置,进一步使得方法更具有实用性。其中,装置可从功能模块的角度和硬件的角度分别说明。下面对本发明提供的任务执行装置进行介绍,该装置用以实现本发明提供的任务执行方法。以下描述将具体介绍本实施例各程序模块的功能,下文描述的任务执行装置与上文描述的任务执行方法可相互对应参照。
基于功能模块的角度,参见图5,图5为本实施例提供的任务执行装置在一种具体实施方式下的结构图,该装置可包括:
参数采集模块501,用于获取目标任务的任务参数信息,以及用于执行目标任务的并行资源参数信息;
参数分析模块502,用于基于目标任务特征,对并行资源参数信息和任务参数信息进行分析,以确定待优化并行计算模式及相应的待优化参数;其中,待优化参数为并行资源参数信息中的目标并行参数和/或任务参数信息中的目标任务参数;
任务执行模块503,用于基于待优化参数对相应参数进行调整,并采用优化后的并行计算模式执行目标任务。
示例性的,在本实施例的一些实施方式中,上述参数分析模块502还可用于:
基于目标任务特征,确定执行目标任务所需的计算资源估计信息;
根据并行资源参数信息,确定执行目标任务对应的用户申请资源信息;
根据目标任务特征、计算资源估计信息和用户申请资源信息,确定并行资源参数信息和任务参数信息中进行调整的参数,以作为待优化参数。
作为上述实施例的一种示例性的实施方式,上述参数分析模块502还可用于:
根据任务参数信息确定目标任务的计算量;根据计算量确定完成目标任务的机时,以作为计算资源估计信息。
作为上述实施例的一种示例性的实施方式,上述参数分析模块502还可进一步用于:
调用一次循环计算量确定关系式,确定目标任务完成一次完整循环计算过程的单次计算量;其中,一次循环计算量确定关系式为:
;C0为单次计算量,Const为倍数,Nb为目标任务包含的能带数,Nplw为目标任务包含的平面波基矢数;
根据目标任务所需的完整循环计算过程的个数及对应的单次计算量,确定目标任务的计算量。
作为上述实施例的另一种示例性的实施方式,上述参数分析模块502还可用于:
根据目标任务特征确定目标任务所属规模类型;
基于目标任务所属规模类型、计算资源估计信息和用户申请资源信息之间的关系,确定并行资源参数信息和任务参数信息中进行调整的参数,以作为待优化参数。
作为上述实施例的一种示例性的实施方式,上述参数分析模块502还可进一步用于:
从目标任务的任务参数信息中,获取目标任务包含的原子数;
若当前原子数小于第一原子数阈值,则目标任务属于第一预设规模任务;
若当前原子数大于等于第一原子数阈值且小于第二原子数阈值,则目标任务属于第二预设规模任务;
若当前原子数大于等于第二原子数阈值,则目标任务属于第三预设规模任务;
其中,第一原子数阈值小于第二原子数阈值,第一预设规模任务对应的计算量小于第二预设规模任务对应的计算量,第二预设规模任务对应的计算量小于第三预设规模任务对应的计算量。
作为上述实施例的另一种示例性的实施方式,上述参数分析模块502还可进一步用于:
若目标任务属于第一预设规模任务,则确定待优化并行计算模式为K点并行模式;基于计算资源估计信息和用户申请资源信息之间的关系,确定目标任务在执行过程中并行处理的K点数量。
作为上述实施例的再一种示例性的实施方式,上述参数分析模块502还可进一步用于:
若目标任务属于第二预设规模任务,则任务参数信息中的并行处理的K点数量和并行处理的能带数确定待优化并行计算模式为K点并行模式和能带并行模式;
基于计算资源估计信息和用户申请资源信息之间的关系,确定目标任务在执行过程中并行处理的K点数量和并行处理的能带数量。
作为上述实施例的再一种示例性的实施方式,上述参数分析模块502还可进一步用于:
若目标任务属于第三预设规模任务,则确定对任务参数信息中的能带数以及对并行资源参数信息中的线程数进行调整;
基于计算资源估计信息和用户申请资源信息之间的关系,确定目标任务在执行过程中并行处理的线程数及能带内计算所使用的核心数。
作为上述实施例的再一种示例性的实施方式,上述参数分析模块502还可进一步用于:
基于目标任务所属规模类型、计算资源估计信息和用户申请资源信息之间的关系,确定并行资源参数信息和任务参数信息中进行调整的至少一个必选优化参数和至少一个备选优化参数;
其中,必选优化参数和备选优化参数为待优化参数,必选优化参数的优先级大于备选优化参数的优先级。
作为上述实施例的一种示例性的实施方式,上述参数分析模块502进一步还可用于:
基于目标任务所属规模类型、计算资源估计信息和用户申请资源信息之间的关系,确定并行资源参数信息和任务参数信息中进行调整的至少一个必选优化参数;
若用户申请资源在基于必选优化参数对相应参数调整后的剩余资源大于预设资源阈值,则基于目标任务所属规模类型、计算资源估计信息和剩余资源,确定并行资源参数信息和任务参数信息中进行调整的至少一个备选优化参数。
示例性的,在本实施例的另一些实施方式中,上述任务执行模块503还可用于:
待优化参数包括任务参数信息中的并行处理的K点数量和并行处理的能带数,并行资源参数信息中的线程数,按照优先级顺序从前到后依次对当前线程数、当前并行处理的K点数量、当前并行处理的能带数量及当前能带内计算所使用的核心数进行调整。
示例性的,在本实施例的再一些实施方式中,上述参数分析模块502还可用于:
基于任务参数信息确定目标任务对应的物理参数和物理过程,以作为目标任务特征;
根据物理参数和物理过程确定执行目标任务所需的计算资源估计信息;
根据并行资源参数信息,确定执行目标任务对应的用户申请资源信息;
若用户申请资源信息与计算资源估计信息之间的差别大于预设溢出阈值,则目标任务为预设规模并行计算任务,且确定目标任务的并行计算模式为多进程叠加多线程的并行模式;
其中,用户申请资源信息大于计算资源估计信息;多进程叠加多线程的并行模式为同时使用至少一个进程执行目标任务,且进程中包括多个同时运行的线程。
示例性的,在本实施例的再一些实施方式中,上述任务执行模块503还可用于:
目标任务的并行计算模式为多进程叠加多线程的并行模式,获取目标任务的能带内计算所使用核心数对应的当前配置数据,并删除当前配置数据;
根据目标任务的当前并行处理的K点数量、当前并行处理的能带数量及当前能带内计算所使用的核心数,确定目标任务的单条能带所能利用的总核心数;
对并行处理的至少一条目标能带,基于当前目标能带内计算所使用的核心数确定同一时刻运行的目标线程数和目标进程数,以作为多进程叠加多线程的并行模式的并行计算参数;
基于各目标进程和各目标线程执行目标任务。
本实施例任务执行装置的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
由上可知,本实施例能够有效提高任务执行效率,有利于节省任务使用的算力资源。
上文中提到的任务执行装置是从功能模块的角度描述,进一步的,本发明还提供一种电子设备,是从硬件角度描述。图6为本发明实施例提供的电子设备在一种实施方式下的结构示意图。如图6所示,该电子设备包括存储器60,用于存储计算机程序;处理器61,用于执行计算机程序时实现如上述任一实施例提到的任务执行方法的步骤。
其中,处理器61可以包括一个或多个处理核心,比如4核心处理器、8核心处理器,处理器61还可为控制器、微控制器、微处理器或其他数据处理芯片等。处理器61可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable GateArray,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器61也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central Processing Unit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器61可以集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器61还可以包括AI(ArtificialIntelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器60可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器60还可包括高速随机存取存储器以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。存储器60在一些实施例中可以是电子设备的内部存储单元,例如服务器的硬盘。存储器60在另一些实施例中也可以是电子设备的外部存储设备,例如服务器上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(SecureDigital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器60还可以既包括电子设备的内部存储单元也包括外部存储设备。存储器60不仅可以用于存储安装于电子设备的应用软件及各类数据,例如:执行任务执行方法过程中的程序的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。本实施例中,存储器60至少用于存储以下计算机程序601,其中,该计算机程序被处理器61加载并执行之后,能够实现前述任一实施例公开的任务执行方法的相关步骤。另外,存储器60所存储的资源还可以包括操作系统602和数据603等,存储方式可以是短暂存储或者永久存储。其中,操作系统602可以包括Windows、Unix、Linux等。数据603可以包括但不限于任务执行结果对应的数据等。
在一些实施例中,上述电子设备还可包括有显示屏62、输入输出接口63、通信接口64或者称为网络接口、电源65以及通信总线66。其中,显示屏62、输入输出接口63比如键盘(Keyboard)属于用户接口,示例性的用户接口还可以包括标准的有线接口、无线接口等。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。显示器也可以适当的称为显示屏或显示单元,用于显示在电子设备中处理的信息以及用于显示可视化的用户界面。通信接口64示例性的可以包括有线接口和/或无线接口,如WI-FI接口、蓝牙接口等,通常用于在电子设备与其他电子设备之间建立通信连接。通信总线66可以是外设部件互连标准(peripheral component interconnect,简称PCI)总线或扩展工业标准结构(extendedindustry standard architecture,简称EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
本领域技术人员可以理解,图6中示出的结构并不构成对该电子设备的限定,可以包括比图示更多或更少的组件,例如还可包括实现各类功能的传感器67。
本实施例电子设备的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
由上可知,本实施例能够有效提高任务执行效率,有利于节省任务使用的算力资源。
可以理解的是,如果上述实施例中的任务执行方法以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对相关技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、电可擦除可编程ROM、寄存器、硬盘、多媒体卡、卡型存储器(例如SD或DX存储器等)、磁性存储器、可移动磁盘、CD-ROM、磁碟或者光盘等各种可以存储程序代码的介质。
基于此,本发明还提供了一种可读存储介质,存储有计算机程序,计算机程序被处理器执行时如上任意一实施例任务执行方法的步骤。
本发明还提供了一种第一性原理计算平台701,第一性原理计算平台701是基于如上任意一实施例任务执行方法对现有的第一性原理计算软件的改进,将实现如上任意一实施例任务执行方法的步骤的计算机程序对现有的第一性原理计算软件的原有计算机程序进行相应的修改,以被处理器执行时如上任意一实施例任务执行方法的步骤。实现如上任意一实施例任务执行方法的步骤的计算机程序可以包括或被分割成一个或多个程序模块,该一个或多个程序模块被存储在存储介质中,并由一个或多个处理器所执行,已完成实施例一公开的任务执行方法。本实施例所称的程序模块是指能够完成特定功能的一系列计算机程序指令段。
示例性的,第一性原理计算平台701包括一用户界面,如图7所示,该用户界面在本实施例中还包括一任务执行模式显示页面和一优化信息显示页面。其中,任务执行模式显示页面可包括模式显示区域和模式选择区域;模式显示区域用于显示通过分析并行资源参数信息和任务参数信息自动确定的最优并行计算模式;模式选择区域包括备选并行计算模式显示区域和自定义模式输入框;备选并行计算模式显示区域用于显示当前支持的其他可选的并行计算模式以及对应的选择项,用户通过该选择项可以选定对应的备选并行计算模式作为执行目标任务所选择的并行计算模式,自定义模式输入框用于接收用户输入的自定义并行计算模式。优化信息显示页面可包括必选优化参数显示区域和备选优化参数显示区域;必选优化参数显示区域用于显示必须要调整的必须优化参数,如必须优化参数1、必须优化参数2等。备选优化参数显示区域还包括参数选择选项和自定义参数输入框,参数选择选项为各备选优化参数以及对应的选择项,如备选优化参数1、备选优化参数2等,通过点击选择项可以选择对应的备选优化参数作为待优化参数进行优化调整,自定义参数输入框用于接收用户输入的自定义优化参数,该自定义优化参数被用户确认选择之后,其作为待优化参数。进一步的,为了提高实用性,用户界面还包括触发生成一信息提示框,该信息提示框用于在检测到触发信号后被弹出并显示在用户界面上,以向用户展示选择项,选择项包括取消项、确定项和重选项。触发信号包括但并不限制于用户的参数选择指令和/或模式选择指令和/或任务优化配置指令。
相应的,在对所述并行资源参数信息和所述任务参数信息进行分析之后,还包括:
预先在第一性原理计算软件的用户界面构建任务执行模式显示页面;任务执行模式显示页面包括模式显示区域和模式选择区域;模式选择区域包括备选并行计算模式显示区域;
在任务执行模式显示页面的相应区域显示最优并行计算模式和/或至少一个备选并行计算模式;当检测到用户的模式选择指令,通过解析模式选择指令确定用户从各备选并行计算模式中选定的目标并行计算模式,并将目标并行计算模式作为待优化并行计算模式,由于并行计算模式与参数相匹配,如待优化并行计算模式为K点并行模式,则需要相应调整的参数即为并行处理的K点数量。由于最优并行计算模式是系统自动选择的模式,对应的优化信息显示页面所显示的必选优化参数和备选优化参数均是与当前的最优并行计算模式相配的,所以当用户不选择最优并行计算模式执行后续任务,而是通过自定义模式输入框输入自定义并行计算模式或者是在备选并行计算模式中选择一个,则需要对应调整相匹配的待优化参数,也即优化信息显示页面所显示的内容会相应发生调整。当预设时间段内如10s内未接收到用户的模式选择指令,则将最优并行计算模式作为待优化并行计算模式。
预先在第一性原理计算软件的用户界面构建优化信息显示页面;优化信息显示页面包括必选优化参数显示区域和备选优化参数显示区域;其中,备选优化参数显示区域还包括参数选择选项;
在优化信息显示页面的相应区域显示至少一个必选优化参数和/或至少一个备选优化参数;当检测到用户的参数选择指令,通过解析参数选择指令确定用户选定的目标备选优化参数,以作为待优化参数;当预设时间段如10s内未接收到用户的参数选择指令,则将备选优化参数显示区域中的所有备选优化参数都默认作为待优化参数。
当接收到用户的任务优化配置指令,通过解析任务优化配置指令得到自定义并行计算模式和/或自定义优化参数;将自定义并行计算模式作为待优化并行计算模式,同时对应调整相匹配的待优化参数;将自定义优化参数作为待优化参数;其中,自定义参数输入框用于接收用户输入的自定义优化参数;自定义模式输入框用于接收用户输入的自定义并行计算模式。
在基于待优化参数对相应参数进行调整之前,当检测到用户的参数选择指令和/或模式选择指令和/或任务优化配置指令,向用户展示信息提示框,从而使得用户对当前所选择的备选优化参数、备选计算模式、自定义优化参数和自定义计算模式进一步进行确定。进一步的,为了提高任务执行效率,避免系统获取到任务参数信息之后直接执行目标任务,也即直接进行目标任务的计算过程,而未经参数分析和参数调整导致最终任务执行效率不高,资源利用率不高的情况发生,本实施例的第一性原理计算平台701的用户界面还可包括警示信息提示框,也即预先在第一性原理计算软件的用户界面构建警示信息提示框;其中,警示信息提示框用于显示参数调整出错提示信息;参数调整出错提示信息为第一性原理计算平台在优化信息显示页面未显示之前,开始对目标任务进行计算时被生成,
在获取目标任务的任务参数信息之后,可以实时调用预先构建的任务执行监测线程检测第一性原理计算平台是否执行目标任务,当检测到目标任务处于执行状态,可判断优化信息显示页面是否被显示;当判定优化信息显示页面未被显示,则生成参数调整出错提示信息。相应的,还可预先设置一强制终止机制,当检测到生成参数调整出错提示信息或检测到警示信息提示框弹出,可同时触发强制终止机制,通过强制终止机制可强制终止当前目标任务的计算过程。由上可知,本实施例能够有效提高任务执行效率,有利于节省任务使用的算力资源。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的硬件包括装置及电子设备而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
以上对本发明所提供的一种任务执行方法、装置、电子设备及可读存储介质进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,基于本发明中的实施例,对于本技术领域的普通技术人员来说,在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
Claims (21)
1.一种任务执行方法,其特征在于,通过第一性原理计算软件对目标任务进行第一性原理计算的过程,包括:
获取所述目标任务的任务参数信息,以及用于执行所述目标任务的并行资源参数信息;
基于目标任务特征,对所述并行资源参数信息和所述任务参数信息进行分析,以确定待优化并行计算模式及相应的待优化参数;
基于所述待优化参数对相应参数进行调整,并采用优化后的并行计算模式执行所述目标任务;
其中,所述任务参数信息为所述目标任务所应用的物理参数,包括所述目标任务包含的原子数、平面波基矢数、能带数和K点数;所述优化后的并行计算模式包括优化后的K点并行模式、优化后的能带并行模式和多进程叠加多线程的并行模式;所述待优化参数为所述并行资源参数信息中的目标并行参数和/或所述任务参数信息中的目标任务参数;
其中,所述基于目标任务特征,对所述并行资源参数信息和所述任务参数信息进行分析,以确定待优化并行计算模式及相应的待优化参数,包括:
基于所述目标任务特征,确定执行所述目标任务所需的计算资源估计信息;
根据所述并行资源参数信息,确定执行所述目标任务对应的用户申请资源信息;
根据所述目标任务特征、所述计算资源估计信息和所述用户申请资源信息,确定所述并行资源参数信息和所述任务参数信息中进行调整的参数,以作为待优化参数。
2.根据权利要求1所述的任务执行方法,其特征在于,所述目标任务特征基于所述任务参数信息确定,所述基于所述目标任务特征,确定执行所述目标任务所需的计算资源估计信息,包括:
根据所述任务参数信息确定所述目标任务的计算量;
根据所述计算量确定完成所述目标任务的机时,以作为所述计算资源估计信息。
3.根据权利要求2所述的任务执行方法,其特征在于,所述根据所述任务参数信息确定所述目标任务的计算量,包括:
调用一次循环计算量确定关系式,确定所述目标任务完成一次完整循环计算过程的单次计算量;其中,所述一次循环计算量确定关系式为:
;C0为单次计算量,Const为倍数,Nb为所述目标任务包含的能带数,Nplw为所述目标任务包含的平面波基矢数;
根据所述目标任务所需的完整循环计算过程的个数及对应的单次计算量,确定所述目标任务的计算量。
4.根据权利要求1所述的任务执行方法,其特征在于,所述根据所述目标任务特征、所述计算资源估计信息和所述用户申请资源信息,确定所述并行资源参数信息和所述任务参数信息中进行调整的参数,以作为待优化参数,包括:
根据所述目标任务特征确定所述目标任务所属规模类型;
基于所述目标任务所属规模类型、所述计算资源估计信息和所述用户申请资源信息之间的关系,确定所述并行资源参数信息和所述任务参数信息中进行调整的参数,以作为待优化参数。
5.根据权利要求4所述的任务执行方法,其特征在于,所述根据所述目标任务特征确定所述目标任务所属规模类型,包括:
从所述目标任务的任务参数信息中,获取所述目标任务包含的原子数;
若当前原子数小于第一原子数阈值,则所述目标任务属于第一预设规模任务;
若当前原子数大于等于第一原子数阈值且小于第二原子数阈值,则所述目标任务属于第二预设规模任务;
若当前原子数大于等于第二原子数阈值,则所述目标任务属于第三预设规模任务;
其中,所述第一原子数阈值小于第二原子数阈值,所述第一预设规模任务对应的计算量小于第二预设规模任务对应的计算量,所述第二预设规模任务对应的计算量小于第三预设规模任务对应的计算量。
6.根据权利要求4所述的任务执行方法,其特征在于,所述基于所述目标任务所属规模类型、所述计算资源估计信息和所述用户申请资源信息之间的关系,确定所述并行资源参数信息和所述任务参数信息中进行调整的参数,以作为待优化参数,包括:
若所述目标任务属于第一预设规模任务,则确定所述待优化并行计算模式为K点并行模式;
基于所述计算资源估计信息和所述用户申请资源信息之间的关系,确定所述目标任务在执行过程中并行处理的K点数量。
7.根据权利要求4所述的任务执行方法,其特征在于,所述基于所述目标任务所属规模类型、所述计算资源估计信息和所述用户申请资源信息之间的关系,确定所述并行资源参数信息和所述任务参数信息中进行调整的参数,以作为待优化参数,包括:
若所述目标任务属于第二预设规模任务,则确定所述待优化并行计算模式为K点并行模式和能带并行模式;
基于所述计算资源估计信息和所述用户申请资源信息之间的关系,确定所述目标任务在执行过程中并行处理的K点数量和并行处理的能带数量。
8.根据权利要求4所述的任务执行方法,其特征在于,所述基于所述目标任务所属规模类型、所述计算资源估计信息和所述用户申请资源信息之间的关系,确定所述并行资源参数信息和所述任务参数信息中进行调整的参数,以作为待优化参数,包括:
若所述目标任务属于第三预设规模任务,则确定对所述任务参数信息中的能带数以及对所述并行资源参数信息中的线程数进行调整;
基于所述计算资源估计信息和所述用户申请资源信息之间的关系,确定所述目标任务在执行过程中并行处理的线程数及能带内计算所使用的核心数。
9.根据权利要求4所述的任务执行方法,其特征在于,所述基于所述目标任务所属规模类型、所述计算资源估计信息和所述用户申请资源信息之间的关系,确定所述并行资源参数信息和所述任务参数信息中进行调整的参数,以作为待优化参数,包括:
基于所述目标任务所属规模类型、所述计算资源估计信息和所述用户申请资源信息之间的关系,确定所述并行资源参数信息和所述任务参数信息中进行调整的至少一个必选优化参数和至少一个备选优化参数;
其中,所述必选优化参数和所述备选优化参数为所述待优化参数,所述必选优化参数的优先级大于所述备选优化参数的优先级。
10.根据权利要求9所述的任务执行方法,其特征在于,所述基于所述目标任务所属规模类型、所述计算资源估计信息和所述用户申请资源信息之间的关系,确定所述并行资源参数信息和所述任务参数信息中进行调整的至少一个必选优化参数和至少一个备选优化参数,包括:
基于所述目标任务所属规模类型、所述计算资源估计信息和所述用户申请资源信息之间的关系,确定所述并行资源参数信息和所述任务参数信息中进行调整的至少一个必选优化参数;
若用户申请资源在基于所述必选优化参数对相应参数调整后的剩余资源大于预设资源阈值,则基于所述目标任务所属规模类型、所述计算资源估计信息和所述剩余资源,确定所述并行资源参数信息和所述任务参数信息中进行调整的至少一个备选优化参数。
11.根据权利要求1所述的任务执行方法,其特征在于,所述待优化参数包括所述任务参数信息中的并行处理的K点数量和并行处理的能带数,所述并行资源参数信息中的线程数,所述基于所述待优化参数对相应参数进行调整,包括:
按照优先级顺序从前到后依次对当前线程数、当前并行处理的K点数量、当前并行处理的能带数及当前能带内计算所使用的核心数进行调整。
12.根据权利要求1所述的任务执行方法,其特征在于,所述基于目标任务特征,对所述并行资源参数信息和所述任务参数信息进行分析,以确定待优化并行计算模式及相应的待优化参数,包括:
基于所述任务参数信息确定所述目标任务对应的物理参数和物理过程,以作为目标任务特征;
根据所述物理参数和所述物理过程确定执行所述目标任务所需的计算资源估计信息;
根据所述并行资源参数信息,确定执行所述目标任务对应的用户申请资源信息;
若所述用户申请资源信息与所述计算资源估计信息之间的差别大于预设溢出阈值,则所述目标任务为预设规模并行计算任务,且确定所述目标任务的并行计算模式为多进程叠加多线程的并行模式;
其中,所述用户申请资源信息大于所述计算资源估计信息;所述多进程叠加多线程的并行模式为同时使用至少一个进程执行所述目标任务,且所述进程中包括多个同时运行的线程。
13.根据权利要求1至12任意一项所述的任务执行方法,其特征在于,所述目标任务的并行计算模式为多进程叠加多线程的并行模式,所述采用优化后的并行计算模式执行所述目标任务,包括:
获取所述目标任务的能带内计算所使用核心数对应的当前配置数据,并删除所述当前配置数据;
根据所述目标任务的当前并行处理的K点数量、当前并行处理的能带数量及当前能带内计算所使用的核心数,确定所述目标任务的单条能带所能利用的总核心数;
对并行处理的至少一条目标能带,基于当前目标能带内计算所使用的核心数确定同一时刻运行的目标线程数和目标进程数,以作为所述多进程叠加多线程的并行模式的并行计算参数;
基于各目标进程和各目标线程执行所述目标任务。
14.根据权利要求1所述的任务执行方法,其特征在于,所述对所述并行资源参数信息和所述任务参数信息进行分析之后,还包括:
预先在所述第一性原理计算软件的用户界面构建任务执行模式显示页面;所述任务执行模式显示页面包括模式显示区域和模式选择区域;所述模式选择区域包括备选并行计算模式显示区域;
在所述任务执行模式显示页面的相应区域显示最优并行计算模式和/或至少一个备选并行计算模式;
当检测到用户的模式选择指令,通过解析所述模式选择指令确定用户从各备选并行计算模式中选定的目标并行计算模式,并将所述目标并行计算模式作为待优化并行计算模式,同时对应调整相匹配的待优化参数;当预设时间段内未接收到用户的模式选择指令,则将所述最优并行计算模式作为待优化并行计算模式;
其中,所述模式显示区域用于显示通过分析所述并行资源参数信息和所述任务参数信息自动确定的最优并行计算模式。
15.根据权利要求1所述的任务执行方法,其特征在于,所述对所述并行资源参数信息和所述任务参数信息进行分析之后,还包括:
预先在所述第一性原理计算软件的用户界面构建优化信息显示页面;所述优化信息显示页面包括必选优化参数显示区域和备选优化参数显示区域;其中,所述备选优化参数显示区域还包括参数选择选项;
在所述优化信息显示页面的相应区域显示至少一个必选优化参数和/或至少一个备选优化参数;
当检测到用户的参数选择指令,通过解析所述参数选择指令确定用户选定的目标备选优化参数,以作为待优化参数;当预设时间段内未接收到用户的参数选择指令,则将所述备选优化参数显示区域中的各备选优化参数作为待优化参数。
16.根据权利要求14或15所述的任务执行方法,其特征在于,所述用户界面还包括自定义输入框;所述自定义输入框包括位于模式选择区域的自定义模式输入框,和位于备选优化参数显示区域中的自定义参数输入框;所述对所述并行资源参数信息和所述任务参数信息进行分析之后,还包括:
当接收到用户的任务优化配置指令,通过解析所述任务优化配置指令得到自定义并行计算模式和/或自定义优化参数;
将所述自定义并行计算模式作为待优化并行计算模式,同时对应调整相匹配的待优化参数;
将所述自定义优化参数作为待优化参数;
其中,所述自定义参数输入框用于接收用户输入的自定义优化参数;所述自定义模式输入框用于接收用户输入的自定义并行计算模式。
17.根据权利要求16所述的任务执行方法,其特征在于,所述用户界面还包括信息提示框,所述基于所述待优化参数对相应参数进行调整之前,还包括:
当检测到用户的参数选择指令和/或模式选择指令和/或任务优化配置指令,向用户展示所述信息提示框;
其中,所述信息提示框包括取消项、确定项和重选项。
18.根据权利要求1至12任意一项所述的任务执行方法,其特征在于,还包括:
预先在所述第一性原理计算软件的用户界面构建警示信息提示框;其中,所述警示信息提示框用于显示参数调整出错提示信息;
当检测到目标任务处于执行状态,判断优化信息显示页面是否被显示;
当判定所述优化信息显示页面未被显示,则生成参数调整出错提示信息。
19.一种任务执行装置,其特征在于,应用于第一性原理计算软件,包括:
参数采集模块,用于获取目标任务的任务参数信息,以及用于执行所述目标任务的并行资源参数信息;所述任务参数信息为所述目标任务所应用的物理参数,包括所述目标任务包含的原子数、平面波基矢数、能带数和K点数;
参数分析模块,用于基于目标任务特征,对所述并行资源参数信息和所述任务参数信息进行分析,以确定待优化并行计算模式及相应的待优化参数;其中,所述待优化参数为所述并行资源参数信息中的目标并行参数和/或所述任务参数信息中的目标任务参数;
任务执行模块,用于基于所述待优化参数对相应参数进行调整,并采用优化后的并行计算模式执行所述目标任务;所述优化后的并行计算模式包括优化后的K点并行模式、优化后的能带并行模式和多进程叠加多线程的并行模式;
其中,所述参数分析模块进一步用于:
基于所述目标任务特征,确定执行所述目标任务所需的计算资源估计信息;
根据所述并行资源参数信息,确定执行所述目标任务对应的用户申请资源信息;
根据所述目标任务特征、所述计算资源估计信息和所述用户申请资源信息,确定所述并行资源参数信息和所述任务参数信息中进行调整的参数,以作为待优化参数。
20.一种电子设备,其特征在于,包括处理器和存储器,所述处理器用于执行所述存储器中存储的计算机程序时实现如权利要求1至18任一项所述任务执行方法的步骤。
21.一种可读存储介质,其特征在于,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至18任一项所述任务执行方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311707548.5A CN117407177B (zh) | 2023-12-13 | 2023-12-13 | 任务执行方法、装置、电子设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311707548.5A CN117407177B (zh) | 2023-12-13 | 2023-12-13 | 任务执行方法、装置、电子设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117407177A CN117407177A (zh) | 2024-01-16 |
CN117407177B true CN117407177B (zh) | 2024-03-08 |
Family
ID=89500221
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311707548.5A Active CN117407177B (zh) | 2023-12-13 | 2023-12-13 | 任务执行方法、装置、电子设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117407177B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118363763B (zh) * | 2024-06-18 | 2024-09-17 | 中国科学院长春光学精密机械与物理研究所 | 多节点异构并行加速方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106372329A (zh) * | 2016-08-31 | 2017-02-01 | 中国科学院计算机网络信息中心 | 材料基因工程高通量集成计算与数据管理的方法及系统 |
CN111405568A (zh) * | 2020-03-19 | 2020-07-10 | 三峡大学 | 基于q学习的计算卸载和资源分配方法及装置 |
CN112379935A (zh) * | 2019-07-29 | 2021-02-19 | 中兴通讯股份有限公司 | Spark性能优化控制方法、装置、设备及存储介质 |
CN115883550A (zh) * | 2022-11-24 | 2023-03-31 | 北京火山引擎科技有限公司 | 任务处理方法、装置、电子设备、存储介质及程序产品 |
WO2023115931A1 (zh) * | 2021-12-21 | 2023-06-29 | 浪潮通信信息系统有限公司 | 大数据组件参数调整方法、装置、电子设备及存储介质 |
CN116362348A (zh) * | 2023-03-17 | 2023-06-30 | 阿里云计算有限公司 | 参数优化方法以及装置 |
CN116541176A (zh) * | 2023-05-24 | 2023-08-04 | 中国电信股份有限公司北京研究院 | 算力资源分配的优化方法、优化装置、电子设备和介质 |
-
2023
- 2023-12-13 CN CN202311707548.5A patent/CN117407177B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106372329A (zh) * | 2016-08-31 | 2017-02-01 | 中国科学院计算机网络信息中心 | 材料基因工程高通量集成计算与数据管理的方法及系统 |
CN112379935A (zh) * | 2019-07-29 | 2021-02-19 | 中兴通讯股份有限公司 | Spark性能优化控制方法、装置、设备及存储介质 |
CN111405568A (zh) * | 2020-03-19 | 2020-07-10 | 三峡大学 | 基于q学习的计算卸载和资源分配方法及装置 |
WO2023115931A1 (zh) * | 2021-12-21 | 2023-06-29 | 浪潮通信信息系统有限公司 | 大数据组件参数调整方法、装置、电子设备及存储介质 |
CN115883550A (zh) * | 2022-11-24 | 2023-03-31 | 北京火山引擎科技有限公司 | 任务处理方法、装置、电子设备、存储介质及程序产品 |
CN116362348A (zh) * | 2023-03-17 | 2023-06-30 | 阿里云计算有限公司 | 参数优化方法以及装置 |
CN116541176A (zh) * | 2023-05-24 | 2023-08-04 | 中国电信股份有限公司北京研究院 | 算力资源分配的优化方法、优化装置、电子设备和介质 |
Non-Patent Citations (2)
Title |
---|
Efficiency Analysis of Intel and AMD x86_64 Architectures for Ab Initio Calculations: A Case Study of VASP;Vladimir Stegailov等;《Supercomputing: Third Russian Supercomputing Days, RuSCDays 2017》;20171115;全文 * |
第一性原理极化率计算中的众核优化方法研究;罗海文等;《计算机科学》;20230619;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN117407177A (zh) | 2024-01-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102412937B1 (ko) | 합성곱 계층 가속 장치, 그것을 포함하는 임베디드 시스템 및 그것의 동작 방법 | |
Zhang et al. | BoostGCN: A framework for optimizing GCN inference on FPGA | |
Zeng et al. | GraphACT: Accelerating GCN training on CPU-FPGA heterogeneous platforms | |
US20230035451A1 (en) | Resource usage prediction for deep learning model | |
CN117407177B (zh) | 任务执行方法、装置、电子设备及可读存储介质 | |
Tam et al. | Solving the parquet equations for the Hubbard model beyond weak coupling | |
CN102591940B (zh) | 一种基于Map/Reduce的快速支持向量数据描述方法及系统 | |
CN104699461A (zh) | 在多线程数据处理装置上对线程调度进行配置 | |
KR20220051242A (ko) | 고속 희소 신경망 | |
CN112817730B (zh) | 深度神经网络服务批处理调度方法、系统及gpu | |
Niu et al. | 26ms inference time for resnet-50: Towards real-time execution of all dnns on smartphone | |
EP4071619A1 (en) | Address generation method, related device and storage medium | |
EP4095758A1 (en) | Training large-scale vision transformer neural networks | |
DE102022128165A1 (de) | Datenpfadschaltungsentwurf unter verwendung von reinforcement learning | |
Gadiyar et al. | Artificial intelligence software and hardware platforms | |
CN114286985A (zh) | 用于预测内核调谐参数的方法和设备 | |
Potebnia et al. | Innovative GPU accelerated algorithm for fast minimum convex hulls computation | |
Zheng et al. | GPU-based multifrontal optimizing method in sparse Cholesky factorization | |
Kalling et al. | Accelerating the numerical simulation of magnetic field lines in tokamaks using the GPU | |
Zhou et al. | A Parallel Scheme for Large‐scale Polygon Rasterization on CUDA‐enabled GPUs | |
Maynard et al. | Optimizing threshold for extreme scale analysis | |
Miao et al. | Cuwide: Towards efficient flow-based training for sparse wide models on gpus | |
CN110415162B (zh) | 大数据中面向异构融合处理器的自适应图划分方法 | |
Appelhans et al. | Leveraging NVLINK and asynchronous data transfer to scale beyond the memory capacity of GPUs | |
Lingqiao et al. | Design and realization of the parallel computing framework of cross-validation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |