CN109857459B - 一种e级超算海洋模式自动移植优化方法及系统 - Google Patents
一种e级超算海洋模式自动移植优化方法及系统 Download PDFInfo
- Publication number
- CN109857459B CN109857459B CN201811614524.4A CN201811614524A CN109857459B CN 109857459 B CN109857459 B CN 109857459B CN 201811614524 A CN201811614524 A CN 201811614524A CN 109857459 B CN109857459 B CN 109857459B
- Authority
- CN
- China
- Prior art keywords
- parameter
- master
- optimal
- neural network
- code data
- 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
Images
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种E级超算海洋模式自动移植优化方法,包括:基于热点函数的特征利用建立的代码分析工具确定热点函数代码数据;利用卷积神经网络从所述热点函数代码数据中提取出热点函数特征,并对热点函数特征进行向量化处理,以获取热点函数的特征向量;将所述热点函数的特征向量输入到双向LSTM神经网络中,并在所述双向LSTM神经网络中引入自注意力机制进行训练,以根据输出的第一主从核代码数据确定最优双向LSTM神经网络模型;根据所述第一主从核代码数据利用强化学习方法进行迭代训练,以确定最优强化学习模型;对于从客户端获取的源代码数据,利用所述最优双向LSTM神经网络模型和最优强化学习模型,获取最优的主从核代码方案,以实现代码自动移植。
Description
技术领域
本发明涉及互联网技术领域,并且更具体地,涉及一种E级超算海洋 模式自动移植优化方法及系统。
背景技术
随着海洋信息技术的发展以及国内以高速网络、物联网、云计算、人 工智能等新一代技术为核心的“数字海洋”、“智慧海洋”国家战略的提 出,海洋科技已经进入高速发展期,人类对信息处理能力的要求越来越高, 普通单核或多核处理器已经无法满足海洋模式中海量计算的需求。而国产 众核平台是我国自主研发的高性能计算集群,以国产众核处理器为核心, 每个处理器包含四个异构核组,每个核组由1个运算控制核心和64个加 速运算核心构成,国产众核的高性能并行计算模式将成为未来的趋势,并 且国产众核平台具有独特的硬件架构,需要对海洋模式的并行计算添加主 核和从核并行加速运算程序。E级超算海洋模式自动移植优化就是把高计 算需求的程序作为输入,通过机器学习的分析和神经网络模型的预测,最 终能够根据输入生成对应的主从核程序代码。用户对海洋模式自动移植优 化的需求主要体现在三方面:
(1)由于E级超算海洋模式呈现多源、异构的特点,并且,对热点函 数进行高效快速自动查找无疑成为用户关注的重点。
(2)不同编程语言的自动转换。基于异构的国产众核硬件架构,主核 从核的语言与源程序语言不同,为了提高程序代码的可移植性和重用性, 提高并行计算代码开发的效率,需要实现异种程序设计语言所编写的程序 代码之间的翻译转换。
(3)热点函数向主从核程序的自动生成。由于大多情况下用户的并行 计算的需求相近或者类似,而每次用户都需要先自行分配主从核资源参数, 然后设计主从核代码之后,再进行并行计算,然而又无法保证按照这一次 的代码方案就能使得程序能成功进行众核高性能,且计算结果不一定可以 达到最理想最精确的效果。
因此,需要一种能够根据源代码数据自动生成主从核代码数据的方法。
发明内容
本发明提出一种E级超算海洋模式自动移植优化方法及系统,以解决 如何自动确定主从核代码方案,实现代码自动移植的问题。
为了解决上述问题,根据本发明的一个方面,提供了一种用于确定E 级超算海洋模式的主从核数据的方法,其特征在于,所述方法包括:
基于热点函的特征利用建立的代码分析工具对源代码样本数据进行静 态分析和性能分析,以确定热点函数代码数据;
利用卷积神经网络从所述热点函数代码数据中提取出热点函数特征, 并对所述热点函数特征进行向量化处理,以获取热点函数的特征向量;
将所述热点函数的特征向量输入到双向LSTM神经网络中,并在所述 双向LSTM神经网络中引入自注意力机制进行训练,以根据输出的第一主 从核代码数据确定最优双向LSTM神经网络模型;
根据所述第一主从核代码数据利用强化学习方法进行迭代训练,以确 定最优强化学习模型;
对于从客户端获取的源代码数据,利用所述最优双向LSTM神经网络 模型和最优强化学习模型,获取最优的主从核代码方案,以实现代码自动 移植。
优选地,其中所述将所述热点函数的特征向量输入到双向LSTM神经 网络中,并在所述双向LSTM神经网络中引入自注意力机制进行训练,以 根据输出的第一主从核代码数据确定最优双向LSTM神经网络模型,包括:
步骤1,将所述热点函数的特征向量输入到双向LSTM神经网络中;
步骤2,根据第一参数集中每个第一参数的预设参数值和每个第一参 数对应的预设权重值,利用所述双向LSTM神经网络获取第一主从核代码 数据;
步骤3,利用所述输出的第一主从核代码数据和所述源代码样本数据 对应的主从核代码样本数据计算第一损失函数值;
步骤4,判断所述第一损失函数值是否小于等于预设的第一损失函数 阈值,或迭代次数是否达到第一预设迭代阈值,若所述第一损失函数值小 于等于预设的第一损失函数阈值,或迭代次数已达到第一预设迭代阈值, 则进入步骤5;反之,进入步骤6;
步骤5,将当前的每个第一参数的参数值和每个第一参数对应的权重 值作为影响所述LSTM神经网络输出第一主从核代码数据的每个第一参数 的最优参数值和最优权重值,并将所述每个第一参数的最优参数值和最优 权重值对应的双向LSTM神经网络模型作为最优双向LSTM神经网络模型;
步骤6,对当前的每个第一参数的参数值和每个第一参数对应的权重 值进行调整,根据调整后的每个第一参数的参数值和每个第一参数对应的 权重值,利用所述双向LSTM神经网络输出第一主从核代码数据,并返回 步骤3。
优选地,其中所述对当前的每个第一参数的参数值和每个第一参数对 应的权重值进行调整,包括:
分别利用随机梯度下降算法和自注意力机制对影响所述LSTM神经网 络输出第一主从核代码数据的每个第一参数的参数值和每个第一参数对应 的权重值进行调整。
优选地,其中所述根据所述第一主从核代码数据利用强化学习方法进 行迭代训练,以确定最优强化学习模型,包括:
步骤1,根据所述第一主从核代码数据和第二参数的预设参数值,利 用强化学习方法得到第二主从核代码数据;
步骤2,利用所述输出的第二主从核代码数据和所述源代码样本数据 对应的主从核代码样本数据计算第二损失函数值;
步骤3,判断所述第二损失函数值是否小于等于预设的第二损失函数 阈值,或迭代次数是否达到第二预设迭代阈值,若所述第二损失函数值小 于等于预设的第二损失函数阈值,或迭代次数已达到第二预设迭代阈值, 则进入步骤4;反之,进入步骤5;
步骤4,将当前的第二参数的参数值对应的强化学习模型作为最优强 化学习模型;
步骤5,根据预设的参数调整方法调整所述第二参数的参数值,利用 强化学习方法得到第二主从核代码数据,并返回步骤2。
优选地,其中所述方法还包括:
根据用户提交的下载请求,将已存储的主从核代码数据返回至客户端。
根据本发明的另一个方面,提供了一种E级超算海洋模式自动移植优 化系统,其特征在于,所述系统包括:
热点函数代码数据确定单元,用于基于热点函数的特征利用建立的代 码分析工具对源代码样本数据进行静态分析和性能分析,以确定热点函数 代码数据;
特征向量获取单元,用于利用卷积神经网络从所述热点函数代码数据 中提取出热点函数特征,并对所述热点函数特征进行向量化处理,以获取 热点函数的特征向量;
最优双向LSTM神经网络模型确定单元,用于将所述热点函数的特征 向量输入到双向LSTM神经网络中,并在所述双向LSTM神经网络中引入自 注意力机制进行训练,以根据输出的第一主从核代码数据确定最优双向 LSTM神经网络模型;
最优强化学习模型确定单元,用于根据所述第一主从核代码数据利用 强化学习方法进行迭代训练,以确定最优强化学习模型;
最优主从核代码确定单元,用于对于从客户端获取的源代码数据,利 用所述最优双向LSTM神经网络模型和最优强化学习模型,获取最优的主 从核代码方案,以实现代码自动移植。
优选地,其中所述最优双向LSTM神经网络模型确定单元,将所述热 点函数的特征向量输入到双向LSTM神经网络中,并在所述双向LSTM神经 网络中引入自注意力机制进行训练,以根据输出的第一主从核代码数据确 定最优双向LSTM神经网络模型,包括:
输入模块,用于将所述热点函数的特征向量输入到双向LSTM神经网 络中;
第一主从核代码数据模块,用于根据第一参数集中每个第一参数的预 设参数值和每个第一参数对应的预设权重值,利用所述双向LSTM神经网 络获取第一主从核代码数据;
第一损失函数值计算模块,用于利用所述输出的第一主从核代码数据 和所述源代码样本数据对应的主从核代码样本数据计算第一损失函数值;
第一判断模块,用于判断所述第一损失函数值是否小于等于预设的第 一损失函数阈值,或迭代次数是否达到第一预设迭代阈值,若所述第一损 失函数值小于等于预设的第一损失函数阈值,或迭代次数已达到第一预设 迭代阈值,则进入最优双向LSTM神经网络模型确定模块;反之,进入第 一参数调整模块;
最优双向LSTM神经网络模型确定模块,用于将当前的每个第一参数 的参数值和每个第一参数对应的权重值作为影响所述LSTM神经网络输出
第一主从核代码数据的每个第一参数的最优参数值和最优权重值,并将所 述每个第一参数的最优参数值和最优权重值对应的双向LSTM神经网络模 型作为最优双向LSTM神经网络模型;
第一调整模块,用于对当前的每个第一参数的参数值和每个第一参数 对应的权重值进行调整,根据调整后的每个第一参数的参数值和每个第一 参数对应的权重值,利用所述双向LSTM神经网络输出第一主从核代码数 据,并进入第一损失函数值计算模块。
优选地,其中所述第一调整模块,对当前的每个第一参数的参数值和 每个第一参数对应的权重值进行调整,包括:
分别利用随机梯度下降算法和自注意力机制对影响所述LSTM神经网 络输出第一主从核代码数据的每个第一参数的参数值和每个第一参数对应 的权重值进行调整。
优选地,其中所述最优强化学习模型确定单元,根据所述第一主从核 代码数据利用强化学习方法进行迭代训练,以确定最优强化学习模型,包 括:
第二主从核代码数据获取模块,用于根据所述第一主从核代码数据和 第二参数的预设参数值,利用强化学习方法得到第二主从核代码数据;
第二损失函数值计算模块,用于利用所述输出的第二主从核代码数据 和所述源代码样本数据对应的主从核代码样本数据计算第二损失函数值;
第二判断模块,用于判断所述第二损失函数值是否小于等于预设的第 二损失函数阈值,或迭代次数是否达到第二预设迭代阈值,若所述第二损 失函数值小于等于预设的第二损失函数阈值,或迭代次数已达到第二预设 迭代阈值,则进入最优强化学习模型确定模块,反之,进入第二调整模块;
最优强化学习模型确定模块,用于将当前的第二参数的参数值对应的 强化学习模型作为最优强化学习模型;
第二调整模块,用于根据预设的参数调整系统调整所述第二参数的参 数值,利用强化学习方法得到第二主从核代码数据,并进入第二损失函数 值计算模块。
优选地,其中所述系统还包括:
主从核代码数据下载模块,用于根据用户提交的下载请求,将已存储 的主从核代码数据返回至客户端。
本发明提供了一种E级超算海洋模式自动移植优化方法及系统,包括: 基于热点函的特征利用建立的代码分析工具对源代码样本数据进行静态分 析和性能分析,以确定热点函数代码数据;利用卷积神经网络从所述热点 函数代码数据中提取出热点函数特征,并对所述热点函数特征进行向量化 处理,以获取热点函数的特征向量;将所述热点函数的特征向量输入到双 向LSTM神经网络中,并增加自注意力机制,确定最优双向LSTM神经网络模型;把双向LSTM神经网络的输出作为强化学习的输入,不断进行迭代, 确定最优强化学习模型;对于从客户端获取的源代码数据,利用所述最优 双向LSTM神经网络模型和最优强化学习模型,获取最优的主从核代码方 案,以实现代码自动移植。本发明的技术方案,将基于众核的海洋模式并 行计算和人工智能技术有效的结合,使得用户对面向海洋模式高性能并行 计算的需求得以顺利解决,通过训练好的最优双向LSTM神经网络模型和 最优强化学习模型,能够自动确定客户端输入的源代码数据对应的热点函 数主从核代码最优方案,整个过程省去了人工尝试代码编写调整的时间和 精力,对用户来说是一劳永逸的,也就是说,当用户下一次再用这个海洋 模式计算的时候就可以直接使用训练完成的神经网络模型针对输入的热点 函数输出对应的主核和从核的程序代码,无需再进行多次尝试,大大降低 了高性能计算领域的时间成本,提高了开发人员的效率。
附图说明
通过参考下面的附图,可以更为完整地理解本发明的示例性实施方 式:
图1为根据本发明实施方式的E级超算海洋模式自动移植优化方法 100的流程图;
图2为根据本发明实施方式的双向LSTM的内部结构示意图;
图3为根据本发明实施方式的确定最优双向LSTM神经网络模型的方 法300的流程图;
图4为根据本发明实施方式的确定最优强化学习模型的方法400的流 程图;以及
图5为根据本发明实施方式的客户端获取已存储的主从核代码数据的 方法的流程图;
图6为根据本发明实施方式的E级超算海洋模式自动移植优化系统 600的结构示意图。
具体实施方式
现在参考附图介绍本发明的示例性实施方式,然而,本发明可以用许 多不同的形式来实施,并且不局限于此处描述的实施例,提供这些实施例 是为了详尽地且完全地公开本发明,并且向所属技术领域的技术人员充分 传达本发明的范围。对于表示在附图中的示例性实施方式中的术语并不是 对本发明的限定。在附图中,相同的单元/元件使用相同的附图标记。
除非另有说明,此处使用的术语(包括科技术语)对所属技术领域的 技术人员具有通常的理解含义。另外,可以理解的是,以通常使用的词典 限定的术语,应当被理解为与其相关领域的语境具有一致的含义,而不应 该被理解为理想化的或过于正式的意义。
图1为根据本发明实施方式的E级超算海洋模式自动移植优化方法 100的流程图。如图1所示,本发明的实施方式提供的E级超算海洋模式 自动移植优化方法,将基于众核的海洋模式并行计算和人工智能技术有效 的结合,使得用户对面向海洋模式高性能并行计算的需求得以顺利解决, 通过训练好的最优双向LSTM神经网络模型和最优强化学习模型,能够自 动确定客户端输入的源代码数据对应的热点函数主从核代码最优方案,整 个过程省去了人工尝试代码编写调整的时间和精力,对用户来说是一劳永 逸的,也就是说,当用户下一次再用这个海洋模式计算的时候就可以直接 使用训练完成的神经网络模型针对输入的热点函数输出对应的主核和从核 的程序代码,无需再进行多次尝试,大大降低了高性能计算领域的时间成 本,提高了开发人员的效率。
本发明的实施方式中所提到的“E级”是指每秒可进行百亿亿次数学 运算的超级计算机,被全世界公认为“超级计算机界的下一顶皇冠”。
本发明的实施方式提供的用于确定E级超算海洋模式的主从核数据的 方法100从步骤101处开始,在步骤101基于热点函数的特征利用建立的 代码分析工具对源代码样本数据进行静态分析和性能分析,以确定热点函 数代码数据。
优选地,在步骤102利用卷积神经网络从所述热点函数代码数据中提 取出热点函数特征,并对所述热点函数特征进行向量化处理,以获取热点 函数的特征向量。
在本发明的实施方式中,热点函数的特征向量的获取过程为:主控服 务器把获取的源代码样本数据作为输入,根据热点函数的功能需求,通过 对静态分析和性能分析方法的研究,利用建立的代码分析工具,实现对源 代码样本数据的自动分析及对热点函数的定位,以确定热点函数代码数据; 利用卷积神经网络的卷积核可对多样性的特征能够充分提取的特点,提取 热点函数的特征并将其向量化,以获取热点函数的特征向量,并将所述热点函数的特征向量输入到双向LSTM神经网络中。
优选地,在步骤103将所述热点函数的特征向量输入到双向LSTM神 经网络中,并在所述双向LSTM神经网络中引入自注意力机制进行训练, 以根据输出的第一主从核代码数据确定最优双向LSTM神经网络模型。
在本发明的实施方式中,根据所述热点函数的特征向量输入到双向 LSTM神经网络中获取到的第一主从核代码数据和源代码样本数据对应的 主从核代码样本数据,利用双向LSTM神经网络分别进行正向LSTM的热点 函数向主从核代码的转换和反向的主从核代码向热点函数的转换,挖掘两 者之间的深层关系,并引入自注意力机制,让模型能够自动识别输入的热 点函数中哪些成分对最终输出的主从核代码的结果影响较大,并对该成分赋予较大的权重,让模型增加对该成分的关注,获得表现更为优异的组合 词向量,以确定最优的双向LSTM神经网络模型。
图3为根据本发明实施方式的确定最优双向LSTM神经网络模型的方 法300的流程图。如图3所示,在本发明的实施方式中,确定最优双向LSTM 神经网络模型的步骤包括:
步骤301,将所述热点函数的特征向量输入到双向LSTM神经网络中。
步骤302,根据第一参数集中每个第一参数的预设参数值和每个第一 参数对应的预设权重值,利用所述双向LSTM神经网络获取第一主从核代 码数据。
步骤303,利用所述输出的第一主从核代码数据和所述源代码样本数 据对应的主从核代码样本数据计算第一损失函数值。
步骤304,判断所述第一损失函数值是否小于等于预设的第一损失函 数阈值,或迭代次数是否达到第一预设迭代阈值,若所述第一损失函数值 小于等于预设的第一损失函数阈值,或迭代次数已达到第一预设迭代阈值, 则进入步骤305;反之,进入步骤306。
步骤305,将当前的每个第一参数的参数值和每个第一参数对应的权 重值作为影响所述LSTM神经网络输出第一主从核代码数据的每个第一参 数的最优参数值和最优权重值,并将所述每个第一参数的最优参数值和最 优权重值对应的双向LSTM神经网络模型作为最优双向LSTM神经网络模 型。
步骤306,对当前的每个第一参数的参数值和每个第一参数对应的权 重值进行调整,根据调整后的每个第一参数的参数值和每个第一参数对应 的权重值,利用所述双向LSTM神经网络输出第一主从核代码数据,并返 回步骤303。
优选地,其中所述对当前的每个第一参数的参数值和每个第一参数对 应的权重值进行调整,包括:
分别利用随机梯度下降算法和自注意力机制对影响所述LSTM神经网 络输出第一主从核代码数据的每个第一参数的参数值和每个第一参数对应 的权重值进行调整。
优选地,在步骤104根据所述第一主从核代码数据利用强化学习方法 进行迭代训练,以确定最优强化学习模型。
在本发明的实施方式中,将双向LSTM神经网络模型输出的第一主从 核代码数据或前一次强化学习层的输出最为反馈,然后根据反馈不断循环 迭代优化,直至找到最优热点函数的主从核代码方案并输出,确定最优强 化学习模型。
图4为根据本发明实施方式的确定最优强化学习模型的方法400的流 程图。如图4所示,本发明的实施方式的确定最优强化学习模型的方法400, 根据所述第一主从核代码数据利用强化学习方法进行迭代训练,以确定最 优强化学习模型的步骤,包括:
步骤401,根据所述第一主从核代码数据和第二参数的预设参数值, 利用强化学习方法得到第二主从核代码数据。
步骤402,利用所述输出的第二主从核代码数据和所述源代码样本数 据对应的主从核代码样本数据计算第二损失函数值。
步骤403,判断所述第二损失函数值是否小于等于预设的第二损失函 数阈值,或迭代次数是否达到第二预设迭代阈值,若所述第二损失函数值 小于等于预设的第二损失函数阈值,或迭代次数已达到第二预设迭代阈值, 则进入步骤404;反之,进入步骤405。
步骤404,将当前的第二参数的参数值对应的强化学习模型作为最优 强化学习模型。
步骤405,根据预设的参数调整方法调整所述第二参数的参数值,利 用强化学习方法得到第二主从核代码数据,并返回步骤402。
优选地,在步骤105对于从客户端获取的源代码数据,利用所述最优 双向LSTM神经网络模型和最优强化学习模型,获取最优的主从核代码方 案,以实现代码自动移植。
优选地,其中所述方法还包括:
根据用户提交的下载请求,将已存储的主从核代码数据返回至客户端。
图5为根据本发明实施方式的客户端获取已存储的主从核代码数据的 方法的流程图。如图5所示,客户端获取已存储的主从核代码数据的具体 过程包括:客户端向所述主控服务器发送登录账号和密码;主控服务器在 所述用户身份数据库内进行验证;待验证通过,所述客户端生成一个下载 请求信息,将该下载请求信息发送至所述主控服务器;所述主控服务器根 据请求下载的存储地址访问数据存储服务器,数据存储服务器检索至对应的信息,供所述主控服务器下载,所述主控服务器将下载的主从核代码返 回给所述客户端。
图6为根据本发明实施方式的用E级超算海洋模式自动移植优化系统 600的结构示意图。如图6所示,本发明的实施方式提供的E级超算海洋 模式自动移植优化系统600,包括:热点函数代码数据确定单元601、特 征向量获取单元602、最优双向LSTM神经网络模型确定单元603、最优强 化学习模型确定单元604和最优主从核代码确定单元605。优选地,所述 热点函数代码数据确定单元601,用于基于热点函数的特征利用建立的代 码分析工具对源代码样本数据进行静态分析和性能分析,以确定热点函数 代码数据。
优选地,所述特征向量获取单元602,用于利用卷积神经网络从所述 热点函数代码数据中提取出热点函数特征,并对所述热点函数特征进行向 量化处理,以获取热点函数的特征向量。
优选地,所述最优双向LSTM神经网络模型确定单元603,用于将所述 热点函数的特征向量输入到双向LSTM神经网络中,并在所述双向LSTM神 经网络中引入自注意力机制进行训练,以根据输出的第一主从核代码数据 确定最优双向LSTM神经网络模型。
优选地,其中所述最优双向LSTM神经网络模型确定单元603,将所述 热点函数的特征向量输入到双向LSTM神经网络中,并在所述双向LSTM神 经网络中引入自注意力机制进行训练,以根据输出的第一主从核代码数据 确定最优双向LSTM神经网络模型,包括:输入模块,用于将所述热点函 数的特征向量输入到双向LSTM神经网络中;第一主从核代码数据模块, 用于根据第一参数集中每个第一参数的预设参数值和每个第一参数对应的 预设权重值,利用所述双向LSTM神经网络获取第一主从核代码数据;第 一损失函数值计算模块,用于利用所述输出的第一主从核代码数据和所述 源代码样本数据对应的主从核代码样本数据计算第一损失函数值;第一判 断模块,用于判断所述第一损失函数值是否小于等于预设的第一损失函数 阈值,或迭代次数是否达到第一预设迭代阈值,若所述第一损失函数值小 于等于预设的第一损失函数阈值,或迭代次数已达到第一预设迭代阈值, 则进入最优双向LSTM神经网络模型确定模块;反之,进入第一参数调整 模块;最优双向LSTM神经网络模型确定模块,用于将当前的每个第一参 数的参数值和每个第一参数对应的权重值作为影响所述LSTM神经网络输 出第一主从核代码数据的每个第一参数的最优参数值和最优权重值,并将 所述每个第一参数的最优参数值和最优权重值对应的双向LSTM神经网络模型作为最优双向LSTM神经网络模型;第一调整模块,用于对当前的每 个第一参数的参数值和每个第一参数对应的权重值进行调整,根据调整后 的每个第一参数的参数值和每个第一参数对应的权重值,利用所述双向 LSTM神经网络输出第一主从核代码数据,并进入第一损失函数值计算模 块。
优选地,其中所述第一调整模块,对当前的每个第一参数的参数值和 每个第一参数对应的权重值进行调整,包括:分别利用随机梯度下降算法 和自注意力机制对影响所述LSTM神经网络输出第一主从核代码数据的每 个第一参数的参数值和每个第一参数对应的权重值进行调整。
优选地,所述最优强化学习模型确定单元604,用于根据所述第一主 从核代码数据利用强化学习方法进行迭代训练,以确定最优强化学习模型。
优选地,其中所述最优强化学习模型确定单元604,根据所述第一主 从核代码数据利用强化学习方法进行迭代训练,以确定最优强化学习模型, 包括:第二主从核代码数据获取模块,用于根据所述第一主从核代码数据 和第二参数的预设参数值,利用强化学习方法得到第二主从核代码数据; 第二损失函数值计算模块,用于利用所述输出的第二主从核代码数据和所 述源代码样本数据对应的主从核代码样本数据计算第二损失函数值;第二 判断模块,用于判断所述第二损失函数值是否小于等于预设的第二损失函 数阈值,或迭代次数是否达到第二预设迭代阈值,若所述第二损失函数值 小于等于预设的第二损失函数阈值,或迭代次数已达到第二预设迭代阈值, 则进入最优强化学习模型确定模块,反之,进入第二调整模块;最优强化 学习模型确定模块,用于将当前的第二参数的参数值对应的强化学习模型 作为最优强化学习模型;第二调整模块,用于根据预设的参数调整系统调 整所述第二参数的参数值,利用强化学习方法得到第二主从核代码数据, 并进入第二损失函数值计算模块。
优选地,所述最优主从核代码确定单元605,用于对于从客户端获取 的源代码数据,利用所述最优双向LSTM神经网络模型和最优强化学习模 型,获取最优的主从核代码方案,以实现代码自动移植。
优选地,其中所述系统还包括:主从核代码数据下载模块,用于根据 用户提交的下载请求,将已存储的主从核代码数据返回至客户端。
本发明的实施例的E级超算海洋模式自动移植优化系统600与本发明 的另一个实施例的E级超算海洋模式自动移植优化方法100相对应,在此 不再赘述。
已经通过参考少量实施方式描述了本发明。然而,本领域技术人员所 公知的,正如附带的专利权利要求所限定的,除了本发明以上公开的其他 的实施例等同地落在本发明的范围内。
通常地,在权利要求中使用的所有术语都根据他们在技术领域的通常 含义被解释,除非在其中被另外明确地定义。所有的参考“一个/所述/ 该[装置、组件等]”都被开放地解释为所述装置、组件等中的至少一个 实例,除非另外明确地说明。这里公开的任何方法的步骤都没必要以公开 的准确的顺序运行,除非明确地说明。
Claims (6)
1.一种E级超算海洋模式自动移植优化方法,其特征在于,所述方法包括:
基于热点函数的特征利用建立的代码分析工具对源代码样本数据进行静态分析和性能分析,以确定热点函数代码数据;
利用卷积神经网络从所述热点函数代码数据中提取出热点函数特征,并对所述热点函数特征进行向量化处理,以获取热点函数的特征向量;
将所述热点函数的特征向量输入到双向LSTM神经网络中,并在所述双向LSTM神经网络中引入自注意力机制进行训练,以根据输出的第一主从核代码数据确定最优双向LSTM神经网络模型;
根据所述第一主从核代码数据利用强化学习方法进行迭代训练,以确定最优强化学习模型;
对于从客户端获取的源代码数据,利用所述最优双向LSTM神经网络模型和最优强化学习模型,获取最优的主从核代码方案,以实现代码自动移植;
其中,所述将所述热点函数的特征向量输入到双向LSTM神经网络中,并在所述双向LSTM神经网络中引入自注意力机制进行训练,以根据输出的第一主从核代码数据确定最优双向LSTM神经网络模型,包括:
步骤1,将所述热点函数的特征向量输入到双向LSTM神经网络中;
步骤2,根据第一参数集中每个第一参数的预设参数值和每个第一参数对应的预设权重值,利用所述双向LSTM神经网络获取第一主从核代码数据;
步骤3,利用所述输出的第一主从核代码数据和所述源代码样本数据对应的主从核代码样本数据计算第一损失函数值;
步骤4,判断所述第一损失函数值是否小于等于预设的第一损失函数阈值,或迭代次数是否达到第一预设迭代阈值,若所述第一损失函数值小于等于预设的第一损失函数阈值,或迭代次数已达到第一预设迭代阈值,则进入步骤5;反之,进入步骤6;
步骤5,将当前的每个第一参数的参数值和每个第一参数对应的权重值作为影响所述LSTM神经网络输出第一主从核代码数据的每个第一参数的最优参数值和最优权重值,并将所述每个第一参数的最优参数值和最优权重值对应的双向LSTM神经网络模型作为最优双向LSTM神经网络模型;
步骤6,对当前的每个第一参数的参数值和每个第一参数对应的权重值进行调整,根据调整后的每个第一参数的参数值和每个第一参数对应的权重值,利用所述双向LSTM神经网络输出第一主从核代码数据,并返回步骤3;
其中,所述根据所述第一主从核代码数据利用强化学习方法进行迭代训练,以确定最优强化学习模型,包括:
步骤1,根据所述第一主从核代码数据和第二参数的预设参数值,利用强化学习方法得到第二主从核代码数据;
步骤2,利用所述输出的第二主从核代码数据和所述源代码样本数据对应的主从核代码样本数据计算第二损失函数值;
步骤3,判断所述第二损失函数值是否小于等于预设的第二损失函数阈值,或迭代次数是否达到第二预设迭代阈值,若所述第二损失函数值小于等于预设的第二损失函数阈值,或迭代次数已达到第二预设迭代阈值,则进入步骤4;反之,进入步骤5;
步骤4,将当前的第二参数的参数值对应的强化学习模型作为最优强化学习模型;
步骤5,根据预设的参数调整方法调整所述第二参数的参数值,利用强化学习方法得到第二主从核代码数据,并返回步骤2。
2.根据权利要求1所述的方法,其特征在于,所述对当前的每个第一参数的参数值和每个第一参数对应的权重值进行调整,包括:
分别利用随机梯度下降算法和自注意力机制对影响所述LSTM神经网络输出第一主从核代码数据的每个第一参数的参数值和每个第一参数对应的权重值进行调整。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
根据用户提交的下载请求,将已存储的主从核代码数据返回至客户端。
4.一种E级超算海洋模式自动移植优化系统,其特征在于,所述系统包括:
热点函数代码数据确定单元,用于基于热点函数的特征利用建立的代码分析工具对源代码样本数据进行静态分析和性能分析,以确定热点函数代码数据;
特征向量获取单元,用于利用卷积神经网络从所述热点函数代码数据中提取出热点函数特征,并对所述热点函数特征进行向量化处理,以获取热点函数的特征向量;
最优双向LSTM神经网络模型确定单元,用于将所述热点函数的特征向量输入到双向LSTM神经网络中,并在所述双向LSTM神经网络中引入自注意力机制进行训练,以根据输出的第一主从核代码数据确定最优双向LSTM神经网络模型;
最优强化学习模型确定单元,用于根据所述第一主从核代码数据利用强化学习方法进行迭代训练,以确定最优强化学习模型;
最优主从核代码确定单元,用于对于从客户端获取的源代码数据,利用所述最优双向LSTM神经网络模型和最优强化学习模型,获取最优的主从核代码方案,以实现代码自动移植;
其中,所述最优双向LSTM神经网络模型确定单元,将所述热点函数的特征向量输入到双向LSTM神经网络中,并在所述双向LSTM神经网络中引入自注意力机制进行训练,以根据输出的第一主从核代码数据确定最优双向LSTM神经网络模型,包括:
输入模块,用于将所述热点函数的特征向量输入到双向LSTM神经网络中;
第一主从核代码数据模块,用于根据第一参数集中每个第一参数的预设参数值和每个第一参数对应的预设权重值,利用所述双向LSTM神经网络获取第一主从核代码数据;
第一损失函数值计算模块,用于利用所述输出的第一主从核代码数据和所述源代码样本数据对应的主从核代码样本数据计算第一损失函数值;
第一判断模块,用于判断所述第一损失函数值是否小于等于预设的第一损失函数阈值,或迭代次数是否达到第一预设迭代阈值,若所述第一损失函数值小于等于预设的第一损失函数阈值,或迭代次数已达到第一预设迭代阈值,则进入最优双向LSTM神经网络模型确定模块;反之,进入第一参数调整模块;
最优双向LSTM神经网络模型确定模块,用于将当前的每个第一参数的参数值和每个第一参数对应的权重值作为影响所述LSTM神经网络输出第一主从核代码数据的每个第一参数的最优参数值和最优权重值,并将所述每个第一参数的最优参数值和最优权重值对应的双向LSTM神经网络模型作为最优双向LSTM神经网络模型;
第一调整模块,用于对当前的每个第一参数的参数值和每个第一参数对应的权重值进行调整,根据调整后的每个第一参数的参数值和每个第一参数对应的权重值,利用所述双向LSTM神经网络输出第一主从核代码数据,并进入第一损失函数值计算模块;
其中,所述最优强化学习模型确定单元,根据所述第一主从核代码数据利用强化学习方法进行迭代训练,以确定最优强化学习模型,包括:
第二主从核代码数据获取模块,用于根据所述第一主从核代码数据和第二参数的预设参数值,利用强化学习方法得到第二主从核代码数据;
第二损失函数值计算模块,用于利用所述输出的第二主从核代码数据和所述源代码样本数据对应的主从核代码样本数据计算第二损失函数值;
第二判断模块,用于判断所述第二损失函数值是否小于等于预设的第二损失函数阈值,或迭代次数是否达到第二预设迭代阈值,若所述第二损失函数值小于等于预设的第二损失函数阈值,或迭代次数已达到第二预设迭代阈值,则进入最优强化学习模型确定模块,反之,进入第二调整模块;
最优强化学习模型确定模块,用于将当前的第二参数的参数值对应的强化学习模型作为最优强化学习模型;
第二调整模块,用于根据预设的参数调整系统调整所述第二参数的参数值,利用强化学习方法得到第二主从核代码数据,并进入第二损失函数值计算模块。
5.根据权利要求4所述的系统,其特征在于,所述第一调整模块,对当前的每个第一参数的参数值和每个第一参数对应的权重值进行调整,包括:
分别利用随机梯度下降算法和自注意力机制对影响所述LSTM神经网络输出第一主从核代码数据的每个第一参数的参数值和每个第一参数对应的权重值进行调整。
6.根据权利要求4所述的系统,其特征在于,所述系统还包括:
主从核代码数据下载模块,用于根据用户提交的下载请求,将已存储的主从核代码数据返回至客户端。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811614524.4A CN109857459B (zh) | 2018-12-27 | 2018-12-27 | 一种e级超算海洋模式自动移植优化方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811614524.4A CN109857459B (zh) | 2018-12-27 | 2018-12-27 | 一种e级超算海洋模式自动移植优化方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109857459A CN109857459A (zh) | 2019-06-07 |
CN109857459B true CN109857459B (zh) | 2022-03-08 |
Family
ID=66892686
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811614524.4A Active CN109857459B (zh) | 2018-12-27 | 2018-12-27 | 一种e级超算海洋模式自动移植优化方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109857459B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110648768B (zh) * | 2019-08-21 | 2022-08-26 | 成都信息工程大学 | 一种pom海洋模式优化方法及装置 |
CN111666071B (zh) * | 2020-04-17 | 2021-12-17 | 中国海洋大学 | 一种基于目标众核的对抗网络移植与优化的方法及系统 |
CN112346737B (zh) * | 2021-01-08 | 2021-04-13 | 深圳壹账通智能科技有限公司 | 编程语言翻译模型的训练方法、装置、设备及存储介质 |
CN113190233B (zh) * | 2021-04-15 | 2023-06-20 | 中国海洋大学 | 一种面向多源异构编程语言的智能源码翻译方法及系统 |
US11775317B2 (en) | 2021-04-30 | 2023-10-03 | International Business Machines Corporation | Locate neural network performance hot spots |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107506414A (zh) * | 2017-08-11 | 2017-12-22 | 武汉大学 | 一种基于长短期记忆网络的代码推荐方法 |
CN108170529A (zh) * | 2017-12-26 | 2018-06-15 | 北京工业大学 | 一种基于长短期记忆网络的云数据中心负载预测方法 |
WO2018217635A1 (en) * | 2017-05-20 | 2018-11-29 | Google Llc | Application development platform and software development kits that provide comprehensive machine learning services |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10157045B2 (en) * | 2016-11-17 | 2018-12-18 | The Mathworks, Inc. | Systems and methods for automatically generating code for deep learning systems |
-
2018
- 2018-12-27 CN CN201811614524.4A patent/CN109857459B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018217635A1 (en) * | 2017-05-20 | 2018-11-29 | Google Llc | Application development platform and software development kits that provide comprehensive machine learning services |
CN107506414A (zh) * | 2017-08-11 | 2017-12-22 | 武汉大学 | 一种基于长短期记忆网络的代码推荐方法 |
CN108170529A (zh) * | 2017-12-26 | 2018-06-15 | 北京工业大学 | 一种基于长短期记忆网络的云数据中心负载预测方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109857459A (zh) | 2019-06-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109857459B (zh) | 一种e级超算海洋模式自动移植优化方法及系统 | |
KR102027141B1 (ko) | 음성인식을 통한 인공지능 프로그램코딩 시스템 및 그 방법 | |
Yin et al. | A high throughput acceleration for hybrid neural networks with efficient resource management on FPGA | |
CN111667061B (zh) | 一种基于目标众核的深度学习框架移植与优化方法及系统 | |
CN111666071B (zh) | 一种基于目标众核的对抗网络移植与优化的方法及系统 | |
US20210224692A1 (en) | Hyperparameter tuning method, device, and program | |
US20220164666A1 (en) | Efficient mixed-precision search for quantizers in artificial neural networks | |
CN111966361B (zh) | 用于确定待部署模型的方法、装置、设备及其存储介质 | |
CN109558248B (zh) | 一种用于确定面向海洋模式计算的资源分配参数的方法及系统 | |
US20220237510A1 (en) | Method for training multimedia recommendation model and server | |
CN112200296A (zh) | 网络模型量化方法、装置、存储介质及电子设备 | |
CN116301904A (zh) | 一种用于深度学习编译器的算子优化加速方法及装置 | |
CN113434699A (zh) | Bert模型的预训练方法、计算机装置和存储介质 | |
CN116881641A (zh) | 预训练模型调整方法及装置、存储介质、计算设备 | |
KR20220143792A (ko) | 콘볼루션 신경망 양자화 추론 장치 및 방법 | |
CN113885845B (zh) | 深度学习编译器的计算图的生成方法、系统、设备及介质 | |
WO2022246986A1 (zh) | 数据处理方法、装置、设备及计算机可读存储介质 | |
CN110458287B (zh) | 神经网络优化器的参数更新方法、装置、终端及存储介质 | |
CN116560666B (zh) | 基于多层级代码生成的ai前端统一计算方法、装置及介质 | |
CN115238883A (zh) | 神经网络模型的训练方法、装置、设备及存储介质 | |
JP2023123636A (ja) | ハイパーパラメータチューニング方法、装置及びプログラム | |
CN116579380A (zh) | 一种数据处理方法以及相关设备 | |
CN112749364B (zh) | 基于人工智能的网页生成方法、装置、设备及存储介质 | |
Liu et al. | Block-Wise Dynamic-Precision Neural Network Training Acceleration via Online Quantization Sensitivity Analytics | |
Osegi et al. | GOEmbed: a smart SMS-SQL database management system for low-cost microcontrollers |
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 |