CN111831285A - 一种面向内存计算平台的代码转换方法、系统及应用 - Google Patents

一种面向内存计算平台的代码转换方法、系统及应用 Download PDF

Info

Publication number
CN111831285A
CN111831285A CN202010577767.6A CN202010577767A CN111831285A CN 111831285 A CN111831285 A CN 111831285A CN 202010577767 A CN202010577767 A CN 202010577767A CN 111831285 A CN111831285 A CN 111831285A
Authority
CN
China
Prior art keywords
computing platform
nodes
memory
level
code conversion
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
CN202010577767.6A
Other languages
English (en)
Other versions
CN111831285B (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.)
Xidian University
Original Assignee
Xidian University
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 Xidian University filed Critical Xidian University
Priority to CN202010577767.6A priority Critical patent/CN111831285B/zh
Publication of CN111831285A publication Critical patent/CN111831285A/zh
Application granted granted Critical
Publication of CN111831285B publication Critical patent/CN111831285B/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/40Transformation of program code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • 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
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Biomedical Technology (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

本发明属于内存计算技术领域,公开了一种面向内存计算平台的代码转换方法、系统及应用。面向神经网络应用,为内存计算平台构建基于硬件描述语言的算法库;将神经网络模型转化为计算图形式,从计算图中获取节点信息;查询算法库中是否包含了节点所做的操作;根据节点之间的互联关系构建顶层top文件,实现从高级语言到底层硬件描述语言的代码转换。本发明通用的面向内存计算平台的高级语言到底层硬件描述语言的转换方法,使用户在开发过程中无需了解硬件底层架构,直接采用高级语言编程,并转化为硬件描述语言,降低开发难度,加快任务的部署速度并有效提高任务的执行效率。通过实验与仿真验证方法的可行性,最后对实验结果做总结。

Description

一种面向内存计算平台的代码转换方法、系统及应用
技术领域
本发明属于内存计算技术领域,尤其涉及一种面向内存计算平台的代码转换方法、系统及应用。
背景技术
传统的计算机系统采用处理器和内存分离的冯·诺依曼体系结构,以处理器为中心,存储器通过高速数据总线与处理器连接。随着大数据、人工智能、生物计算等领域的蓬勃发展,需要处理的数据量急剧增加,处理器和存储器之间的数据搬移带来严重的计算性能下降和功耗增加,即“存储墙”问题。内存计算(PIM)是解决“存储墙”问题的一个非常有前景的选项,通过在主内存中实现逻辑运算来提供高带宽,大规模并行性和高能效,因此消除了CPU和内存之间的数据移动开销。神经网络在处理语音识别、语言识别、图像分类、视频分割和博弈等新兴应用方面表现出了强大的能力。特别是,深度神经网络在各种分类问题、图像处理、视频处理、语音识别、计算机视觉以及医疗保健等方面表现出了优越的有效性。
然而目前的神经网络算法开发大多依赖于高级语言编程,内存计算平台上使用的是底层硬件描述语言,目前高层次综合工具大多是针对某些专用架构,例如Xilinx的Vivado HLs,无法为内存计算架构提供支持,因此在内存计算平台上部署神将网络算法时需要开发人员对底层硬件架构有所了解,并为其编写相应的硬件描述语言代码,提高了用户对内存计算架构的使用门槛,同时该方法缺乏通用性,增加了开发成本。
通过上述分析,现有技术存在的问题及缺陷为:现有的内存计算架构大多在计算灵活性和计算类型上限制较大,且编程复杂,无法提供统一的编程框架,使得代码如何部署在底层硬件架构上成为了新的难点,严重制约PIM在实际工程中的应用。
解决以上问题及缺陷的难度为:如何为内存计算架构提供统一的编程框架,其中算法库中应该包含什么操作,操作的数据类型,数据格式等都需要统一,同时算法库还需要为高级语言调用提供编程接口。
解决以上问题及缺陷的意义为:使算法开发人员在无需了解硬件底层架构的情况下也可以将高级语言代码,例如Java、Python、C++等,转换成硬件描述语言并将其部署在内存计算架构上,降低用户使用门槛,提高内存计算在数据密集型应用中的使用率。
发明内容
针对现有技术存在的问题,本发明提供了一种面向内存计算平台的代码转换方法、系统及应用。
本发明是这样实现的,一种面向内存计算平台的代码转换方法,所述代码转换方法包括:
为代码转换提供相应的描述语言算法库,首先整理常见的神经网络模型,分析神经网络内部结构,将神经网络中不同的操作分为不同的模块,例如卷积,池化,全链接,激活函数等。然后对这些不同的操作进行硬件描述语言改写,使其能够在内存计算平台上执行,生成算法库文件,并为算法库设计统一的高级语言调用接口。
读取计算图信息文件,从中获取节点信息,包括节点名称,节点所做的操作,数据类型以及节点之间的互联关系,并将节点信息以文件形式保存下来;
对保存的节点信息文件进行逐行查询,将其中的操作节点提取出来,并查询算法库中是否包含此操作,如果操作在算法库中没有提供,则退出并报错。如果算法库中包含节点所做的操作,则将算法库中的操作提取到新建的输出文件夹,并根据获取的节点数据类型修改操作的数据类型;
根据节点之间的互联关系构建顶层top文件,即可以直接在内存计算平台上执行的文件,将输出文件夹中的算法根据节点之间的互联关系进行调用,实现从高级语言到底层硬件描述语言的代码转换。
进一步,所述代码转换方法的计算图生成及提取,采用计算图表示数学计算,其中包括节点和边,计算图中的节点表示施加的数学操作,或者数据输入或输出的起点或终点,亦或是读取写入持久变量的终点,线表示节点之间的输入和输出关系。
进一步,所述代码转换方法利用跨框架的模型中间表达框架实现数据流图的统一,通过ONNX将各种计算框架的模型通过简单的步骤完成相互转换;采用Tensorflow作为代码转换的前端,其他的神经网络模型通过ONNX转换成Tensorflow的PB模型。
进一步,所述代码转换方法代码转换框架重点关注神经网络的部署阶段,用户通过常见的深度学习框架构建模型,并完成模型训练,并生成模型文件,并通过ONNX转换成统一的数据流图格式,其包含网络的节点信息和节点之间的互联关系。
进一步,所述代码转换方法基于硬件描述语言构建了面向神经网络应用的算法库。
本发明的另一目的在于提供一种计算机设备,所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如下步骤:
从计算图中获取节点信息,包括节点名称,节点所做的操作,数据类型以及节点间的互联关系;
利用底层硬件描述语言为内存计算平台设计算法库,并提供统一编程接口;
根据节点之间的互联关系构建顶层top文件,即可以直接在内存计算平台上执行的文件,实现从高级语言到底层硬件描述语言的代码转换。
本发明的另一目的在于提供一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如下步骤:
从计算图中获取节点信息,包括节点名称,节点所做的操作,数据类型以及节点间的互联关系;
利用底层硬件描述语言为内存计算平台设计算法库,并提供统一编程接口;
根据节点之间的互联关系构建顶层top文件,即可以直接在内存计算平台上执行的文件,实现从高级语言到底层硬件描述语言的代码转换。
本发明的另一目的在于提供一种运行所述代码转换方法的代码转换系统,所述代码转换系统包括:
节点信息处理模块,用于从计算图中获取节点信息,节点所做的操作,数据类型以及几点之间的互联关系;
节点操作处理模块,用于利用底层硬件描述语言为内存计算平台设计算法库,并提供统一编程接口;
代码转换处理模块,用于根据节点之间的互联关系构建顶层top文件,即可以直接在内存计算平台上执行的文件,实现从高级语言到底层硬件描述语言的代码转换。
本发明的另一目的在于提供一种终端,所述终端搭载所述代的码转换系统。
本发明的另一目的在于提供一种内存计算平台,所述内存计算平台搭载所述代的码转换系统。
结合上述的所有技术方案,本发明所具备的优点及积极效果为:内存计算(PIM)以其在数据单元附近构建计算单元,减少数据在存储器与运算器之间的搬移的优势成为了数据密集型应用的有利解决方案。现有的内存计算架构大多在计算灵活性和计算类型上限制较大,且编程复杂,无法提供统一的编程框架,使得代码如何部署在底层硬件架构上成为了新的难点,这严重制约了PIM在实际工程中的应用。本发明提出一种内存计算平台代码转换方法,支持用户在内存计算平台上采用高级语言进行开发,降低用户使用门槛,提高内存计算在数据密集型应用中的使用率。
本发明通用的面向内存计算平台的高级语言到底层硬件描述语言的转换方法,使用户在开发过程中无需了解硬件底层架构,直接采用高级语言编程,并转化为硬件描述语言,方便用户快速开发相关任务,降低开发难度,加快任务的部署速度并有效提高任务的执行效率。通过实验与仿真验证方法的可行性,最后对实验结果做总结。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图做简单的介绍,显而易见地,下面所描述的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的面向内存计算平台的代码转换方法流程图。
图2是本发明实施例提供的面向内存计算平台的代码转换系统的结构示意图;
图中:1、节点信息处理模块;2、节点操作处理模块;3、代码转换处理模块。
图3是本发明实施例提供的代码转换系统的原理图。
图4是本发明实施例提供的代码转换系统的代码转换方法实现流程图。
图5是本发明实施例提供的计算图与节点信息的展示图。
图6是本发明实施例提供的代码转换系统的神经网络全连接层示意图。
图7是本发明实施例提供的代码转换系统的实验仿真波形图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
针对现有技术存在的问题,本发明提供了一种面向内存计算平台的代码转换方法、系统及应用,下面结合附图对本发明作详细的描述。
如图1所示,本发明提供的面向内存计算平台的代码转换方法包括以下步骤:
S101:从计算图中获取节点信息,包括节点名称,节点所做的操作,数据类型以及节点间的互联关系;
S102:利用底层硬件描述语言为内存计算平台设计算法库,并提供统一编程接口;
S103:根据节点之间的互联关系构建顶层top文件,即可以直接在内存计算平台上执行的文件,实现从高级语言到底层硬件描述语言的代码转换。
本发明提供的代码转换方法业内的普通技术人员还可以采用其他的步骤实施,图1的本发明提供的代码转换方法仅仅是一个具体实施例而已。
如图2所示,本发明提供的代码转换系统包括:
节点信息处理模块1,用于从计算图中获取节点信息,节点所做的操作,数据类型以及节点之间的互联关系。
节点操作处理模块2,利用底层硬件描述语言为内存计算平台设计算法库,并提供统一编程接口。
代码转换处理模块3,用于根据节点之间的互联关系构建顶层top文件,即可以直接在内存计算平台上执行的文件,实现从高级语言到底层硬件描述语言的代码转换。
下面结合附图对本发明的技术方案作进一步的描述。
本发明提出了基于内存计算架构的深度学习模型代码转换整体框架如图3所示。提供了从深度学习模型到内存计算架构部署的整套方法,用户无需关注硬件细节,只需要专注于深度学习模型训练和优化,通过本发明提出的代码转换框架,即可完成深度学习模型在内存架构上的高效部署。本发明提出的代码转换方法的整体框架如图3所示,其面向的是常见的机器学习模型,例如MxNet、Caffe、ONNX、Tensorflow等,将其中用到的算法采用硬件描述语言进行改写,构建硬件描述语言算法库,然后将高级语言编写的得神经网络模型转化为计算图形式,然后获取计算图节点信息,并根据节点信息结合算法库进行代码转换,完成高级语言到底层硬件描述语言的转换,最后将生成的硬件描述语言代码部署到内存计算平台上执行。
图4为代码转换的具体流程图。首先从计算图中获取节点信息,包括节点名称,节点所做的操作,数据类型以及几点之间的互联关系;然后查询算法库中是否包含了节点所做的操作,此处算法库是采用硬件描述语言编写的常用的运算,算法库中包含常见运算的基本模块,并且算法库中的算法数据类型可变,其通用性较高;若节点的操作无法在算法库中找到,则直接退出,若算法库中包含了节点所做的操作,则提取操作算法并修改其数据类型,使其数据类型与提取的节点数据类型保持一致;最后根据节点之间的互联关系构建顶层top文件,即可以直接在内存计算平台上执行的文件,实现从高级语言到底层硬件描述语言的代码转换。
(1)计算图生成及提取
前端深度学习框架基于现有常见的框架,如Tensorflow、MxNet、ONNX等,都采用计算图来表示数学计算,其中包括节点和边,计算图中的节点一般表示施加的数学操作,或者数据输入或输出的起点或终点,亦或是读取写入持久变量的终点,线表示节点之间的输入和输出关系。
但是不同的框架对于数据流图的描述不太相同,如果为每一种框架都开发一种转换方法,不仅工作量大,且后续代码维护困难,因此本发明利用微软开发的跨框架的模型中间表达框架(ONNX)实现数据流图的统一,通过onnx本发明可以将各种计算框架的模型通过简单的步骤完成相互转换;因此,本发明采用Tensorflow作为代码转换的前端,其他的神经网络模型通过ONNX转换成Tensorflow的pb模型。
神经网络主要有训练和部署两个阶段,在训练阶段,训练样本输入神经网络模型后,首先经过前向传播获得结果,反向传播利用BP算法根据神经网络计算出的输出值与期望值计算损失函数,通过求解损失函数对每个权重或偏执的偏导,最后进行参数更新,这个过程一般在CPU或GPU上实现;部署阶段,主要完成神经网络模型在实际计算器件上的部署与实际执行;
本发明提出的代码转换框架重点关注神经网络的部署阶段,首先用户通过常见的深度学习框架构建模型,并完成模型训练,并生成模型文件,并通过ONNX转换成统一的数据流图格式,其包含网络的节点信息和节点之间的互联关系,如图5(a)所示,然后通过对图文件的解析获取单个节点信息,图5(b)。
(2)硬件描述语言算法库
本发明收集并整理了常见的神经网络模型中的计算类型,如表1所示,可以看出常见神经网络模型一般由卷积层,全连接层,池化层以及激活函数几部分构成。本发明基于硬件描述语言构建了一整套面向神经网络应用的算法库,覆盖了常见神经网络基本层和操作,同时算法库充分利用内存计算的高度并行性,通过对硬件描述语言做并行化优化,使得算法库能够在内存计算结构上高效运行。
表1常见神经网络模型整理
Figure BDA0002551868720000081
以LeNet-5网络为例,作为一个较简单的卷积神经网络,其输入的二维图像,先经过两次卷积层到池化层,再经过全连接层,最后使用激活函数分类作为输出层。表中CONV5-1是指卷积核大小为5*5,步长为1,FC-500是指全连接层有500个神经元,Max2是指最大池化,尺寸为2*2,激活函数为ReLu。
下面结合仿真对本发明的技术效果作详细的描述。
以神经网络中常见的全连接层为例,全连接层上的每一个结点都与上一层的所有结点相连,用来把前边提取到的特征综合起来。在卷积神经网络结构中,经多个卷积层和池化层后,连接着1个或1个以上的全连接层.与MLP类似,全连接层中的每个神经元与其前一层的所有神经元进行全连接,全连接层可以整合卷积层或者池化层中具有类别区分性的局部信息。
如图6所示,是一个简单的神经网络全连接层,输入和输出之间学习得到一个线性关系,得到中间输出结果:
Figure BDA0002551868720000091
然后是一个神经元激活函数,最后得到输出结果。
实验中以单个神经元为例,令x1,x2分别为小于100的随机数,W1为1,W2为-1,偏置项为1,激活函数为
Figure BDA0002551868720000092
得到如下仿真波形(图6),验证了方法的可行性。
图7展示了全连接层的输入(x1,x2)和输出(y)。显然,将随机输入x1和x2代入式(1)和(2)得到输出y,结果表明所提方法是可行的。
本发明在算法库的构建上还可以进行改进,对于常见操作,可以将需要大量数据读写、和矢量、矩阵运算的子模块通过硬件描述语言改写,使其能够在内存计算架构中执行,并在仿真环境中执行仿真,获取模块在内存计算架构中的性能,比较不同方式下的算法性能,进一步选取合适在内存计算架构上执行的模块,构建算法库。
本发明基于内存计算平台的代码转换方法,该方法解决了用户在硬件结构上部署算法时编程难度大,编程复杂等问题,为用户提供了统一的硬件描述语言算法库,并且提供了使用方法,可以更好地方便开发人员对内存计算平台的合理使用。
应当注意,本发明的实施方式可以通过硬件、软件或者软件和硬件的结合来实现。硬件部分可以利用专用逻辑来实现;软件部分可以存储在存储器中,由适当的指令执行系统,例如微处理器或者专用设计硬件来执行。本领域的普通技术人员可以理解上述的设备和方法可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、CD或DVD-ROM的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本发明的设备及其模块可以由诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用由各种类型的处理器执行的软件实现,也可以由上述硬件电路和软件的结合例如固件来实现。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,都应涵盖在本发明的保护范围之内。

Claims (10)

1.一种面向内存计算平台的代码转换方法,其特征在于,所述代码转换方法包括:
从计算图中获取节点信息,包括节点名称,节点所做的操作,数据类型以及节点间的互联关系;
利用底层硬件描述语言为内存计算平台设计算法库,并提供统一编程接口;
根据节点之间的互联关系构建顶层top文件,即可以直接在内存计算平台上执行的文件,实现从高级语言到底层硬件描述语言的代码转换。
2.如权利要求1所述的面向内存计算平台的代码转换方法,其特征在于,所述代码转换方法的计算图生成及提取,采用计算图表示数学计算,其中包括节点和边,计算图中的节点表示施加的数学操作,或者数据输入或输出的起点或终点,亦或是读取写入持久变量的终点,线表示节点之间的输入和输出关系。
3.如权利要求2所述的面向内存计算平台的代码转换方法,其特征在于,所述代码转换方法利用跨框架的模型中间表达框架实现数据流图的统一,通过ONNX将各种计算框架的模型通过简单的步骤完成相互转换;采用Tensorflow作为代码转换的前端,其他的神经网络模型通过ONNX转换成Tensorflow的pb模型。
4.如权利要求1所述的面向内存计算平台的代码转换方法,其特征在于,所述代码转换方法代码转换框架重点关注神经网络的部署阶段,用户通过常见的深度学习框架构建模型,并完成模型训练,并生成模型文件,并通过ONNX转换成统一的数据流图格式,其包含网络的节点信息和节点之间的互联关系。
5.如权利要求1所述的面向内存计算平台的代码转换方法,其特征在于,所述代码转换方法基于硬件描述语言构建了面向神经网络应用的算法库。
6.一种计算机设备,其特征在于,所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如下步骤:
从计算图中获取节点信息,包括节点名称,节点所做的操作,数据类型以及节点间的互联关系;
利用底层硬件描述语言为内存计算平台设计算法库,并提供统一编程接口;
根据节点之间的互联关系构建顶层top文件,即可以直接在内存计算平台上执行的文件,实现从高级语言到底层硬件描述语言的代码转换。
7.一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如下步骤:
从计算图中获取节点信息,包括节点名称,节点所做的操作,数据类型以及节点间的互联关系;
利用底层硬件描述语言为内存计算平台设计算法库,并提供统一编程接口;
根据节点之间的互联关系构建顶层top文件,即可以直接在内存计算平台上执行的文件,实现从高级语言到底层硬件描述语言的代码转换。
8.一种运行权利要求1~5任意一项所述面向内存计算平台的代码转换方法的代码转换系统,其特征在于,所述代码转换系统包括:
节点信息处理模块,用于从计算图中获取节点信息,节点所做的操作,数据类型以及节点之间的互联关系;
节点操作处理模块,用于利用底层硬件描述语言为内存计算平台设计算法库,并提供统一编程接口;
代码转换处理模块,用于根据节点之间的互联关系构建顶层top文件,即可以直接在内存计算平台上执行的文件,实现从高级语言到底层硬件描述语言的代码转换。
9.一种终端,其特征在于,所述终端搭载权利要求8所述代的码转换系统。
10.一种内存计算平台,其特征在于,所述内存计算平台搭载权利要求8所述代的码转换系统。
CN202010577767.6A 2020-06-23 2020-06-23 一种面向内存计算平台的代码转换方法、系统及应用 Active CN111831285B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010577767.6A CN111831285B (zh) 2020-06-23 2020-06-23 一种面向内存计算平台的代码转换方法、系统及应用

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010577767.6A CN111831285B (zh) 2020-06-23 2020-06-23 一种面向内存计算平台的代码转换方法、系统及应用

Publications (2)

Publication Number Publication Date
CN111831285A true CN111831285A (zh) 2020-10-27
CN111831285B CN111831285B (zh) 2023-03-14

Family

ID=72899361

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010577767.6A Active CN111831285B (zh) 2020-06-23 2020-06-23 一种面向内存计算平台的代码转换方法、系统及应用

Country Status (1)

Country Link
CN (1) CN111831285B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115098203A (zh) * 2022-06-17 2022-09-23 山东浪潮科学研究院有限公司 一种多语言适配的机器学习模型库的生成方法
WO2023050745A1 (zh) * 2021-09-29 2023-04-06 上海商汤智能科技有限公司 一种图像处理方法、装置、设备、介质及程序

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040078175A1 (en) * 2001-10-29 2004-04-22 Queen In Right Of Canada As Rep By Min Of Nat Def Method and apparatus for modeling and simulating the effects of bridge defects in integrated circuits
US20040088150A1 (en) * 1998-03-31 2004-05-06 Synopsys, Inc. System and method for hardware and software co-verification
US20040088685A1 (en) * 2002-10-31 2004-05-06 Daniel Poznanovic Process for converting programs in high-level programming languages to a unified executable for hybrid computing platforms
US20060271822A1 (en) * 2005-05-26 2006-11-30 Cisco Technology, Inc. Method and system for quantifying the quality of diagnostic software
US20130014091A1 (en) * 2011-07-08 2013-01-10 Renesas Electronics Corporation Language conversion method and language conversion program
CN107229969A (zh) * 2017-06-21 2017-10-03 郑州云海信息技术有限公司 一种基于fpga的卷积神经网络实现方法及装置
CN108182469A (zh) * 2017-12-27 2018-06-19 郑州云海信息技术有限公司 一种神经网络模型训练方法、系统、装置及存储介质
US20180293057A1 (en) * 2017-04-11 2018-10-11 Beijing Deephi Technology Co., Ltd. Programming model of neural network-oriented heterogeneous computing platform
CN110764744A (zh) * 2018-07-25 2020-02-07 赛灵思公司 用于神经网络计算的中间表示生成方法和装置
CN111104120A (zh) * 2018-10-29 2020-05-05 赛灵思公司 神经网络编译方法、系统及相应异构计算平台
US10656940B1 (en) * 2019-02-04 2020-05-19 Architecture Technology Corporation Systems, devices, and methods for source code generation from binary files

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040088150A1 (en) * 1998-03-31 2004-05-06 Synopsys, Inc. System and method for hardware and software co-verification
US20040078175A1 (en) * 2001-10-29 2004-04-22 Queen In Right Of Canada As Rep By Min Of Nat Def Method and apparatus for modeling and simulating the effects of bridge defects in integrated circuits
US20040088685A1 (en) * 2002-10-31 2004-05-06 Daniel Poznanovic Process for converting programs in high-level programming languages to a unified executable for hybrid computing platforms
US20060271822A1 (en) * 2005-05-26 2006-11-30 Cisco Technology, Inc. Method and system for quantifying the quality of diagnostic software
US20130014091A1 (en) * 2011-07-08 2013-01-10 Renesas Electronics Corporation Language conversion method and language conversion program
US20180293057A1 (en) * 2017-04-11 2018-10-11 Beijing Deephi Technology Co., Ltd. Programming model of neural network-oriented heterogeneous computing platform
CN107229969A (zh) * 2017-06-21 2017-10-03 郑州云海信息技术有限公司 一种基于fpga的卷积神经网络实现方法及装置
CN108182469A (zh) * 2017-12-27 2018-06-19 郑州云海信息技术有限公司 一种神经网络模型训练方法、系统、装置及存储介质
CN110764744A (zh) * 2018-07-25 2020-02-07 赛灵思公司 用于神经网络计算的中间表示生成方法和装置
CN111104120A (zh) * 2018-10-29 2020-05-05 赛灵思公司 神经网络编译方法、系统及相应异构计算平台
US10656940B1 (en) * 2019-02-04 2020-05-19 Architecture Technology Corporation Systems, devices, and methods for source code generation from binary files

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
HAIYU MAO等: ""A zero­free, low data movement and pim­based gan architec­ture"", 《2018 51ST ANNUAL IEEE/ACM INTERNATIONAL SYMPOSIUM ON MICROARCHITECTURE (MICRO)》 *
朱虎明等: ""深度神经网络并行化研究综述"", 《计算机学报》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023050745A1 (zh) * 2021-09-29 2023-04-06 上海商汤智能科技有限公司 一种图像处理方法、装置、设备、介质及程序
CN115098203A (zh) * 2022-06-17 2022-09-23 山东浪潮科学研究院有限公司 一种多语言适配的机器学习模型库的生成方法

Also Published As

Publication number Publication date
CN111831285B (zh) 2023-03-14

Similar Documents

Publication Publication Date Title
US10157045B2 (en) Systems and methods for automatically generating code for deep learning systems
Amir et al. Cognitive computing programming paradigm: a corelet language for composing networks of neurosynaptic cores
CN111104120B (zh) 神经网络编译方法、系统及相应异构计算平台
Catanzaro et al. A map reduce framework for programming graphics processors
CN110764744A (zh) 用于神经网络计算的中间表示生成方法和装置
EP3403221B1 (en) Systems and methods for automatically generating code for deep learning systems
CN111831285B (zh) 一种面向内存计算平台的代码转换方法、系统及应用
CN110689116B (zh) 一种神经网络剪枝方法、装置、计算机设备及存储介质
CN106528171B (zh) 一种异构计算平台子系统间的接口设计方法、装置及系统
CN113157917B (zh) 基于OpenCL的优化分类模型的建立、优化分类方法及系统
CN112445465B (zh) 基于c代码生成的神经网络模型推理和训练方法
WO2020143236A1 (zh) 一种卷积神经网络的加速方法、装置、设备及存储介质
CN115269204B (zh) 一种用于神经网络编译的内存优化方法及装置
CN114461221A (zh) 编译方法、编译装置、电子设备、存储介质
CN112099848B (zh) 一种业务处理方法、装置及设备
JP2021512387A (ja) 量子コンピューティング・デバイス設計
CN110825380A (zh) 核函数的生成方法、目标代码的生成方法和组合处理装置
KR102188044B1 (ko) 뉴로모픽 아키텍처 기반 지능형 응용 개발을 위한 프레임워크 시스템
CN111667060B (zh) 深度学习算法的编译方法、装置及相关产品
CN113435565A (zh) 神经网络模型的处理方法、推理方法及其装置和电子设备
CN112527304A (zh) 基于异构平台的自适应节点融合编译优化方法
CN113626035B (zh) 基于tvm面向risc-v设备的神经网络编译方法
CN114925591A (zh) 基于多面体模型建模的自动并行策略搜索方法及相关设备
CN113705800A (zh) 处理单元、相关装置和方法
Myung et al. Policy gradient-based core placement optimization for multichip many-core systems

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