CN111666071B - 一种基于目标众核的对抗网络移植与优化的方法及系统 - Google Patents
一种基于目标众核的对抗网络移植与优化的方法及系统 Download PDFInfo
- Publication number
- CN111666071B CN111666071B CN202010306980.3A CN202010306980A CN111666071B CN 111666071 B CN111666071 B CN 111666071B CN 202010306980 A CN202010306980 A CN 202010306980A CN 111666071 B CN111666071 B CN 111666071B
- Authority
- CN
- China
- Prior art keywords
- core
- acceleration
- function
- code
- hot spot
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/31—Programming languages or programming paradigms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- Biophysics (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Mathematical Physics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Neurology (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种基于目标众核的对抗网络移植与优化的方法,方法包括:编写对抗网络代码并移植到目标众核;编写基于目标众核的对抗网络编译文件;通过目标众核主核串运行对抗网络的功能模型,对功能模型进行分析,对功能模型的热点函数进行定位,获取热点函数的统计结果;根据热点函数的统计结果,对热点函数的特征和参数进行分析,编写热点函数的主核加速代码和热点函数的从核加速代码;通过加速库对热点函数的主核加速代码和热点函数的从核加速代码的加速可行性进行测试;当热点函数的主核加速代码和热点函数的从核加速代码的加速可行性通过测试时,通过加速库生成功能模型的优化策略。
Description
技术领域
本发明涉及高性能计算技术领域,更具体地,涉及一种基于目标众核的对抗网络移植与优化的方法及系统。
背景技术
随着我国海洋科技的发展,海洋已经成为高质量的发展战略要地,同时海洋科技也是建设海洋强国的重要支撑。作为人类生存发展的重要空间,海洋蕴藏着人类可持续发展的宝贵财富,而我国拥有丰富的海洋空间、海洋生物、海洋矿产等资源,具有巨大的开发潜力。然而,由于我国经济和科技发展水平等因素的制约,我国海洋开发起步较晚、开发能力有待提高,加上复杂多变的水下环境,致使成像质量差,分辨率低,细节模糊,这些特点对后续图像的解析和识别带来了极大的挑战。
而随着计算机信息技术的飞速发展,深度学习在计算机视觉等多个领域提出了各种丰富结构的网络模型并取得重要突破,而GAN是深度学习领域的新热点,也是目前最广泛研究的生成模型,在过去的几年中,生成对抗网络在各种任务中的实现了创造性的应用,比如图像生成,图像去模糊,以及图像超分辨率重建等,而将这些功能应用在海洋领域中,可以极大的促进海洋强国的建设。
然而,GAN网络的训练需要大量的时间资源和计算资源,目前,GAN的训练几乎都是依托于GPU上的图形计算,在国产众核架构平台上暂时没有灵活性以及扩展性较强的GAN网络。而国产众核平台是我国自主研发的高性能计算集群,以国产众核处理器为核心,支持多种宽度SIMD,为GAN提供其所需的主要计算能力,并通过GAN的网络结构,支持数据级和线程级并行,支持更加灵活、丰富的算法实现机制,同时,通过从核Cache的使用,支持复杂的超参数调优、训练迭代等。
但是由于国产众核架构的独特性,使用常用的人工智能框架搭建GAN网络并不能在短时间内获得需求的模型,而将基于国产众核的GAN移植成功后,对算法进行主从核并行加速和相关优化后,可以充分调用国产众核处理器的计算资源,获得巨大的性能和效率的提升。目前用户对GAN的移植与优化的需求主要体现在三方面:
(1)由于水下成像噪声多,质量差,而GAN在图像修复、图像生成等方面具有天然优势,但又需要极长的训练时间以及巨大的计算资源才可实现较好的效果,如何在更短的时间内获取到相同或者更优的训练结果一直都是人们所关注的重点。
(2)GAN是一个非线性网络模型,计算复杂度超高,要求计算机的性能极高,而众核作为现代超级计算机的新型计算机资源,基于新型体系结构的并行化方法是实现深度学习神经网络算法并行加速的最佳选择。
(3)目前针对GAN的研究几乎都是基于python以及GPU计算的方式实现,而国产众核处理器暂时还没有一种扩展性高、适用性强的可并行加速的对抗神经网络,因此,实现GAN的移植、并行加速与优化必不可少。
因此,需要一种技术,以实现基于目标众核的对抗网络移植与优化。
发明内容
本发明技术方案提供一种基于目标众核的对抗网络移植与优化的方法及系统,以解决如何基于国产众核的对抗网络移植与优化。本发明技术方案提出了一种基于国产众核的GAN移植与优化方法及系统,是围绕GNA的可并行性以及可扩展性等问题,研究基于国产众核的并行加速方法,设计一个基于国产众核的深度学习框架的移植与优化方法。本发明技术方案能够根据用户设计的神经网络结构自动调用已封装好的从核加速代码,整个过程省去了人工尝试各种主从核代码方案的时间和精力,对用户来说是一劳永逸的,即当主控服务器完成深度学习框架得移植和加速后,用户可通过该框架直接获得最优的并行加速效果且无需再长时间的等待参数的收敛和模型的生成。
为了解决上述问题,本发明提供了一种基于目标众核的对抗网络移植与优化的方法,所述方法包括:
编写对抗网络代码并移植到目标众核;
编写基于所述目标众核的对抗网络编译文件;
通过所述目标众核主核串运行对抗网络的功能模型,对所述功能模型进行分析,对所述功能模型的热点函数进行定位,获取所述热点函数的统计结果;
根据所述热点函数的统计结果,对所述热点函数的特征和参数进行分析,编写所述热点函数的主核加速代码和所述热点函数的从核加速代码;
通过加速库对所述热点函数的主核加速代码和所述热点函数的从核加速代码的加速可行性进行测试;
当所述热点函数的主核加速代码和所述热点函数的从核加速代码的加速可行性通过测试时,通过所述加速库生成所述功能模型的优化策略。
优选地,所述编写对抗网络代码并移植到目标众核;编写基于所述目标众核的对抗网络编译文件,还包括:
根据所述对抗网络的算法,编写适应于所述目标众核的代码并移植到目标众核;
根据所述目标众核的编译指令,编写基于所述目标众核的对抗网络编译文件,所述编译文件通过主核串行方式运行。
优选地,所述功能模型包括:图像合成模型、文本预测模型以及图像修复模型。
优选地,还包括:
通过加速库对所述热点函数的主从核加速代码的加速可行性进行测试;
计算所述热点函数的主从核加速代码的加速比,当计算出的加速比达到预设的阈值时,所述热点函数的主从核加速代码的加速可行性通过测试。
优选地,还包括:
输入热点函数的代码;
挖掘所述热点函数功能与所述热点函数需求之间的关系;
对热点函数并行加速后的运行时间进行优化;
输出所述热点函数的主核代码和所述热点函数的从核代码;
判断所述热点函数的主核代码和所述热点函数的从核代码是否为最优化;
当所述热点函数的主核代码和所述热点函数的从核代码为最优化时,输入最优的热点函数的代码。
基于本发明的另一方面,本发明提供一种基于目标众核的对抗网络移植与优化的系统,所述系统包括:
第一编译单元,用于编写对抗网络代码并移植到目标众核;编写基于所述目标众核的对抗网络编译文件;
分析单元,用于通过所述目标众核主核串运行对抗网络的功能模型,对所述功能模型进行分析,对所述功能模型的热点函数进行定位,获取所述热点函数的统计结果;
第二编译单元,用于根据所述热点函数的统计结果,对所述热点函数的特征和参数进行分析,编写所述热点函数的主核加速代码和所述热点函数的从核加速代码;
测试单元,用于通过加速库对所述热点函数的主核加速代码和所述热点函数的从核加速代码的加速可行性进行测试;
生成单元,用于当所述热点函数的主核加速代码和所述热点函数的从核加速代码的加速可行性通过测试时,通过所述加速库生成所述功能模型的优化策略。
优选地,所述第一编译单元用于编写对抗网络代码并移植到目标众核;编写基于所述目标众核的对抗网络编译文件,包括:
根据所述对抗网络的算法,编写适应于所述目标众核的代码并移植到目标众核;
根据所述目标众核的编译指令,编写基于所述目标众核的对抗网络编译文件,所述编译文件通过主核串行方式运行。
优选地,所述功能模型包括:图像合成模型、文本预测模型以及图像修复模型。
优选地,所述测试单元还用于:
通过加速库对所述热点函数的主从核加速代码的加速可行性进行测试;
计算所述热点函数的主从核加速代码的加速比,当计算出的加速比达到预设的阈值时,所述热点函数的主从核加速代码的加速可行性通过测试。
优选地,还包括优化单元,用于:
输入热点函数的代码;
挖掘所述热点函数功能与所述热点函数需求之间的关系;
对热点函数并行加速后的运行时间进行优化;
输出所述热点函数的主核代码和所述热点函数的从核代码;
判断所述热点函数的主核代码和所述热点函数的从核代码是否为最优化;
当所述热点函数的主核代码和所述热点函数的从核代码为最优化时,输入最优的热点函数的代码。
本发明技术方案提供一种基于目标众核的对抗网络移植与优化的方法及系统,其中方法包括:编写对抗网络代码并移植到目标众核;编写基于目标众核的对抗网络编译文件;通过目标众核主核串运行对抗网络的功能模型,对功能模型进行分析,对功能模型的热点函数进行定位,获取热点函数的统计结果;根据热点函数的统计结果,对热点函数的特征和参数进行分析,编写热点函数的主核加速代码和热点函数的从核加速代码;通过加速库对热点函数的主核加速代码和热点函数的从核加速代码的加速可行性进行测试;当热点函数的主核加速代码和热点函数的从核加速代码的加速可行性通过测试时,通过加速库生成功能模型的优化策略。本发明技术方案将基于国产众核的高性能并行计算和GAN有效的结合,使得用户对面向基于GAN的高性能并行计算的需求得以顺利解决,让神经网络以极短的时间内生成用户需求的模型。
附图说明
通过参考下面的附图,可以更为完整地理解本发明的示例性实施方式:
图1为根据本发明优选实施方式的一种基于目标众核的对抗网络移植与优化的方法流程图;
图2为根据本发明优选实施方式的GAN的移植与优化方法的流程图;
图3为根据本发明优选实施方式的GAN移植的结构示意图;
图4为根据本发明优选实施方式的GAN热点函数并行加速流程示意图;
图5为根据本发明优选实施方式的GAN的并行优化的流程示意图;
图6为根据本发明优选实施方式的客户端使用GAN的生成图像的流程示意图;以及
图7为根据本发明优选实施方式的一种基于目标众核的对抗网络移植与优化的系统结构图。
具体实施方式
现在参考附图介绍本发明的示例性实施方式,然而,本发明可以用许多不同的形式来实施,并且不局限于此处描述的实施例,提供这些实施例是为了详尽地且完全地公开本发明,并且向所属技术领域的技术人员充分传达本发明的范围。对于表示在附图中的示例性实施方式中的术语并不是对本发明的限定。在附图中,相同的单元/元件使用相同的附图标记。
除非另有说明,此处使用的术语(包括科技术语)对所属技术领域的技术人员具有通常的理解含义。另外,可以理解的是,以通常使用的词典限定的术语,应当被理解为与其相关领域的语境具有一致的含义,而不应该被理解为理想化的或过于正式的意义。
图1为根据本发明优选实施方式一种基于目标众核的对抗网络移植与优化的方法流程图。GAN是一种基于国产众核的生成对抗网络,如何将GAN在国产众核上实现移植与优化以及如何通过GAN算法对海洋生物数据进行拓展与修复是本发明索要解决的问题。本发明公开了一种基于国产众核的GAN移植与优化方法,其中,GAN移植的过程为:依据生成对抗网络的算法,编写神经网络参数以及适应于国产众核的代码,并使其具有一定的扩展性,依据国产机器的编译指令,实现对该网络的编译并成功运行主核串行方式的运行。GAN的加速优化的过程为:使用该网络在国产众核上分别运行基于GAN的图像合成、文本预测以及图像修复等经典模型,并使用国产众核性能分析工具对模型运行过程进行分析,实现对热点函数的定位与提取,之后,对热点函数的特征以及函数参数进行分析并使用并行加速库对热点函数的进行加速和测试,以确保加速的可行性以及模型的准确性,同时,通过并行加速库中组合成的针对该模型的优化策略以在确保框架正确性的前提下提高该框架的加速比。如图1所示,本发明提供一种基于目标众核的对抗网络移植与优化的方法,方法包括:
优选地,在步骤101:编写对抗网络代码并移植到目标众核;
优选地,在步骤102:编写基于目标众核的对抗网络编译文件;本发明中以国产众核作为目标众核进行举例说明。
优选地,编写对抗网络代码并移植到目标众核;编写基于目标众核的对抗网络编译文件,还包括:
根据对抗网络的算法,编写适应于目标众核的代码并移植到目标众核;
根据目标众核的编译指令,编写基于目标众核的对抗网络编译文件,编译文件通过主核串行方式运行。
优选地,在步骤103:通过目标众核主核串运行对抗网络的功能模型,对功能模型进行分析,对功能模型的热点函数进行定位,获取热点函数的统计结果。优选地,功能模型包括:图像合成模型、文本预测模型以及图像修复模型。
本发明基于国产众核的GAN移植与优化方法,由已知的主控服务器、GAN,和主从核加速代码构成,其中:
GAN移植过程为:依据生成对抗网络的算法,编写神经网络参数以及适应于国产众核的代码,并使其具有一定的扩展性,依据国产机器的编译指令,实现对该网络的编译并成功运行主核串行方式的运行。如图3所示。
热点函数代码特征提取的过程为:使用GAN网络在国产众核上分别运行基于GAN的图像合成、文本预测以及图像修复等经典模型,并使用国产众核性能分析工具对模型运行过程进行分析,实现对热点函数的定位与提取。如图4所示。
本发明中主核串行是不使用从核代码,只通过主核运行的代码。包括:
编写能在国产众核上运行的代码
在国产众核上使用主核运行编写好的代码。
根据运行的结果,使用性能分析工具分析出热点函数,获得统计结果,对热点函数定位,即确定哪个热点函数运行时间长。
对热点函数进行定位之后,对热点函数进行并行化,即对热点函数编写从核代码,此时主核的代码也会有变化,这一步就是编写热点函数主从核代码。
编写之后,对热点函数进行测试,试一试并行后热点函数的运行时间,根据运行时间,判断优化效果。
优选地,在步骤104:根据热点函数的统计结果,对热点函数的特征和参数进行分析,编写热点函数的主核加速代码和热点函数的从核加速代码。
优选地,在步骤105:通过加速库对热点函数的主核加速代码和热点函数的从核加速代码的加速可行性进行测试。
优选地,在步骤106:当热点函数的主核加速代码和热点函数的从核加速代码的加速可行性通过测试时,通过加速库生成功能模型的优化策略。
优选地,方法还包括:
通过加速库对热点函数的主从核加速代码的加速可行性进行测试;
计算热点函数的主从核加速代码的加速比,当计算出的加速比达到预设的阈值时,热点函数的主从核加速代码的加速可行性通过测试。
优选地,方法还包括:
输入热点函数的代码;
挖掘热点函数功能与热点函数需求之间的关系;
对热点函数并行加速后的运行时间进行优化;
输出热点函数的主核代码和热点函数的从核代码;
判断热点函数的主核代码和热点函数的从核代码是否为最优化;
当热点函数的主核代码和热点函数的从核代码为最优化时,输入最优的热点函数的代码。
本发明对该框架并行加速的过程为:根据前一次对热点函数的统计结果,热点函数的特征以及函数参数进行分析,并编写各个热点函数对应的主从核加速代码并进行测试,以确保加速的可行性以及模型的准确性。如图5所示。
该框架加速优化的过程为:根据前一次对该框架的编译文件分析结果,添加DMA与从核cache结合的优化策略、DMA与RMA共同广播传输数据的优化策略等,以提高GAN的加速效率。GAN的移植与加速的方法能够将自动对用户输入的模型进行并行加速,整个过程省去了人工尝试代码编写调整和模型生成的时间,对用户来说是一劳永逸的,也就是说,当用户下一次再用这个框架实现GAN网络模型时就可以直接使用加速好的GAN,针对输入的模型参数进行训练,而无需再进行多次尝试。
本发明的实施方式大大降低了GAN的时间成本,极大的提高了开发人员的效率。
如图2所示,本发明提出了一种基于国产众核的GAN移植与优化方法,该方法围绕GAN的可并行性以及可扩展性等问题,研究基于国产众核的并行加速方法,依据生成对抗网络的算法,编写神经网络参数以及适应于国产众核的代码,并使其具有一定的扩展性,依据国产机器的编译指令,实现对该网络的编译并成功运行主核串行方式的运行。GAN的加速优化的过程为:使用该网络在国产众核上分别运行基于GAN的图像合成、文本预测以及图像修复等经典模型,并使用国产众核性能分析工具对模型运行过程进行分析,实现对热点函数的定位与提取,之后,对热点函数的特征以及函数参数进行分析并使用并行加速库对热点函数的进行加速和测试,以确保加速的可行性以及模型的准确性,同时,通过并行加速库中组合成的针对该模型的优化策略以在确保框架正确性的前提下提高该框架的加速比。
本发明将用户信息(用户名、密码)存储在主控服务器中,将客户端提供的模型参数进行自动分析并自动使用已完成加速的GAN训练需求的模型,并将输出的结果存储到数据存储服务器中。
深度学习框架移植过程为:依据生成对抗网络的算法,编写神经网络参数以及适应于国产众核的代码,并使其具有一定的扩展性,依据国产机器的编译指令,实现对该网络的编译并成功运行主核串行方式的运行。
本发明中的热点函数代码特征提取的过程为:使用GAN网络在国产众核上分别运行基于GAN的图像合成、文本预测以及图像修复等经典模型,并使用国产众核性能分析工具对模型运行过程进行分析,实现对热点函数的定位与提取。
本发明对该框架并行加速的过程为:根据前一次对热点函数的统计结果,热点函数的特征以及函数参数进行分析,并编写各个热点函数对应的主从核加速代码并进行测试,以确保加速的可行性以及模型的准确性。
该框架加速优化的过程为:根据前一次对该框架的编译文件分析结果,添加DMA与从核cache结合的优化策略、DMA与RMA共同广播传输数据的优化策略等,以提高GAN的加速效率。GAN的移植与加速的方法能够将自动对用户输入的模型进行并行加速,整个过程省去了人工尝试代码编写调整和模型生成的时间,对用户来说是一劳永逸的,也就是说,当用户下一次再用这个框架实现GAN网络模型时就可以直接使用加速好的GAN,针对输入的模型参数进行训练,而无需再进行多次尝试。
本发明客户端获取一个已训练完成的模型具体过程为:客户端向主控服务器发送登录账号和密码,主控服务器在用户身份数据库内进行验证,待验证通过,客户端生成一个下载请求信息,将该下载请求信息发送至主控服务器,主控服务器根据请求下载的存储地址访问数据存储服务器,数据存储服务器检索至对应的信息,供主控服务器下载,主控服务器将生成的模型返回给客户端。如图6所示。
图7为根据本发明优选实施方式的一种基于目标众核的对抗网络移植与优化的系统结构图。本发明提供一种基于目标众核的对抗网络移植与优化的系统,系统包括:
第一编译单元701,用于编写对抗网络代码并移植到目标众核;编写基于目标众核的对抗网络编译文件。
优选地,第一编译单元701用于编写对抗网络代码并移植到目标众核;编写基于目标众核的对抗网络编译文件,包括:
根据对抗网络的算法,编写适应于目标众核的代码并移植到目标众核;
根据目标众核的编译指令,编写基于目标众核的对抗网络编译文件,编译文件通过主核串行方式运行。
分析单元702,用于通过目标众核主核串运行对抗网络的功能模型,对功能模型进行分析,对功能模型的热点函数进行定位,获取热点函数的统计结果。优选地,功能模型包括:图像合成模型、文本预测模型以及图像修复模型。
本发明基于国产众核的GAN移植与优化方法,由已知的主控服务器、GAN,和主从核加速代码构成,其中:
GAN移植过程为:依据生成对抗网络的算法,编写神经网络参数以及适应于国产众核的代码,并使其具有一定的扩展性,依据国产机器的编译指令,实现对该网络的编译并成功运行主核串行方式的运行。如图3所示。
热点函数代码特征提取的过程为:使用GAN网络在国产众核上分别运行基于GAN的图像合成、文本预测以及图像修复等经典模型,并使用国产众核性能分析工具对模型运行过程进行分析,实现对热点函数的定位与提取。如图4所示。
本发明中主核串行是不使用从核代码,只通过主核运行的代码。包括:
编写能在国产众核上运行的代码
在国产众核上使用主核运行编写好的代码。
根据运行的结果,使用性能分析工具分析出热点函数,获得统计结果,对热点函数定位,即确定哪个热点函数运行时间长。
对热点函数进行定位之后,对热点函数进行并行化,即对热点函数编写从核代码,此时主核的代码也会有变化,这一步就是编写热点函数主从核代码。
编写之后,对热点函数进行测试,试一试并行后热点函数的运行时间,根据运行时间,判断优化效果。
第二编译单元703,用于根据热点函数的统计结果,对热点函数的特征和参数进行分析,编写热点函数的主核加速代码和热点函数的从核加速代码;
测试单元704,用于通过加速库对热点函数的主核加速代码和热点函数的从核加速代码的加速可行性进行测试;
生成单元705,用于当热点函数的主核加速代码和热点函数的从核加速代码的加速可行性通过测试时,通过加速库生成功能模型的优化策略。
优选地,测试单元704还用于:
通过加速库对热点函数的主从核加速代码的加速可行性进行测试;
计算热点函数的主从核加速代码的加速比,当计算出的加速比达到预设的阈值时,热点函数的主从核加速代码的加速可行性通过测试。
优选地,还包括优化单元,用于:
输入热点函数的代码;
挖掘热点函数功能与热点函数需求之间的关系;
对热点函数并行加速后的运行时间进行优化;
输出热点函数的主核代码和热点函数的从核代码;
判断热点函数的主核代码和热点函数的从核代码是否为最优化;
当热点函数的主核代码和热点函数的从核代码为最优化时,输入最优的热点函数的代码。
本发明对该框架并行加速的过程为:根据前一次对热点函数的统计结果,热点函数的特征以及函数参数进行分析,并编写各个热点函数对应的主从核加速代码并进行测试,以确保加速的可行性以及模型的准确性。如图5所示。
该框架加速优化的过程为:根据前一次对该框架的编译文件分析结果,添加DMA与从核cache结合的优化策略、DMA与RMA共同广播传输数据的优化策略等,以提高GAN的加速效率。GAN的移植与加速的方法能够将自动对用户输入的模型进行并行加速,整个过程省去了人工尝试代码编写调整和模型生成的时间,对用户来说是一劳永逸的,也就是说,当用户下一次再用这个框架实现GAN网络模型时就可以直接使用加速好的GAN,针对输入的模型参数进行训练,而无需再进行多次尝试。
本发明的实施方式大大降低了GAN的时间成本,极大的提高了开发人员的效率。
已经通过参考少量实施方式描述了本发明。然而,本领域技术人员所公知的,正如附带的专利权利要求所限定的,除了本发明以上公开的其他的实施例等同地落在本发明的范围内。
通常地,在权利要求中使用的所有术语都根据他们在技术领域的通常含义被解释,除非在其中被另外明确地定义。所有的参考“一个//该[装置、组件等]”都被开放地解释为装置、组件等中的至少一个实例,除非另外明确地说明。这里公开的任何方法的步骤都没必要以公开的准确的顺序运行,除非明确地说明。
Claims (10)
1.一种基于目标众核的对抗网络移植与优化的方法,所述方法包括:
编写对抗网络代码并移植到目标众核;
编写基于所述目标众核的对抗网络编译文件;
通过所述目标众核主核串行方式运行对抗网络的功能模型,对所述功能模型进行分析,对所述功能模型的热点函数进行定位,获取所述热点函数的统计结果;
根据所述热点函数的统计结果,对所述热点函数的特征和参数进行分析,编写所述热点函数的主核加速代码和所述热点函数的从核加速代码;
通过加速库对所述热点函数的主核加速代码和所述热点函数的从核加速代码的加速可行性进行测试;
当所述热点函数的主核加速代码和所述热点函数的从核加速代码的加速可行性通过测试时,通过所述加速库生成所述功能模型的优化策略,所述优化策略包括:DMA与从核cache结合的优化策略、DMA与RMA共同广播传输数据的优化策略。
2.根据权利要求1所述的方法,所述编写对抗网络代码并移植到目标众核;编写基于所述目标众核的对抗网络编译文件,还包括:
根据所述对抗网络的算法,编写适应于所述目标众核的代码并移植到目标众核;
根据所述目标众核的编译指令,编写基于所述目标众核的对抗网络编译文件,所述编译文件通过主核串行方式运行。
3.根据权利要求1所述的方法,所述功能模型包括:图像合成模型、文本预测模型以及图像修复模型。
4.根据权利要求1所述的方法,还包括:
通过加速库对所述热点函数的主从核加速代码的加速可行性进行测试;
计算所述热点函数的主从核加速代码的加速比,当计算出的加速比达到预设的阈值时,所述热点函数的主从核加速代码的加速可行性通过测试。
5.根据权利要求1所述的方法,还包括:
输入热点函数的代码;
挖掘所述热点函数功能与所述热点函数需求之间的关系;
对热点函数并行加速后的运行时间进行优化;
输出所述热点函数的主核代码和所述热点函数的从核代码;
判断所述热点函数的主核代码和所述热点函数的从核代码是否为最优化;
当所述热点函数的主核代码和所述热点函数的从核代码为最优化时,输入最优的热点函数的代码。
6.一种基于目标众核的对抗网络移植与优化的系统,所述系统包括:
第一编译单元,用于编写对抗网络代码并移植到目标众核;编写基于所述目标众核的对抗网络编译文件;
分析单元,用于通过所述目标众核主核串行方式运行对抗网络的功能模型,对所述功能模型进行分析,对所述功能模型的热点函数进行定位,获取所述热点函数的统计结果;
第二编译单元,用于根据所述热点函数的统计结果,对所述热点函数的特征和参数进行分析,编写所述热点函数的主核加速代码和所述热点函数的从核加速代码;
测试单元,用于通过加速库对所述热点函数的主核加速代码和所述热点函数的从核加速代码的加速可行性进行测试;
生成单元,用于当所述热点函数的主核加速代码和所述热点函数的从核加速代码的加速可行性通过测试时,通过所述加速库生成所述功能模型的优化策略,所述优化策略包括:DMA与从核cache结合的优化策略、DMA与RMA共同广播传输数据的优化策略。
7.根据权利要求6所述的系统,所述第一编译单元用于编写对抗网络代码并移植到目标众核;编写基于所述目标众核的对抗网络编译文件,包括:
根据所述对抗网络的算法,编写适应于所述目标众核的代码并移植到目标众核;
根据所述目标众核的编译指令,编写基于所述目标众核的对抗网络编译文件,所述编译文件通过主核串行方式运行。
8.根据权利要求6所述的系统,所述功能模型包括:图像合成模型、文本预测模型以及图像修复模型。
9.根据权利要求6所述的系统,所述测试单元还用于:
通过加速库对所述热点函数的主从核加速代码的加速可行性进行测试;
计算所述热点函数的主从核加速代码的加速比,当计算出的加速比达到预设的阈值时,所述热点函数的主从核加速代码的加速可行性通过测试。
10.根据权利要求6所述的系统,还包括优化单元,用于:
输入热点函数的代码;
挖掘所述热点函数功能与所述热点函数需求之间的关系;
对热点函数并行加速后的运行时间进行优化;
输出所述热点函数的主核代码和所述热点函数的从核代码;
判断所述热点函数的主核代码和所述热点函数的从核代码是否为最优化;
当所述热点函数的主核代码和所述热点函数的从核代码为最优化时,输入最优的热点函数的代码。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010306980.3A CN111666071B (zh) | 2020-04-17 | 2020-04-17 | 一种基于目标众核的对抗网络移植与优化的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010306980.3A CN111666071B (zh) | 2020-04-17 | 2020-04-17 | 一种基于目标众核的对抗网络移植与优化的方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111666071A CN111666071A (zh) | 2020-09-15 |
CN111666071B true CN111666071B (zh) | 2021-12-17 |
Family
ID=72382854
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010306980.3A Active CN111666071B (zh) | 2020-04-17 | 2020-04-17 | 一种基于目标众核的对抗网络移植与优化的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111666071B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113190984B (zh) * | 2021-04-21 | 2022-10-14 | 中国海洋大学 | 水下声场模型bellhop并行实现方法 |
US11775317B2 (en) | 2021-04-30 | 2023-10-03 | International Business Machines Corporation | Locate neural network performance hot spots |
CN113886251B (zh) * | 2021-09-30 | 2023-04-11 | 四川大学 | 基于热力图的热点函数确定方法 |
CN114153494B (zh) * | 2021-12-02 | 2024-02-13 | 中国核动力研究设计院 | 一种基于热力图的热点代码优化方法及装置 |
CN114743613B (zh) * | 2022-04-29 | 2022-11-25 | 中国海洋大学 | 基于异构众核架构的超大规模海洋天然产物分子对接方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108322349B (zh) * | 2018-02-11 | 2021-04-06 | 浙江工业大学 | 基于对抗式生成网络的深度学习对抗性攻击防御方法 |
US10606613B2 (en) * | 2018-05-31 | 2020-03-31 | Bank Of America Corporation | Integrated mainframe distributed orchestration tool |
US20200014294A1 (en) * | 2018-07-06 | 2020-01-09 | Qualcomm Incorporated | Surge protection circuit for switched-mode power supplies |
CN109492075B (zh) * | 2018-09-10 | 2021-09-28 | 中山大学 | 一种基于循环生成对抗网络的迁移学习排序方法 |
CN109388565B (zh) * | 2018-09-27 | 2021-08-06 | 西安电子科技大学 | 基于生成式对抗网络的软件系统性能优化方法 |
CN109857459B (zh) * | 2018-12-27 | 2022-03-08 | 中国海洋大学 | 一种e级超算海洋模式自动移植优化方法及系统 |
CN110909181A (zh) * | 2019-09-30 | 2020-03-24 | 中国海洋大学 | 一种面向多类型海洋数据的跨模态检索方法及系统 |
-
2020
- 2020-04-17 CN CN202010306980.3A patent/CN111666071B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN111666071A (zh) | 2020-09-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111666071B (zh) | 一种基于目标众核的对抗网络移植与优化的方法及系统 | |
CN111667061B (zh) | 一种基于目标众核的深度学习框架移植与优化方法及系统 | |
US20190278593A1 (en) | Accelerating linear algebra kernels for any processor architecture | |
CN109857459B (zh) | 一种e级超算海洋模式自动移植优化方法及系统 | |
CN116301904B (zh) | 一种用于深度学习编译器的算子优化加速方法及装置 | |
CN114356578B (zh) | 自然语言处理模型的并行计算方法、装置、设备及介质 | |
CN108062532B (zh) | 深度学习人脸识别网络优化方法、装置及存储介质 | |
Valery et al. | CPU/GPU collaboration techniques for transfer learning on mobile devices | |
CN116560730A (zh) | 一种指令调度方法及相关设备 | |
CN115934275A (zh) | 任务处理方法及对话任务处理方法 | |
CN113885845B (zh) | 深度学习编译器的计算图的生成方法、系统、设备及介质 | |
US20220172044A1 (en) | Method, electronic device, and computer program product for deploying machine learning model | |
Pereira et al. | Extending OpenACC for efficient stencil code generation and execution by skeleton frameworks | |
WO2024049503A1 (en) | System, method, and computer program for augmenting multi-turn text-to-sql datasets with self-play | |
CN107203406B (zh) | 一种面向分布式存储结构的处理方法 | |
CN116225452A (zh) | 一种基于多层级中介码的图神经网络编译优化方法 | |
CN106126311B (zh) | 一种基于代数演算的中间代码优化方法 | |
CN113626179B (zh) | 一种通用的人工智能模型训练方法及系统 | |
CN111340175B (zh) | 图重写的处理方法及装置、计算设备及可读介质 | |
CN113031952A (zh) | 深度学习模型的执行代码的确定方法、装置及存储介质 | |
CN113570044A (zh) | 客户流失分析模型训练方法及装置 | |
Malle et al. | The need for speed of ai applications: Performance comparison of native vs. browser-based algorithm implementations | |
Wu et al. | Heterogeneous Computing and Applications in Deep Learning: A Survey | |
CN118245065B (zh) | 代码优化方法、装置、电子设备及可读存储介质 | |
CN111722937B (zh) | 深度学习权重更新方法、装置 |
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 |