CN116149732B - 一种数据流任务的硬件自动化执行方法、系统及产品 - Google Patents
一种数据流任务的硬件自动化执行方法、系统及产品 Download PDFInfo
- Publication number
- CN116149732B CN116149732B CN202310163998.6A CN202310163998A CN116149732B CN 116149732 B CN116149732 B CN 116149732B CN 202310163998 A CN202310163998 A CN 202310163998A CN 116149732 B CN116149732 B CN 116149732B
- Authority
- CN
- China
- Prior art keywords
- instruction
- faddrt
- hardware
- hardware table
- nfa
- 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
- 238000000034 method Methods 0.000 title claims abstract description 41
- 230000006870 function Effects 0.000 claims description 61
- 238000004590 computer program Methods 0.000 claims description 10
- 238000004891 communication Methods 0.000 abstract description 4
- 230000009467 reduction Effects 0.000 abstract description 3
- 230000008569 process Effects 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 4
- 230000003068 static effect Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000007717 exclusion Effects 0.000 description 1
- 238000005111 flow chemistry technique Methods 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3867—Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30098—Register arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3867—Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
- G06F9/3869—Implementation aspects, e.g. pipeline latches; pipeline synchronisation and clocking
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明涉及一种数据流任务的硬件自动化执行方法、系统及产品,属于计算机通信领域,执行方法包括:在处理器中添加硬件表FAddrT;所述硬件表内含N个寄存器;将就绪的数据流节点任务函数起始地址填入所述硬件表FAddrT;增加一条指令NFA;所述指令NFA用于替代普通的函数返回指令,从所述硬件表FAddrT读出一个地址并跳转过去执行;数据流节点函数编译时,正常的函数返回指令替换为NFA指令;指令预取部件在识别出NFA指令时,从所述硬件表FAddrT获得后续指令序列的起始地址,并从该起始地址开始取入新的指令序列到指令缓存。本发明中的上述方案能够实现数据流执行模式对时间开销的缩减。
Description
技术领域
本发明涉及计算机通信领域,特别是涉及一种数据流任务的硬件自动化执行方法、系统及产品。
背景技术
目前处理器的发展方向已经从单纯提高处理器运行速度的方向,向多核处理器的方向发展,大型分布式系统也越来越普遍。传统上程序设计采用顺序执行命令的结构进行编程,在该种模式下数据往往是“静态“的,不断的对数据进行存取的操作。使得程序对于多核处理器以及大型分布式系统的支持不理想。而数据流编程强调以数据为驱动动力,明确定义输入以及输出的连接操作。不采用命令的方式,每当数据准备好即输入有效,相关操作就会立即执行,所以数据流编程本质是并行的,可以很好的运行在多核处理器以及大型分布式系统。
当前大规模并行的应用背景下,数据流计算在编程模式和执行模式都优于现有的主流的控制流执行模式。
其中,控制流:指按一定的顺序排列程序元素来决定程序执行的顺序。VisualBASIC、C和其他编程语言也继承了控制流,语句按照出现在程序中的顺序执行,以命令的方式为主要驱动。
数据流:数据流编程是一种解决多核处理器的效率利用问题的高性能并行编程模型。数据流编程与传统编程语言有着明显区别,它通过数据驱动的方式执行,将需要处理的数据分配到各个核上,将数据的计算与通信相分离,通过任务调度与分配,利用软件流水的并行特性来充分的挖掘流程序中潜在的并行性,使各个核之间负载均衡。在数据流范例中,一个数据流程序的静态实例会按照它的结构被描述成一张有向图DAG。图中节点表示计算单元,边代表数据传输路径。相邻节点间通过边传输数据,节点消耗数据进行计算,并将产生的数据输出到输入输出序列作为下一个计算单元的输入。
在当前仍是控制流的处理器环境下,虽然也能在应用层面实现数据流执行模式,例如Tensorflow的内部执行引擎就是按数据流执行模式来处理任务的执行。也有一些专用的数据流库(例如Taskflow)在现有的控制流处理器、控制流操作系统和控制流编程语言的环境下,实现数据流执行模式。
但是由于操作系统和处理其硬件层面并没有给与支持,因此从一个数据流节点任务的计算切换到下一个数据流任务的执行,就涉及到一个工作线程从执行上一个节点函数结束、选择下一个数据流节点函数、调用并执行下一个数据流节点函数的三个环节。所涉及的时间开销包括函数返回过程中导致的流水线停顿、选择下一个就绪数据流节点所需要的同步互斥(进出操作系统内核)的开销、转入下一个数据流节点函数引入的流水线停顿。本发明通过结合软硬件全面给出了一个解决方案,实现数据流执行模式对上述开销的缩减方法。
发明内容
本发明的目的是提供一种数据流任务的硬件自动化执行方法、系统及产品,实现数据流执行模式对时间开销的缩减。
为实现上述目的,本发明提供了如下方案:
第一方面,本发明提供一种数据流任务的硬件自动化执行方法,所述执行方法包括:
在处理器中添加硬件表FAddrT;所述硬件表内含N个寄存器;
将就绪的数据流节点任务函数起始地址填入所述硬件表FAddrT;
增加一条指令NFA;所述指令NFA用于替代普通的函数返回指令,从所述硬件表FAddrT读出一个地址并跳转过去执行;
数据流节点函数编译时,正常的函数返回指令替换为NFA指令;
指令预取部件在识别出NFA指令时,从所述硬件表FAddrT获得后续指令序列的起始地址,并从该起始地址开始取入新的指令序列到指令缓存。
可选的,所述方法步骤“将就绪的数据流节点任务函数起始地址填入所述硬件表FAddrT”之后,步骤“增加一条指令NFA”之前还包括:
将就绪的数据流节点任务函数起始地址填入所述硬件表FAddrT,如果所述硬件表FAddrT满,则剩余就绪节点函数起始地址记录在内存表内;
如果硬件表FAddrT空则将内存表中的表项填入硬件表FAddrT中。
可选的,所述硬件表FAddrT的N个寄存器构建成一个可变的单向链,每次从链表头取出一个节点函数起始地址;所述单向链的排序可动态修改。
可选的,所述硬件表FAddrT包括两种访问方式:1)用RSIC-V中的CSR处理器配置空间进行快速访问;2)硬件表FAddrT映射到物理内存空间并建立虚存映射。
可选的,所述硬件表FAddrT包括有当前任务标志。
第二方面,基于本发明中的上述方法,本发明另外提供一种数据流任务的硬件自动化执行系统,所述执行系统包括:
硬件表添加模块,用于在处理器中添加硬件表FAddrT;所述硬件表内含N个寄存器;
任务填写模块,用于将就绪的数据流节点任务函数起始地址填入所述硬件表FAddrT;
指令添加模块,用于增加一条指令NFA;所述指令NFA用于替代普通的函数返回指令,从所述硬件表FAddrT读出一个地址并跳转过去执行;
返回模块,用于当数据流节点函数编译时,正常的函数返回指令替换为NFA指令;
指令识别模块,用于指令预取部件在识别出NFA指令时,从所述硬件表FAddrT获得后续指令序列的起始地址,并从该起始地址开始取入新的指令序列到指令缓存。
可选的,所述硬件表FAddrT的N个寄存器构建成一个可变的单向链,每次从链表头取出一个节点函数起始地址;所述单向链的排序可动态修改。
可选的,所述硬件表FAddrT包括两种访问方式:1)用RSIC-V中的CSR处理器配置空间进行快速访问;2)硬件表FAddrT映射到物理内存空间并建立虚存映射。
第三发面,本发明提供一种电子设备,其特征在于,包括存储器及处理器,所述存储器用于存储计算机程序,所述处理器运行所述计算机程序以使所述电子设备执行上述的数据流任务的硬件自动化执行方法。
第四方面,本发明提供一种计算机可读存储介质,其特征在于,其存储有计算机程序,所述计算机程序被处理器执行时实现上述的数据流任务的硬件自动化执行方法。
根据本发明提供的具体实施例,本发明公开了以下技术效果:
本发明公开了一种数据流任务的硬件自动化执行方法、系统及产品,执行方法包括:在处理器中添加硬件表FAddrT;所述硬件表内含N个寄存器;将就绪的数据流节点任务函数起始地址填入所述硬件表FAddrT;增加一条指令NFA;所述指令NFA用于替代普通的函数返回指令,从所述硬件表FAddrT读出一个地址并跳转过去执行;数据流节点函数编译时,正常的函数返回指令替换为NFA指令;指令预取部件在识别出NFA指令时,从所述硬件表FAddrT获得后续指令序列的起始地址,并从该起始地址开始取入新的指令序列到指令缓存从而避免了流水部件的停顿,本发明中的上述方案能够实现数据流执行模式对时间开销的缩减。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明数据流任务的硬件自动化执行方法流程图;
图2为本发明数据流任务的DAG示意图;
图3为本发明硬件表FAddrT示意图;
图4为本发明硬件实现方案示意图;
图5为本发明数据流任务的硬件自动化执行系统结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的目的是提供一种数据流任务的硬件自动化执行方法、系统及产品,实现数据流执行模式对时间开销的缩减。
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
在介绍实施例之前,首先了解一下控制流和数据流的区别,各自的定义如下:
控制流:是指按一定的顺序排列程序元素来决定程序执行的顺序。Visual BASIC、C和其他编程语言也继承了控制流,语句按照出现在程序中的顺序执行,以命令的方式为主要驱动。
数据流:数据流编程是一种解决多核处理器的效率利用问题的高性能并行编程模型。数据流编程与传统编程语言有着明显区别,它通过数据驱动的方式执行,将需要处理的数据分配到各个核上,将数据的计算与通信相分离,通过任务调度与分配,利用软件流水的并行特性来充分的挖掘流程序中潜在的并行性,使各个核之间负载均衡。在数据流范例中,一个数据流程序的静态实例会按照它的结构被描述成一张有向图DAG,具体参见图2。图中节点表示计算单元,边代表数据传输路径。相邻节点间通过边传输数据,节点消耗数据进行计算,并将产生的数据输出到输入输出序列作为下一个计算单元的输入。
数据流计算模式可应用在很多场景中,例如:
图形编程环境,例如典型的Labview编程模式中的模块拖拉和连线生成的应用;
流程明确的处理任务,例如信号处理中的视频压缩中由orcc编译RVC-CAL语言产生的代码
任务流处理框架,任务间依赖关系由DAG图描述。
在上述以DAG图描述的任务计算过程中,当前的通用处理器和操作系统上,只能用多进程/多线程的方式来逐个执行DAG图中的节点任务。对于已经就绪(ready)的任务,需要有空闲线程从任务队列中获取任务函数,跳转执行,形成以下的步骤环节:
空闲线程:
1、从就绪队列获取一个任务→
2、执行任务A→
3、获取下一个就绪任务→
4、执行任务B→
5、…
上述过程中,从就绪队列获取任务的过程,必将涉及到从共享的任务队列互斥地获取任务函数的环节,这就涉及到信号量的操作,进而涉及到进入内核和返回用户态两个环节,甚至可能引起进程阻塞等等开销。当节点任务函数代码了较少时,上述开销就会占据较大份额从而让系统性能急剧下降。
为了加快“已就绪”任务的执行过程,避免不必要的额外开销,本发明在处理器内部加入一个硬件表,增加一个用于取代函数返回的指令,并由编译器配合配合产生出使用该指令的函数代码,从而将普通主流计算机上DAG就绪任务的执行方式中的“奇数编号”的步骤时间节省掉(互斥系统调用,用户态内核态切换等操作)。在通用处理器和操作系统环境下,通过极小的修改来加快这种计算的运行。具体方案如下:
图1为本发明数据流任务的硬件自动化执行方法流程图,如图1所示,本发明中的上述方法包括:
步骤101:在处理器中添加硬件表FAddrT;所述硬件表内含N个寄存器。
具体的,在通用处理器内增加一个硬件表FAddrT,内含N个寄存器用于记录就绪数据流节点任务函数的入口地址。
步骤102:将就绪的数据流节点任务函数起始地址填入所述硬件表FAddrT。
具体的,调度软件将就绪的数据流节点任务函数起始地址填入该表,如果表满则剩余就绪节点函数起始地址记录在内存表内,如果FAddrT表较空则将内存表中的表项填入FAddrT中。
步骤103:增加一条指令NFA;所述指令NFA用于替代普通的函数返回指令,从所述硬件表FAddrT读出一个地址并跳转过去执行。
具体的,通用处理器增加一条指令NFA,用于替代普通的函数返回指令,该指令从FAddrT读出一个地址并跳转过去执行。
步骤104:数据流节点函数编译时,正常的函数返回指令替换为NFA指令。
具体的,数据流节点函数编译时,正常的函数返回指令(例如x86的Ret或MIPS的Jal)替换成2)中的NFA指令。
步骤105:指令预取部件在识别出NFA指令时,从所述硬件表FAddrT获得后续指令序列的起始地址,并从该起始地址开始取入新的指令序列到指令缓存。
具体的,指令预取部件在识别出NFA指令时,从FAddrT获得后续指令序列的起始地址,并从该地址开始取入新的指令序列到指令缓存,从而避免了流水部件的停顿。
FAddrT表又有两种访问方式:1)用类似RSIC-V中的CSR处理器配置空间进行快速访问,此种方式适合个别修改;2)该表映射到物理内存空间并建立虚存映射,此种方式适用于批量处理的读入和修改。
FAddrT表有一个当前任务标志,用于指出当前正在执行的是标中哪一个项所对应的节点函数,地址部件可以直接读出该表项的“链接次序”所指向的下一表项的“入口地址”内容。
实施例
下面以一个具体的实例,对本发明做进一步解释说明:
在处理器内部加入如下的硬件表,由N个寄存器组成,形成单链表。此时对应于图2的c/d/e三个节点函数已经就绪,F-c/F-d/F-e是c/d/e函数起始地址。
函数p的普通编译和这里的特殊编译的汇编指令序列示意如下:
硬件实现方案示意图如图4所示,如下:
本发明以下面的通用处理器原型数据通路为示例,增加一个FAddrT在CSR空间,并假定当前正在执行F-d函数。当F-d函数结束时执行NFA指令时,处理器指令解码发现是NFA指令于是将控制信号的NFA置位,使得下一个PC值将从FaddrT中取出为F-d,因此自然跳到下一个节点任务函数F-d入口处。而无需其他同步以及用户态-内核态切换等,避免传统执行方式的额外开销。
图5为本发明数据流任务的硬件自动化执行系统结构示意图,如图4所示,本发明中的系统包括:
硬件表添加模块201,用于在处理器中添加硬件表FAddrT;所述硬件表内含N个寄存器。
任务填写模块202,用于将就绪的数据流节点任务函数起始地址填入所述硬件表FAddrT。
指令添加模块203,用于增加一条指令NFA;所述指令NFA用于替代普通的函数返回指令,从所述硬件表FAddrT读出一个地址并跳转过去执行。
返回模块204,用于当数据流节点函数编译时,正常的函数返回指令替换为NFA指令。
指令识别模块205,用于指令预取部件在识别出NFA指令时,从所述硬件表FAddrT获得后续指令序列的起始地址,并从该起始地址开始取入新的指令序列到指令缓存。
本发明还提供一种电子设备,其特征在于,包括存储器及处理器,所述存储器用于存储计算机程序,所述处理器运行所述计算机程序以使所述电子设备执行上述的数据流任务的硬件自动化执行方法。
本发明还提供一种计算机可读存储介质,其特征在于,其存储有计算机程序,所述计算机程序被处理器执行时实现上述的数据流任务的硬件自动化执行方法。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种数据流任务的硬件自动化执行方法,其特征在于,所述执行方法包括:
在处理器中添加硬件表FAddrT;所述硬件表内含N个寄存器;
将就绪的数据流节点任务函数起始地址填入所述硬件表FAddrT;
增加一条指令NFA;所述指令NFA用于替代普通的函数返回指令,从所述硬件表FAddrT读出一个地址并跳转过去执行;
数据流节点函数编译时,正常的函数返回指令替换为NFA指令;
指令预取部件在识别出NFA指令时,从所述硬件表FAddrT获得后续指令序列的起始地址,并从该起始地址开始取入新的指令序列到指令缓存。
2.根据权利要求1所述的数据流任务的硬件自动化执行方法,其特征在于,所述方法步骤“将就绪的数据流节点任务函数起始地址填入所述硬件表FAddrT”之后,步骤“增加一条指令NFA”之前还包括:
将就绪的数据流节点任务函数起始地址填入所述硬件表FAddrT,如果所述硬件表FAddrT满,则剩余就绪节点函数起始地址记录在内存表内;
如果硬件表FAddrT空则将内存表中的表项填入硬件表FAddrT中。
3.根据权利要求1所述的数据流任务的硬件自动化执行方法,其特征在于,所述硬件表FAddrT的N个寄存器构建成一个可变的单向链,每次从链表头取出一个节点函数起始地址;所述单向链的排序可动态修改。
4.根据权利要求1所述的数据流任务的硬件自动化执行方法,其特征在于,所述硬件表FAddrT包括两种访问方式:1)用RSIC-V中的CSR处理器配置空间进行快速访问;2)硬件表FAddrT映射到物理内存空间并建立虚存映射。
5.根据权利要求1所述的数据流任务的硬件自动化执行方法,其特征在于,所述硬件表FAddrT包括有当前任务标志。
6.一种数据流任务的硬件自动化执行系统,其特征在于,所述执行系统包括:
硬件表添加模块,用于在处理器中添加硬件表FAddrT;所述硬件表内含N个寄存器;
任务填写模块,用于将就绪的数据流节点任务函数起始地址填入所述硬件表FAddrT;
指令添加模块,用于增加一条指令NFA;所述指令NFA用于替代普通的函数返回指令,从所述硬件表FAddrT读出一个地址并跳转过去执行;
返回模块,用于当数据流节点函数编译时,正常的函数返回指令替换为NFA指令;
指令识别模块,用于指令预取部件在识别出NFA指令时,从所述硬件表FAddrT获得后续指令序列的起始地址,并从该起始地址开始取入新的指令序列到指令缓存。
7.根据权利要求6所述的数据流任务的硬件自动化执行系统,其特征在于,所述硬件表FAddrT的N个寄存器构建成一个可变的单向链,每次从链表头取出一个节点函数起始地址;所述单向链的排序可动态修改。
8.根据权利要求6所述的数据流任务的硬件自动化执行系统,其特征在于,所述硬件表FAddrT包括两种访问方式:1)用RSIC-V中的CSR处理器配置空间进行快速访问;2)硬件表FAddrT映射到物理内存空间并建立虚存映射。
9.一种电子设备,其特征在于,包括存储器及处理器,所述存储器用于存储计算机程序,所述处理器运行所述计算机程序以使所述电子设备执行如权利要求1-5中任一项所述的数据流任务的硬件自动化执行方法。
10.一种计算机可读存储介质,其特征在于,其存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1-5中任一项所述的数据流任务的硬件自动化执行方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310163998.6A CN116149732B (zh) | 2023-02-15 | 2023-02-15 | 一种数据流任务的硬件自动化执行方法、系统及产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310163998.6A CN116149732B (zh) | 2023-02-15 | 2023-02-15 | 一种数据流任务的硬件自动化执行方法、系统及产品 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116149732A CN116149732A (zh) | 2023-05-23 |
CN116149732B true CN116149732B (zh) | 2023-10-27 |
Family
ID=86354198
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310163998.6A Active CN116149732B (zh) | 2023-02-15 | 2023-02-15 | 一种数据流任务的硬件自动化执行方法、系统及产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116149732B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117421052B (zh) * | 2023-11-02 | 2024-09-10 | 深圳大学 | 数据流任务的硬件自动化执行方法、系统、设备及介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101122881A (zh) * | 2007-09-20 | 2008-02-13 | 福建星网锐捷网络有限公司 | 一种基于mips架构cpu的异常点定位诊断方法 |
CN101860752A (zh) * | 2010-05-07 | 2010-10-13 | 浙江大学 | 一种针对嵌入式多核系统的视频编码流水化并行方法 |
CN102546719A (zh) * | 2010-12-31 | 2012-07-04 | 研祥智能科技股份有限公司 | 一种网络远程控制系统、方法及节点机 |
CN103294457A (zh) * | 2012-02-27 | 2013-09-11 | 百度在线网络技术(北京)有限公司 | 动态替换主程序中c/c++函数的方法及装置 |
CN106648558A (zh) * | 2015-10-28 | 2017-05-10 | 北京国双科技有限公司 | 用于TPL Dataflow 的控制方法和装置 |
CN108093095A (zh) * | 2017-12-13 | 2018-05-29 | 清华大学 | 将具有短名字的地址字符串转换为IPv6地址的方法及装置 |
CN108446242A (zh) * | 2018-03-07 | 2018-08-24 | 珠海昇生微电子有限责任公司 | 一种固化代码的替换方法及系统 |
CN114756284A (zh) * | 2022-04-21 | 2022-07-15 | 深圳全志在线有限公司 | 变长指令集系统栈回溯的实现方法及装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8104000B2 (en) * | 2008-10-27 | 2012-01-24 | Synopsys, Inc. | Method and apparatus for memory abstraction and for word level net list reduction and verification using same |
US9529643B2 (en) * | 2015-01-26 | 2016-12-27 | Qualcomm Incorporated | Method and system for accelerating task control flow |
-
2023
- 2023-02-15 CN CN202310163998.6A patent/CN116149732B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101122881A (zh) * | 2007-09-20 | 2008-02-13 | 福建星网锐捷网络有限公司 | 一种基于mips架构cpu的异常点定位诊断方法 |
CN101860752A (zh) * | 2010-05-07 | 2010-10-13 | 浙江大学 | 一种针对嵌入式多核系统的视频编码流水化并行方法 |
CN102546719A (zh) * | 2010-12-31 | 2012-07-04 | 研祥智能科技股份有限公司 | 一种网络远程控制系统、方法及节点机 |
CN103294457A (zh) * | 2012-02-27 | 2013-09-11 | 百度在线网络技术(北京)有限公司 | 动态替换主程序中c/c++函数的方法及装置 |
CN106648558A (zh) * | 2015-10-28 | 2017-05-10 | 北京国双科技有限公司 | 用于TPL Dataflow 的控制方法和装置 |
CN108093095A (zh) * | 2017-12-13 | 2018-05-29 | 清华大学 | 将具有短名字的地址字符串转换为IPv6地址的方法及装置 |
CN108446242A (zh) * | 2018-03-07 | 2018-08-24 | 珠海昇生微电子有限责任公司 | 一种固化代码的替换方法及系统 |
CN114756284A (zh) * | 2022-04-21 | 2022-07-15 | 深圳全志在线有限公司 | 变长指令集系统栈回溯的实现方法及装置 |
Non-Patent Citations (2)
Title |
---|
A regular expression matching circuit: Decomposed non-deterministic realization with prefix sharing and multi-character transition;Hiroki Nakahara;Microprocessors and Microsystems;第36卷(第8期);全文 * |
软硬件协同循环优化方法的设计与实现;王琪;鲍丽丹;张铁军;王东辉;侯朝焕;;计算机辅助设计与图形学学报(第10期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN116149732A (zh) | 2023-05-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8332854B2 (en) | Virtualized thread scheduling for hardware thread optimization based on hardware resource parameter summaries of instruction blocks in execution groups | |
US8438365B2 (en) | Efficient data loading in a data-parallel processor | |
US8473935B2 (en) | Just-ahead-of-time compilation | |
TWI564807B (zh) | 排程方法及應用其的處理裝置 | |
JP5611756B2 (ja) | プログラム・フロー制御 | |
WO2013184380A2 (en) | Systems and methods for efficient scheduling of concurrent applications in multithreaded processors | |
CN110308982B (zh) | 一种共享内存复用方法及装置 | |
US20050188177A1 (en) | Method and apparatus for real-time multithreading | |
CN116149732B (zh) | 一种数据流任务的硬件自动化执行方法、系统及产品 | |
US20230084523A1 (en) | Data Processing Method and Device, and Storage Medium | |
US7251594B2 (en) | Execution time modification of instruction emulation parameters | |
JP4830108B2 (ja) | プログラム処理装置、プログラム処理方法、並列処理プログラム用コンパイラおよび並列処理プログラム用コンパイラを格納した記録媒体 | |
WO2022166480A1 (zh) | 任务调度方法、装置及系统 | |
WO2021243490A1 (zh) | 一种处理器、处理方法及相关设备 | |
Danek et al. | Instruction set extensions for multi-threading in LEON3 | |
CN117421052B (zh) | 数据流任务的硬件自动化执行方法、系统、设备及介质 | |
Neelima et al. | Communication and computation optimization of concurrent kernels using kernel coalesce on a GPU | |
CN114418827A (zh) | 一种基于gpu的深度学习算法的性能优化方法及装置 | |
CN114127681A (zh) | 用于实现数据流ai应用的自主加速的方法和装置 | |
Keßler et al. | Exploiting instruction level parallelism for REPLICA-a configurable VLIW architecture with chained functional units | |
US20120158651A1 (en) | Configuration of asynchronous message processing in dataflow networks | |
Evripidou et al. | Data-flow vs control-flow for extreme level computing | |
CN118245187A (zh) | 线程调度方法及装置、电子设备及存储介质 | |
Kuan et al. | C++ support and applications for embedded multicore DSP systems | |
Needham et al. | GPUs: Hardware to Software |
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 |