CN111666071A - 一种基于目标众核的对抗网络移植与优化的方法及系统 - Google Patents

一种基于目标众核的对抗网络移植与优化的方法及系统 Download PDF

Info

Publication number
CN111666071A
CN111666071A CN202010306980.3A CN202010306980A CN111666071A CN 111666071 A CN111666071 A CN 111666071A CN 202010306980 A CN202010306980 A CN 202010306980A CN 111666071 A CN111666071 A CN 111666071A
Authority
CN
China
Prior art keywords
core
acceleration
code
function
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.)
Granted
Application number
CN202010306980.3A
Other languages
English (en)
Other versions
CN111666071B (zh
Inventor
魏志强
刘园园
杨永全
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ocean University of China
Qingdao National Laboratory for Marine Science and Technology Development Center
Original Assignee
Ocean University of China
Qingdao National Laboratory for Marine Science and Technology Development Center
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Ocean University of China, Qingdao National Laboratory for Marine Science and Technology Development Center filed Critical Ocean University of China
Priority to CN202010306980.3A priority Critical patent/CN111666071B/zh
Publication of CN111666071A publication Critical patent/CN111666071A/zh
Application granted granted Critical
Publication of CN111666071B publication Critical patent/CN111666071B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/31Programming languages or programming paradigms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning 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)
  • Biophysics (AREA)
  • Computing Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Artificial Intelligence (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.一种基于目标众核的对抗网络移植与优化的方法,所述方法包括:
编写对抗网络代码并移植到目标众核;
编写基于所述目标众核的对抗网络编译文件;
通过所述目标众核主核串运行对抗网络的功能模型,对所述功能模型进行分析,对所述功能模型的热点函数进行定位,获取所述热点函数的统计结果;
根据所述热点函数的统计结果,对所述热点函数的特征和参数进行分析,编写所述热点函数的主核加速代码和所述热点函数的从核加速代码;
通过加速库对所述热点函数的主核加速代码和所述热点函数的从核加速代码的加速可行性进行测试;
当所述热点函数的主核加速代码和所述热点函数的从核加速代码的加速可行性通过测试时,通过所述加速库生成所述功能模型的优化策略。
2.根据权利要求1所述的方法,所述编写对抗网络代码并移植到目标众核;编写基于所述目标众核的对抗网络编译文件,还包括:
根据所述对抗网络的算法,编写适应于所述目标众核的代码并移植到目标众核;
根据所述目标众核的编译指令,编写基于所述目标众核的对抗网络编译文件,所述编译文件通过主核串行方式运行。
3.根据权利要求1所述的方法,所述功能模型包括:图像合成模型、文本预测模型以及图像修复模型。
4.根据权利要求1所述的方法,还包括:
通过加速库对所述热点函数的主从核加速代码的加速可行性进行测试;
计算所述热点函数的主从核加速代码的加速比,当计算出的加速比达到预设的阈值时,所述热点函数的主从核加速代码的加速可行性通过测试。
5.根据权利要求1所述的方法,还包括:
输入热点函数的代码;
挖掘所述热点函数功能与所述热点函数需求之间的关系;
对热点函数并行加速后的运行时间进行优化;
输出所述热点函数的主核代码和所述热点函数的从核代码;
判断所述热点函数的主核代码和所述热点函数的从核代码是否为最优化;
当所述热点函数的主核代码和所述热点函数的从核代码为最优化时,输入最优的热点函数的代码。
6.一种基于目标众核的对抗网络移植与优化的系统,所述系统包括:
第一编译单元,用于编写对抗网络代码并移植到目标众核;编写基于所述目标众核的对抗网络编译文件;
分析单元,用于通过所述目标众核主核串运行对抗网络的功能模型,对所述功能模型进行分析,对所述功能模型的热点函数进行定位,获取所述热点函数的统计结果;
第二编译单元,用于根据所述热点函数的统计结果,对所述热点函数的特征和参数进行分析,编写所述热点函数的主核加速代码和所述热点函数的从核加速代码;
测试单元,用于通过加速库对所述热点函数的主核加速代码和所述热点函数的从核加速代码的加速可行性进行测试;
生成单元,用于当所述热点函数的主核加速代码和所述热点函数的从核加速代码的加速可行性通过测试时,通过所述加速库生成所述功能模型的优化策略。
7.根据权利要求6所述的系统,所述第一编译单元用于编写对抗网络代码并移植到目标众核;编写基于所述目标众核的对抗网络编译文件,包括:
根据所述对抗网络的算法,编写适应于所述目标众核的代码并移植到目标众核;
根据所述目标众核的编译指令,编写基于所述目标众核的对抗网络编译文件,所述编译文件通过主核串行方式运行。
8.根据权利要求6所述的系统,所述功能模型包括:图像合成模型、文本预测模型以及图像修复模型。
9.根据权利要求6所述的系统,所述测试单元还用于:
通过加速库对所述热点函数的主从核加速代码的加速可行性进行测试;
计算所述热点函数的主从核加速代码的加速比,当计算出的加速比达到预设的阈值时,所述热点函数的主从核加速代码的加速可行性通过测试。
10.根据权利要求6所述的系统,还包括优化单元,用于:
输入热点函数的代码;
挖掘所述热点函数功能与所述热点函数需求之间的关系;
对热点函数并行加速后的运行时间进行优化;
输出所述热点函数的主核代码和所述热点函数的从核代码;
判断所述热点函数的主核代码和所述热点函数的从核代码是否为最优化;
当所述热点函数的主核代码和所述热点函数的从核代码为最优化时,输入最优的热点函数的代码。
CN202010306980.3A 2020-04-17 2020-04-17 一种基于目标众核的对抗网络移植与优化的方法及系统 Active CN111666071B (zh)

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 true CN111666071A (zh) 2020-09-15
CN111666071B 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)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113190984A (zh) * 2021-04-21 2021-07-30 中国海洋大学 水下声场模型bellhop并行实现方法
CN113886251A (zh) * 2021-09-30 2022-01-04 四川大学 基于热力图的热点函数确定方法
CN114153494A (zh) * 2021-12-02 2022-03-08 中国核动力研究设计院 一种基于热力图的热点代码优化方法及装置
CN114743613A (zh) * 2022-04-29 2022-07-12 中国海洋大学 基于异构众核架构的超大规模海洋天然产物分子对接方法
US11775317B2 (en) 2021-04-30 2023-10-03 International Business Machines Corporation Locate neural network performance hot spots

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108322349A (zh) * 2018-02-11 2018-07-24 浙江工业大学 基于对抗式生成网络的深度学习对抗性攻击防御方法
CN109388565A (zh) * 2018-09-27 2019-02-26 西安电子科技大学 基于生成式对抗网络的软件系统性能优化方法
CN109492075A (zh) * 2018-09-10 2019-03-19 中山大学 一种基于循环生成对抗网络的迁移学习排序方法
CN109857459A (zh) * 2018-12-27 2019-06-07 中国海洋大学 一种e级超算海洋模式自动移植优化方法及系统
US20200014294A1 (en) * 2018-07-06 2020-01-09 Qualcomm Incorporated Surge protection circuit for switched-mode power supplies
CN110909181A (zh) * 2019-09-30 2020-03-24 中国海洋大学 一种面向多类型海洋数据的跨模态检索方法及系统
US20200110618A1 (en) * 2018-05-31 2020-04-09 Bank Of America Corporation Integrated mainframe distributed orchestration tool

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108322349A (zh) * 2018-02-11 2018-07-24 浙江工业大学 基于对抗式生成网络的深度学习对抗性攻击防御方法
US20200110618A1 (en) * 2018-05-31 2020-04-09 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
CN109492075A (zh) * 2018-09-10 2019-03-19 中山大学 一种基于循环生成对抗网络的迁移学习排序方法
CN109388565A (zh) * 2018-09-27 2019-02-26 西安电子科技大学 基于生成式对抗网络的软件系统性能优化方法
CN109857459A (zh) * 2018-12-27 2019-06-07 中国海洋大学 一种e级超算海洋模式自动移植优化方法及系统
CN110909181A (zh) * 2019-09-30 2020-03-24 中国海洋大学 一种面向多类型海洋数据的跨模态检索方法及系统

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
JASON BROWNLEE ON: "How to Develop a Wasserstein Generative Adversarial Network (WGAN) From Scratch", 《GENERATIVE ADVERSARIAL NETWORKS》 *
ME TSCHUCHNIG: "A Technology for Image Augmentation", 《HABER P., LAMPOLTSHAMMER T., MAYR M. (EDS) DATA SCIENCE – ANALYTICS AND APPLICATIONS. SPRINGER VIEWEG, WIESBADEN》 *
YANG M: "Underwater image enhancement based on conditional generative adversarial network", 《SIGNAL PROCESSING IMAGE COMMUNICATION》 *
苏健民: "基于生成对抗网络的单帧遥感图像超分辨率", 《计算机工程与应用》 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113190984A (zh) * 2021-04-21 2021-07-30 中国海洋大学 水下声场模型bellhop并行实现方法
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
CN113886251A (zh) * 2021-09-30 2022-01-04 四川大学 基于热力图的热点函数确定方法
CN114153494A (zh) * 2021-12-02 2022-03-08 中国核动力研究设计院 一种基于热力图的热点代码优化方法及装置
CN114153494B (zh) * 2021-12-02 2024-02-13 中国核动力研究设计院 一种基于热力图的热点代码优化方法及装置
CN114743613A (zh) * 2022-04-29 2022-07-12 中国海洋大学 基于异构众核架构的超大规模海洋天然产物分子对接方法
CN114743613B (zh) * 2022-04-29 2022-11-25 中国海洋大学 基于异构众核架构的超大规模海洋天然产物分子对接方法

Also Published As

Publication number Publication date
CN111666071B (zh) 2021-12-17

Similar Documents

Publication Publication Date Title
CN111666071B (zh) 一种基于目标众核的对抗网络移植与优化的方法及系统
Fuller et al. Computing performance: Game over or next level?
CN111667061B (zh) 一种基于目标众核的深度学习框架移植与优化方法及系统
US20190278593A1 (en) Accelerating linear algebra kernels for any processor architecture
CN109857459B (zh) 一种e级超算海洋模式自动移植优化方法及系统
CN116301904B (zh) 一种用于深度学习编译器的算子优化加速方法及装置
JP2012510661A (ja) 逐次コンピュータプログラムコードを並列処理する方法及びシステム
CN110443214B (zh) 一种基于risc-v的人脸识别加速电路系统及加速方法
CN115659281A (zh) 一种自适应加速算子融合的方法及装置
CN114356578B (zh) 自然语言处理模型的并行计算方法、装置、设备及介质
Valery et al. CPU/GPU collaboration techniques for transfer learning on mobile devices
CN116560730A (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
CN106126311B (zh) 一种基于代数演算的中间代码优化方法
CN111340175B (zh) 图重写的处理方法及装置、计算设备及可读介质
CN107203406A (zh) 一种面向分布式存储结构的处理方法
CN113570044A (zh) 客户流失分析模型训练方法及装置
EP3989059B1 (en) Interactive code optimizer
Malle et al. The need for speed of ai applications: Performance comparison of native vs. browser-based algorithm implementations
CN113626179B (zh) 一种通用的人工智能模型训练方法及系统
Wu et al. Heterogeneous Computing and Applications in Deep Learning: A Survey
US20240078230A1 (en) System, method, and computer program for augmenting multi-turn text-to-sql datasets with self-play
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