CN110781126A - 一种TensorFlow的FPGA异构加速实现方法、系统、终端及存储介质 - Google Patents

一种TensorFlow的FPGA异构加速实现方法、系统、终端及存储介质 Download PDF

Info

Publication number
CN110781126A
CN110781126A CN201910892450.9A CN201910892450A CN110781126A CN 110781126 A CN110781126 A CN 110781126A CN 201910892450 A CN201910892450 A CN 201910892450A CN 110781126 A CN110781126 A CN 110781126A
Authority
CN
China
Prior art keywords
fpga
tensorflow
network layer
source code
defining
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.)
Withdrawn
Application number
CN201910892450.9A
Other languages
English (en)
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.)
Suzhou Wave Intelligent Technology Co Ltd
Original Assignee
Suzhou Wave Intelligent Technology Co Ltd
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 Suzhou Wave Intelligent Technology Co Ltd filed Critical Suzhou Wave Intelligent Technology Co Ltd
Priority to CN201910892450.9A priority Critical patent/CN110781126A/zh
Publication of CN110781126A publication Critical patent/CN110781126A/zh
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本发明提供一种TensorFlow的FPGA异构加速实现方法、系统、终端及存储介质,包括:将FPGA注册为TensorFlow可识别设备;将FPGA定义为网络层OP的支持设备;将TensorFlow的原网络层OP替换为定义的网络层OP。本发明能够实现TensorFlow框架下AI算法模型训练任务对FPGA设备的支持,最终实现支持CPU、GPU和FPGA的AI算法模型训练超异构混合计算平台。

Description

一种TensorFlow的FPGA异构加速实现方法、系统、终端及存储 介质
技术领域
本发明涉及深度学习技术领域,具体涉及一种TensorFlow的FPGA异构加速实现方法、系统、终端及存储介质。
背景技术
随着大数据、机器学习和人工智能在不同应用领域的发展,传统的计算架构已无法满足其对计算效能持续增长的迫切需求,面向应用的新型混合计算架构研究已经成为业界众多企业和科研机构未来重要的研究方向。
作为深度学习领域最热门的端到端开源深度学习框架,TensorFlow拥有全面、灵活的工具,库和社区资源生态系统,可让研究人员推动深度学习领域的最新技术。开发人员能够使用Keras等直观的高级API轻松构建和训练ML模型,并且可以立即进行模型迭代和轻松调试。当前的TensorFlow最新开源版本能够原生支持使用CPU、GPU对深度学习网络进行混合异构计算,但对于低能耗高性能的FPGA加速设备缺少原生技术支持。
发明内容
针对现有技术的上述不足,本发明提供一种TensorFlow的FPGA异构加速实现方法、系统、终端及存储介质,以解决上述技术问题。
第一方面,本发明提供一种TensorFlow的FPGA异构加速实现方法,包括:
将FPGA注册为TensorFlow可识别设备;
将FPGA定义为网络层OP的支持设备;
将TensorFlow的原网络层OP替换为定义的网络层OP。
进一步的,所述将FPGA注册为TensorFlow可识别设备,包括:
进入TensorFlow源码修改模式;
根据源码的create_device机制,通过模拟CPU设备注册方法将FPGA注册为TensorFlow可识别设备。
进一步的,所述将FPGA定义为网络层OP的支持设备,包括:
自定义网络层OP的前向计算,将FPGA设置为支持设备;
自定义网络层OP的后向计算,将FPGA设置为支持设备;
自定义后向计算的python端接口,并将定义接口添加到TensorFlow源码目录中。
第二方面,本发明提供一种TensorFlow的FPGA异构加速实现系统,包括:
设备注册单元,配置用于将FPGA注册为TensorFlow可识别设备;
网络定义单元,配置用于将FPGA定义为网络层OP的支持设备;
网络替换单元,配置用于将TensorFlow的原网络层OP替换为定义的网络层OP。
进一步的,所述设备注册单元包括:
源码修改模块,配置用于进入TensorFlow源码修改模式;
设备注册模块,配置用于根据源码的create_device机制,通过模拟CPU设备注册方法将FPGA注册为TensorFlow可识别设备。
进一步的,所述网络定义单元包括:
前向定义模块,配置用于自定义网络层OP的前向计算,将FPGA设置为支持设备;
后向定义模块,配置用于自定义网络层OP的后向计算,将FPGA设置为支持设备;
接口定义模块,配置用于自定义后向计算的python端接口,并将定义接口添加到TensorFlow源码目录中。
第三方面,提供一种终端,包括:
处理器、存储器,其中,
该存储器用于存储计算机程序,
该处理器用于从存储器中调用并运行该计算机程序,使得终端执行上述的终端的方法。
第四方面,提供了一种计算机存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。
本发明的有益效果在于,
本发明提供的TensorFlow的FPGA异构加速实现方法、系统、终端及存储介质,通过设备注册方式添加了TensorFlow源码对FPGA设备的支持,然后通过自定义OP设计实现了FPGA对神经网络OP的异构计算加速。本发明能够实现TensorFlow框架下AI算法模型训练任务对FPGA设备的支持,最终实现支持CPU、GPU和FPGA的AI算法模型训练超异构混合计算平台。
此外,本发明设计原理可靠,结构简单,具有非常广泛的应用前景。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一个实施例的方法的示意性流程图。
图2是本发明一个实施例的方法的TensorFlow整体架构图。
图3是本发明一个实施例的系统的示意性框图。
图4为本发明实施例提供的一种终端的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
下面对本发明中出现的关键术语进行解释。
TensorFlow:一种开源的深度学习框架。
Resnet-50:一种卷积神经网络。
OP:TensorFlow中对计算操作的定义,这里多指神经网络层操作。
OpenCL:Open Computing Language开放式计算语言,c99标准。
FPGA:现场可编程门阵列。
图1是本发明一个实施例的方法的示意性流程图。其中,图1执行主体可以为一种TensorFlow的FPGA异构加速实现系统。
如图1所示,该方法100包括:
步骤110,将FPGA注册为TensorFlow可识别设备;
步骤120,将FPGA定义为网络层OP的支持设备;
步骤130,将TensorFlow的原网络层OP替换为定义的网络层OP。
可选地,作为本发明一个实施例,所述将FPGA注册为TensorFlow可识别设备,包括:
进入TensorFlow源码修改模式;
根据源码的create_device机制,通过模拟CPU设备注册方法将FPGA注册为TensorFlow可识别设备。
可选地,作为本发明一个实施例,所述将FPGA定义为网络层OP的支持设备,包括:
自定义网络层OP的前向计算,将FPGA设置为支持设备;
自定义网络层OP的后向计算,将FPGA设置为支持设备;
自定义后向计算的python端接口,并将定义接口添加到TensorFlow源码目录中。
为了便于对本发明的理解,下面以本发明TensorFlow的FPGA异构加速实现方法的原理,结合实施例中实现FPGA异构加速的过程,对本发明提供的TensorFlow的FPGA异构加速实现方法做进一步的描述。
具体的,所述TensorFlow的FPGA异构加速实现方法包括:
S1、将FPGA注册为TensorFlow可识别设备。
TensorFlow架构图如图2所示,进入TensorFlow2.0源码修改页面,根据源码的create_device机制,以模拟CPU设备实现的方式新增FPGA设备,通过修改TensorFlow2.0源码将FPGA设备注册为TensorFlow可识别设备。
S2、将FPGA定义为网络层OP的支持设备。
自定义网络层OP,包括Maxpool和卷积等,自定义OP的底层C++前向计算过程和python端应用接口程序,在C++代码中使用TensorFlow REGISTER_KERNEL_BUILDER的方式注册OP。自定义网络层op的底层C++后向计算(梯度函数)过程实现,并定义添加OP梯度函数的python端接口,该python端接口用于连接FPGA设备,将定义的python端接口添加到TensorFlow源码目录中,重新编译安装Tensorflow。
S3、将TensorFlow的原网络层OP替换为定义的网络层OP。
将TensorFlow提供的Resnet-50网络模型构建脚本中对应的OP替换为自定义OP,并使用TensorFlow的tf.device(),将其限定为FPGA设备计算,实现网络模型的模型划分。修改网络模型文件,引用自定义OP进行模型训练,启动模型训练过程。
在TensorFlow的FPGA异构加速具体实现方法如下:
(1)TensorFlow源码修改实现方法:
继承新的tensorflow::Device,新增tensorflow/core/common_runtime/FPGA/FPGA_device.cc、FPGA_device.h等。同时生成Device用的工厂模式tensorflow::DeviceFactory并新增tensorflow/core/common_runtime/FPGA/FPGA_device_factory.cc。
然后tensorflow/core/framework/types.cc、types.h等添加DEVICE_FPGA设备,tensorflow/core/kernels/constant_op.cc、no_op.cc、sendrecv_ops.cc、等涉及数据交互的OP添加DEVICE_FPGA设备注册;tensorflow/python/framework/device.pypython接口端添加device_type=="fpga"设备识别;tensorflow/core/BUILD编译文件中在对应位置加入新增C++文件,以编译源码时能够找到新增文件;重新编译TensorFlow2.0源码,生成whl安装包文件,安装编译后的支持DEVICE_FPGA设备的TensorFlow。
(2)自定义OF前向计算
Figure BDA0002209172740000071
注册OP到TensorFlow系统
REGISTER_KERNEL_BUILDER(Name("MaxpoolFpga").Device(DEVICE_FPGA),MaxpoolFpgaOp);编译操作库为so文件Python模块加载so文件使用操作
maxpool_module=tf.load_op_library('./maxpool_fpga.so')
maxpool_fpga=maxpool_module.maxpool_fpga。
(3)定义后向计算
定义梯度操作接口实现操作的内核class MaxpoolFpgaGradOp:public OpKernel{public:explicit MaxpoolFpgaGradOp(OpKernelConstruction*context):OpKernel(context){}void Compute(OpKernelContext*context)override;
注册OP到TensorFlow系统
REGISTER_KERNEL_BUILDER(Name("MaxpoolFpgaGrad").Device(DEVICE_FPGA),MaxpoolFpgaGradOp);编译操作库为so文件;定义python端接口
_maxpool_grad_ops=load_library.load_op_library('maxpool_fpga_grad.so')maxpool_fpga_grad=_maxpool_grad_ops.maxpool_fpga_grad;将python接口文件放到tensorflow/python/user_ops目录下,添加BUILD文件链接,在tensorflow/python/BUILD文件对应的文件说明中添加对该接口文件的引用;重新编译TensorFlow源码为whl包,并安装编译好的TensorFlow版本。
(4)修改网络模型文件启动模型训练
inputs=tf.layers.max_pooling2d(inputs=inputs,pool_size=self.first_pool_size,strides=self.first_pool_stride,padding='SAME',data_format=self.data_format)。
更改后with tf.device("fpga:0"):
inputs=maxpool_fpga_op.maxpool_fpga(inputs,[1,1,self.first_pool_size,self.first_pool_size],[1,1,self.first_pool_stride,self.first_pool_stride],padding='SAME',data_format='NCHW')。
训练启动命令:python imagenet_main.py--data_dir/datasets/ILSVRC2012\--model_dir/tmp/resnet_train--resnet_size 50
如图3示,该系统300包括:
设备注册单元310,配置用于将FPGA注册为TensorFlow可识别设备;
网络定义单元320,配置用于将FPGA定义为网络层OP的支持设备;
网络替换单元330,配置用于将TensorFlow的原网络层OP替换为定义的网络层OP。
可选地,作为本发明一个实施例,所述设备注册单元包括:
源码修改模块,配置用于进入TensorFlow源码修改模式;
设备注册模块,配置用于根据源码的create_device机制,通过模拟CPU设备注册方法将FPGA注册为TensorFlow可识别设备。
可选地,作为本发明一个实施例,所述网络定义单元包括:
前向定义模块,配置用于自定义网络层OP的前向计算,将FPGA设置为支持设备;
后向定义模块,配置用于自定义网络层OP的后向计算,将FPGA设置为支持设备;
接口定义模块,配置用于自定义后向计算的python端接口,并将定义接口添加到TensorFlow源码目录中。
图4为本发明实施例提供的一种终端系统400的结构示意图,该终端系统400可以用于执行本发明实施例提供的TensorFlow的FPGA异构加速实现方法。
其中,该终端系统400可以包括:处理器410、存储器420及通信单元430。这些组件通过一条或多条总线进行通信,本领域技术人员可以理解,图中示出的服务器的结构并不构成对本发明的限定,它既可以是总线形结构,也可以是星型结构,还可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
其中,该存储器420可以用于存储处理器410的执行指令,存储器420可以由任何类型的易失性或非易失性存储终端或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。当存储器420中的执行指令由处理器410执行时,使得终端400能够执行以下上述方法实施例中的部分或全部步骤。
处理器410为存储终端的控制中心,利用各种接口和线路连接整个电子终端的各个部分,通过运行或执行存储在存储器420内的软件程序和/或模块,以及调用存储在存储器内的数据,以执行电子终端的各种功能和/或处理数据。所述处理器可以由集成电路(Integrated Circuit,简称IC)组成,例如可以由单颗封装的IC所组成,也可以由连接多颗相同功能或不同功能的封装IC而组成。举例来说,处理器410可以仅包括中央处理器(Central Processing Unit,简称CPU)。在本发明实施方式中,CPU可以是单运算核心,也可以包括多运算核心。
通信单元430,用于建立通信信道,从而使所述存储终端可以与其它终端进行通信。接收其他终端发送的用户数据或者向其他终端发送用户数据。
本发明还提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,该程序执行时可包括本发明提供的各实施例中的部分或全部步骤。所述的存储介质可为磁碟、光盘、只读存储记忆体(英文:read-only memory,简称:ROM)或随机存储记忆体(英文:random access memory,简称:RAM)等。
因此,本发明通过设备注册方式添加了TensorFlow源码对FPGA设备的支持,然后通过自定义OP设计实现了FPGA对神经网络OP的异构计算加速。本发明能够实现TensorFlow框架下AI算法模型训练任务对FPGA设备的支持,最终实现支持CPU、GPU和FPGA的AI算法模型训练超异构混合计算平台,本实施例所能达到的技术效果可以参见上文中的描述,此处不再赘述。
本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中如U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质,包括若干指令用以使得一台计算机终端(可以是个人计算机,服务器,或者第二终端、网络终端等)执行本发明各个实施例所述方法的全部或部分步骤。
本说明书中各个实施例之间相同相似的部分互相参见即可。尤其,对于终端实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例中的说明即可。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统、系统和方法,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,系统或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
尽管通过参考附图并结合优选实施例的方式对本发明进行了详细描述,但本发明并不限于此。在不脱离本发明的精神和实质的前提下,本领域普通技术人员可以对本发明的实施例进行各种等效的修改或替换,而这些修改或替换都应在本发明的涵盖范围内/任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

Claims (8)

1.一种TensorFlow的FPGA异构加速实现方法,其特征在于,包括:
将FPGA注册为TensorFlow可识别设备;
将FPGA定义为网络层OP的支持设备;
将TensorFlow的原网络层OP替换为定义的网络层OP。
2.根据权利要求1所述的方法,其特征在于,所述将FPGA注册为TensorFlow可识别设备,包括:
进入TensorFlow源码修改模式;
根据源码的create_device机制,通过模拟CPU设备注册方法将FPGA注册为TensorFlow可识别设备。
3.根据权利要求1所述的方法,其特征在于,所述将FPGA定义为网络层OP的支持设备,包括:
自定义网络层OP的前向计算,将FPGA设置为支持设备;
自定义网络层OP的后向计算,将FPGA设置为支持设备;
自定义后向计算的python端接口,并将定义接口添加到TensorFlow源码目录中。
4.一种TensorFlow的FPGA异构加速实现系统,其特征在于,包括:
设备注册单元,配置用于将FPGA注册为TensorFlow可识别设备;
网络定义单元,配置用于将FPGA定义为网络层OP的支持设备;
网络替换单元,配置用于将TensorFlow的原网络层OP替换为定义的网络层OP。
5.根据权利要求4所述的系统,其特征在于,所述设备注册单元包括:
源码修改模块,配置用于进入TensorFlow源码修改模式;
设备注册模块,配置用于根据源码的creat e_device机制,通过模拟CPU设备注册方法将FPGA注册为TensorFlow可识别设备。
6.根据权利要求4所述的系统,其特征在于,所述网络定义单元包括:
前向定义模块,配置用于自定义网络层OP的前向计算,将FPGA设置为支持设备;
后向定义模块,配置用于自定义网络层OP的后向计算,将FPGA设置为支持设备;
接口定义模块,配置用于自定义后向计算的python端接口,并将定义接口添加到TensorFlow源码目录中。
7.一种终端,其特征在于,包括:
处理器;
用于存储处理器的执行指令的存储器;
其中,所述处理器被配置为执行权利要求1-3任一项所述的方法。
8.一种存储有计算机程序的计算机可读存储介质,其特征在于,该程序被处理器执行时实现如权利要求1-3中任一项所述的方法。
CN201910892450.9A 2019-09-20 2019-09-20 一种TensorFlow的FPGA异构加速实现方法、系统、终端及存储介质 Withdrawn CN110781126A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910892450.9A CN110781126A (zh) 2019-09-20 2019-09-20 一种TensorFlow的FPGA异构加速实现方法、系统、终端及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910892450.9A CN110781126A (zh) 2019-09-20 2019-09-20 一种TensorFlow的FPGA异构加速实现方法、系统、终端及存储介质

Publications (1)

Publication Number Publication Date
CN110781126A true CN110781126A (zh) 2020-02-11

Family

ID=69384212

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910892450.9A Withdrawn CN110781126A (zh) 2019-09-20 2019-09-20 一种TensorFlow的FPGA异构加速实现方法、系统、终端及存储介质

Country Status (1)

Country Link
CN (1) CN110781126A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111858036A (zh) * 2020-06-29 2020-10-30 浪潮电子信息产业股份有限公司 基于FPGA设备的TensorFlow系统加速方法、装置、设备及存储介质
CN113222121A (zh) * 2021-05-31 2021-08-06 杭州海康威视数字技术股份有限公司 一种数据处理方法、装置及设备
WO2022036852A1 (zh) * 2020-08-20 2022-02-24 浪潮电子信息产业股份有限公司 一种实现nGraph框架支持FPGA后端设备的方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111858036A (zh) * 2020-06-29 2020-10-30 浪潮电子信息产业股份有限公司 基于FPGA设备的TensorFlow系统加速方法、装置、设备及存储介质
CN111858036B (zh) * 2020-06-29 2022-06-10 浪潮电子信息产业股份有限公司 基于FPGA设备的TensorFlow系统加速方法、装置、设备及存储介质
WO2022036852A1 (zh) * 2020-08-20 2022-02-24 浪潮电子信息产业股份有限公司 一种实现nGraph框架支持FPGA后端设备的方法
US11762721B2 (en) 2020-08-20 2023-09-19 Inspur Electronic Information Industry Co., Ltd. Method for realizing nGraph framework supporting FPGA rear-end device
CN113222121A (zh) * 2021-05-31 2021-08-06 杭州海康威视数字技术股份有限公司 一种数据处理方法、装置及设备
CN113222121B (zh) * 2021-05-31 2023-08-29 杭州海康威视数字技术股份有限公司 一种数据处理方法、装置及设备

Similar Documents

Publication Publication Date Title
Leupers Code optimization techniques for embedded processors: Methods, algorithms, and tools
US10768916B2 (en) Dynamic generation of CPU instructions and use of the CPU instructions in generated code for a softcore processor
CN102736948B (zh) 用于设置检查点并恢复程序状态的方法
Schmitt et al. ExaSlang: A domain-specific language for highly scalable multigrid solvers
CN110781126A (zh) 一种TensorFlow的FPGA异构加速实现方法、系统、终端及存储介质
Benelallam et al. Distributed Model-to-model Transformation with ATL on MapReduce
US10949171B1 (en) Tools, mechanisms, and processes for transforming modules for an application into pluggable modules
CN103999036A (zh) 在支持事务的计算机体系结构中使用异常进行代码专业化的方法和系统
Valencia-Cabrera et al. Simulation challenges in membrane computing
CN110333867B (zh) 一种多方安全计算数据处理方法、装置及系统
US20220172044A1 (en) Method, electronic device, and computer program product for deploying machine learning model
CN104750533A (zh) C程序编译方法及编译器
Kennedy et al. The rise and fall of high performance fortran
Gray et al. Model-based hardware generation and programming-the MADES approach
CN107729118A (zh) 面向众核处理器的修改Java虚拟机的方法
Zhong et al. Using advanced vector extensions avx-512 for mpi reductions
Diez Dolinski et al. Distributed simulation of P systems by means of map-reduce: first steps with Hadoop and P-Lingua
CN109597611A (zh) 前端数据流控制组件开发系统、方法、设备及存储介质
CN114356379A (zh) 基于备份的服务升级方法、装置、设备及存储介质
CN114174983B (zh) 用于高级构造的优化的自动验证的方法和系统
WO2020211074A1 (zh) 一种多方安全计算数据处理方法、装置及系统
CN112306539A (zh) 一种单片机应用层开发方法、系统、终端及介质
US8135943B1 (en) Method, apparatus, and computer-readable medium for generating a dispatching function
CN115469931B (zh) 一种循环程序的指令优化方法、装置、系统、设备及介质
CN114327630B (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
WW01 Invention patent application withdrawn after publication

Application publication date: 20200211

WW01 Invention patent application withdrawn after publication