CN113419988A - 异构多核数据的传输方法、装置、设备及存储介质 - Google Patents
异构多核数据的传输方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN113419988A CN113419988A CN202110982994.1A CN202110982994A CN113419988A CN 113419988 A CN113419988 A CN 113419988A CN 202110982994 A CN202110982994 A CN 202110982994A CN 113419988 A CN113419988 A CN 113419988A
- Authority
- CN
- China
- Prior art keywords
- core
- intellectual property
- data
- image blocks
- local memory
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations 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/163—Interprocessor communication
- G06F15/167—Interprocessor communication using a common memory, e.g. mailbox
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/60—Memory management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/11—Region-based segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20021—Dividing image into blocks, subimages or windows
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Image Processing (AREA)
Abstract
本发明公开了一种异构多核数据的传输方法、装置、设备及存储介质,方法包括获取待处理的图像数据,并将所述图像数据分割成尺寸相等的图像块;根据所述图像块的尺寸以及每个知识产权核的本地存储器的容量计算每个知识产权核单次传输图像块的数量;每个知识产权核根据总线确定的数据读取顺序,并按照所述图像块的连接顺序依次将所述数量的图像块从共享存储器中传输到本地存储器中,每个知识产权核从本地存储器中读取图像数据并进行计算,直到所述图像数据处理完成。根据本实施例中的异构多核数据的传输方法,可以减少每个知识产权核对总线的占用时长,降低每个知识产权核数据存取过程中的延迟,使每个知识产权核单位时间内的算力最大。
Description
技术领域
本发明涉及异构多核芯片技术领域,特别涉及一种异构多核数据的传输方法、装置、设备及存储介质。
背景技术
片上多核处理器已经成为多核处理器的研究发展方向。随着集成电路设计水平和制造工艺的提高,片上能够集成的资源越来越多,片上多核系统,尤其是异构多核系统,可以发挥不同计算单元的优势,加速不同嵌入式应用的性能。 采用异构体系结构的计算系统可同时利用多种计算模式,能够充分发挥不同计算模式在不同应用领域所具有的优势。因此,将各种可行的计算模式集成在一片芯片中,将成为当前的异构计算系统的发展趋势。
但是,随着芯片内部集成的IP核(intellectual property core,知识产权核)数量的增多,异构多核芯片多核协同进行流水线任务处理时,众多IP 核合理利用带宽变的至关重要。
因此,如何降低每个IP核数据存取过程中的延迟,提高芯片的计算性能是本领域技术人员亟待解决的技术问题。
发明内容
本公开实施例提供了一种异构多核数据的传输方法、装置、设备及存储介质。为了对披露的实施例的一些方面有一个基本的理解,下面给出了简单的概括。该概括部分不是泛泛评述,也不是要确定关键/重要组成元素或描绘这些实施例的保护范围。其唯一目的是用简单的形式呈现一些概念,以此作为后面的详细说明的序言。
第一方面,本公开实施例提供了一种异构多核数据的传输方法,包括:
获取待处理的图像数据,并将图像数据分割成尺寸相等的图像块;
根据图像块的尺寸以及每个知识产权核的本地存储器的容量计算每个知识产权核单次传输图像块的数量;
每个知识产权核根据总线确定的数据读取顺序,并按照图像块的连接顺序依次将数量的图像块从共享存储器中传输到本地存储器中,每个知识产权核从本地存储器中读取图像数据并进行计算,直到图像数据处理完成。
在一个实施例中,将图像数据分割成尺寸相等的图像块,包括:
通过动态规划算法以及预设的分割规则得出图像块的尺寸;
根据图像块的尺寸将图像数据分割成尺寸相等的图像块。
在一个实施例中,根据图像块的尺寸以及每个知识产权核的本地存储器的容量计算每个知识产权核单次传输图像块的数量,包括根据如下公式计算每个知识产权核单次传输图像块的数量:
其中,n表示知识产权核单次传输图像块的数量,localmemory表示知识产权核的本地存储器的容量,size表示图像块的尺寸。
在一个实施例中,每个知识产权核根据总线确定的数据读取顺序,并按照图像块的连接顺序依次将数量的图像块从共享存储器中传输到本地存储器中,每个知识产权核从本地存储器中读取图像数据并进行计算,包括:
每个知识产权核将本地存储器平均分为第一本地存储器和第二本地存储器两部分;
将数量的图像块从共享存储器中传输到第一本地存储器,并对第一本地存储器中的图像数据进行计算;
在对第一本地存储器中的图像数据进行计算的同时,将数量的图像块从共享存储器中传输到第二本地存储器;
当知识产权核对第一本地存储器中的图像数据计算完成后,计算第二本地存储器中的图像数据。
在一个实施例中,每个知识产权核根据总线确定的数据读取顺序,并按照图像块的连接顺序依次将数量的图像块从共享存储器中传输到本地存储器中,每个知识产权核从本地存储器中读取图像数据并进行计算之后,还包括:
根据每个知识产权核每次的数据传输时长,动态调整每个知识产权核单次传输图像块的数量。
在一个实施例中,根据每个知识产权核每次的数据传输时长,动态调整每个知识产权核单次传输图像块的数量,包括:
根据每个知识产权核每次的数据传输时长以及数据传输次数,计算当前时刻每个知识产权核的数据传输时长平均值;
若当前时刻该知识产权核的数据传输时长平均值大于预设时长阈值,将该知识产权核的单次传输图像块的数量减少预设数值;
若当前时刻该知识产权核的数据传输时长平均值小于预设时长阈值,将该知识产权核的单次传输图像块的数量增加预设数值。
第二方面,本公开实施例提供了一种异构多核数据的传输装置,包括:
分割模块,用于获取待处理的图像数据,并将图像数据分割成尺寸相等的图像块;
计算模块,用于根据图像块的尺寸以及每个知识产权核的本地存储器的容量计算每个知识产权核单次传输图像块的数量;
传输模块,用于每个知识产权核根据总线确定的数据读取顺序,并按照图像块的连接顺序依次将数量的图像块从共享存储器中传输到本地存储器中,每个知识产权核从本地存储器中读取图像数据并进行计算,直到图像数据处理完成。
在一个实施例中,传输模块还包括动态调整单元,用于根据每个知识产权核每次的数据传输时长,动态调整每个知识产权核单次传输图像块的数量。
第三方面,本公开实施例提供了一种异构多核数据的传输设备,包括处理器和存储有程序指令的存储器,处理器被配置为在执行程序指令时,执行上述实施例提供的异构多核数据的传输方法。
第四方面,本公开实施例提供了一种计算机可读介质,其上存储有计算机可读指令,计算机可读指令可被处理器执行以实现上述实施例提供的一种异构多核数据的传输方法。
本公开实施例提供的技术方案可以包括以下有益效果:
本公开实施例提供的异构多核数据的传输方法,每个IP核在读取图像数据时,直接将共享存储器中的数据搬运到本地存储器,然后每个IP核从本地存储器中读取数据,从而减少一次对总线的占用,降低多核对总线的竞争,减少了数据存取的延迟。为了进一步降低对总线的长时间占用,每个IP核从共享存储器中搬运数据时,不采用整体搬运的方式,而是采用与本地内存大小匹配的图像块的搬运方式,进一步降低对总线的占用。
综上,根据本实施例中的异构多核数据的传输方法,可以减少每个知识产权核对总线的占用时长,降低每个知识产权核数据存取过程中的延迟,使每个知识产权核单位时间内的算力最大,提高芯片的计算性能。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
图1是根据一示例性实施例示出的一种异构多核数据的传输方法流程示意图;
图2是根据一示例性实施例示出的一种现有技术中的IP核数据存取流程示意图;
图3是根据一示例性实施例示出的一种现有技术中的IP核数据存取流程示意图;
图4是根据一示例性实施例示出的一种本申请中的IP核数据存取流程示意图;
图5是根据一示例性实施例示出的一种图像块的分割方法示意图;
图6是根据一示例性实施例示出的一种异构多核数据的传输装置结构示意图;
图7是根据一示例性实施例示出的一种异构多核数据的传输设备结构示意图;
图8是根据一示例性实施例示出的一种计算机存储介质的示意图。
具体实施方式
以下描述和附图充分地示出本发明的具体实施方案,以使本领域的技术人员能够实践它们。
应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是如所附权利要求书中所详述的、本发明的一些方面相一致的系统和方法的例子。
在本发明的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。此外,在本发明的描述中,除非另有说明,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
多核异构芯片不同IP核处理数据时,如同一时刻每个IP核都处于计算状态且芯片的带宽不是瓶颈时,芯片的算力将达到理论设计峰值。
假设单个IP核理论最大算力为:Tops,单位时间为:t,每个IP核总线的延迟为:l,单位时间内的具有m个IP核异构芯片实际算力模型公式为:
根据以上模型,单位时间内总线延迟越小则异构芯片的算力越能达到理论的峰值。为了发挥异构芯片的算力,则需要减少单位时间内单个IP核对总线的占用。单位时间内各个IP核均衡使用总线,则须根据每个IP核算力和总线数据存取能力之间进行匹配和均衡。因此,本申请提出了一种降低IP核占用总线的数据传输方法。
图1是根据一示例性实施例示出的一种异构多核数据的传输方法流程示意图,参见图1,该方法具体包括以下步骤;
S101获取待处理的图像数据,并将图像数据分割成尺寸相等的图像块。
目前,每个IP核在处理图像数据时,都是采用整幅图像的数据存取方式,单独IP核需要长时间占用总线。为了降低IP核对总线的占用,本申请提出了一种图像块的数据存取方式,将待处理的图像数据按照IP核的处理能力和带宽的存取能力,将整幅图像划分成尺寸相等的图像块。
将整幅图像分割成多个图像块,需要遵循以合理的带宽占用与发挥IP核最大的算力为前提,确定图像块的长和宽,从而确定图像块的尺寸。图像块的分割在硬件计算单元一定的条件下,遵循以下分割规则:
(1)数据的搬运尽量采用方形的数据大小进行搬运,最好将图像块分割成正方形,如64x64、128x128的尺寸,如果不能满足以上要求,根据DMA(Direct Memory Access,直接存储器访问)的特性,图像块的长和宽需要满足:图像块的宽大于长的要求,以提高DMA的传输效率。
(2)在本地存储器大小约束的范围内,图像块的面积应该尽可能的大,以减少DMA的搬运次数。
(3)单个图像块的长和宽大小必须与8byte对齐。
进一步地,根据以上分割规则,采用DP(dynamic program,动态规划)算法,计算出图像块的尺寸。
其中,动态规划算法通常用于求解问题的最优解,通过拆分问题,定义问题状态和状态之间的关系,使得问题能够以递推的方式去解决。动态规划算法的基本思想与分治法类似,也是将待求解的问题分解为若干个子问题,按顺序求解子阶段,前一子问题的解,为后一子问题的求解提供了有用的信息。在求解任一子问题时,列出各种可能的局部解,通过决策保留那些有可能达到最优的局部解,丢弃其他局部解。依次解决各子问题,最后一个子问题就是初始问题的解。
在一种可能的实现方式中,创建深度为N的数组:r[0...N];
r[0] = 0;
for j = 1 to n
q = -∞;
fori = 1 to j
q = max(q,p[i] + r[j - i]);
r[j] = q;
return r[N];
其中,i表示图像块的长,j表示图像块的宽,通过动态规划返回使图像块的面积最大的值,得出最优解。
根据该步骤,可以通过动态规划算法以及预设的分割规则得出图像块的尺寸,根据图像块的尺寸将图像数据分割成尺寸相等的图像块。图5是根据一示例性实施例示出的一种图像块的分割方法示意图,如图5所示,将整幅图像分割成了多个图像块,每个图像块的长和宽都相等,每个图像块的连接顺序为从上到下,从左到右,依次包括tile0-tile19的20个图像块。
通过将整幅图像分割成多个图像块,进行数据搬运时特定的IP核可以不用长时间占用总线,导致其他IP核数据存取时延迟变大;再者IP核以图像块的方式计算数据,可以合理利用IP核内部的本地存储器,减少自身数据存取时的延迟。
S102根据图像块的尺寸以及每个IP核的本地存储器的容量计算每个IP核单次传输图像块的数量。
在一个实施例中,根据上述步骤,可以得出分割后的图像块尺寸,根据分割后的图像块尺寸以及每个IP核的本地存储器的容量计算每个IP核单次传输图像块的数量,包括根据如下公式计算每个IP核单次传输图像块的数量:
其中,n表示IP核单次传输图像块的数量,localmemory表示IP核的本地存储器的容量,size表示图像块的尺寸。
通过该步骤,计算出了每次要存取图像块的最优个数,IP核搬运数据时每次只搬运n个图像块,这样减少了每次存取的数据量,从而降低了单个IP核对芯片总线的占用时间。
S103每个IP核根据总线确定的数据读取顺序,并按照图像块的连接顺序依次将计算出的数量的图像块从共享存储器中传输到本地存储器中,每个IP核从本地存储器中读取图像数据并进行计算,直到图像数据处理完成。
计算出每个IP核单次搬运的图像块个数之后,IP核开始搬运图像数据。对于异构多核芯片来说,要实现各个核之间的数据共享,需使用共享存储器(Share RAM)的方式,将需要处理的数据发送到对应的IP核处理。IP核要处理共享存储器的数据必须经历两个步骤,才能将共享存储器的数据搬运到IP核。如图2所示,首先IP核必须发出读指令到总线,将共享存储器中的数据搬运到私有存储器(Private RAM)中。然后,如图3所示,IP核发出读指令到总线,从私有存储器中读取要处理的数据,从而完成一次数据存取。
可见,现有技术中的数据存取方法,完成一次共享内存的数据计算,需要占用两次总线,对于多核频繁的数据读写,IP核从总线读取数据时处于空闲状态,无法进行数据计算,此时总线延迟将成为制约IP核发挥算力的主要瓶颈。基于以上描述,如要发挥IP核的最大算力,就必须减少IP核对总线的占用时间与次数,故本实施例提出了基于本地存储器(Local Memory)的数据搬运方式,基于本地存储器的数据搬运方式如图4所示,异构多核通信时,从共享存储器读取数据时,IP核直接将共享存储器中的数据搬运至本地存储器,然后IP核从本地存储器读取数据,从而减少一次对总线的占用,降低多核对总线的竞争,减小了数据存取的延迟。
在一个示例性场景中,每个IP核根据总线确定的数据读取顺序,并按照图像块的连接顺序依次将待传输的图像块从共享存储器中传输到本地存储器中,例如,将一幅图像分割成了20块图像块,每个IP核单次传输的图像块的数量为5个,则第一IP核将tile0-tile4的5个图像块从共享存储器中传输到本地存储器中,第二IP核将tile5-tile9的5个图像块从共享存储器中传输到本地存储器中,第三IP核将tile10-tile14的5个图像块从共享存储器中传输到本地存储器中,第四IP核将tile15-tile19的5个图像块从共享存储器中传输到本地存储器中,其中第一IP核、第二IP核、第三IP核、第四IP核的数据读取顺序是根据与总线的交互行为确定的。
进一步地,为了充分发挥每个IP核的最大算力,将每个IP核的本地存储器平均分为第一本地存储器和第二本地存储器两部分,IP核在计算数据时,首先将待传输数量的图像块从共享存储器中传输到第一本地存储器,并触发IP核对第一本地存储器中的图像数据进行计算;在对第一本地存储器中的图像数据进行计算的同时,IP核利用DMA加速器,将下一次要计算的待传输数量的图像块从共享存储器中传输到第二本地存储器,当IP核对第一本地存储器中的图像数据计算完成后,计算第二本地存储器中存储的图像数据。通过该步骤,可以充分发挥IP核的计算性能,提高数据的处理效率。
在一种可能的实现方式中,将多个IP核组合在一起时,需要动态调整每次IP核存取图像块的个数,唯有如此,每个IP核对总线的占用率才能达到一个动态平衡。
具体地,根据每个IP核每次的数据传输时长,动态调整每个IP核单次传输图像块的数量,包括:首先,根据每个IP核每次的数据传输时长以及数据传输次数,计算当前时刻每个IP核的数据传输时长平均值,例如,第九次的数据传输时长平均值=(前8次的数据传输时长平均值+第九次的数据传输时长)/2。
进一步地,若当前时刻该IP核的数据传输时长平均值大于预设时长阈值,则说明当前芯片的带宽处于严重不足的状态,需要减少IP核对总线的占用时间,此时可以将搬运的图像块个数适当减小,实现各个IP核对带宽的均衡,将该IP核的单次传输图像块的数量以步骤S102中计算出来的数量n为基准,减少预设数值。其中,减少的数量本领域技术人员可根据硬件的实际情况自行设定。
若当前时刻该IP核的数据传输时长平均值小于预设时长阈值,将该IP核的单次传输图像块的数量增加预设数值,其中,增加的数量本领域技术人员可根据硬件的实际情况自行设定。
在一个示例性场景中,预设时长阈值为200clock,若IP核的平均传输时长大于200clock,则可适当减少单次传输图像块的数量,若IP核的平均传输时长小于200clock,则可适当增加单次传输图像块的数量,以上述步骤计算得到的单次传输图像块的数量n为基准:n±Δn,维持搬运数量动态可变,就可实现多核异构带宽的均衡利用。其中,预设时长阈值本领域技术人员可根据硬件的实际情况自行设定。
可选地,本实施例中的预设时长阈值也可为一个预设时长范围,例如180clock-210clock,若IP核的平均传输时长大于该预设时长范围,则可适当减少单次传输图像块的数量,若IP核的平均传输时长小于该预设时长范围,则可适当增加单次传输图像块的数量。
可选地,本申请中的IP核中的本地存储器可为SRAM(Static Random-AccessMemory,静态随机存取存储器),相较于RAM(random access memory,随机存取存储器)有速度快的优势。
根据本申请实施例提供的异构多核数据的传输方法,每个IP核通过将共享存储器中的数据直接传输到本地存储器,可以减少对总线的占用次数,仅需占用一次总线,降低多核对总线的竞争,减小了数据存取的延迟,通过采用与本地存储器容量匹配的图像块的传输方法,进一步降低了对总线的占用,大大提高了数据传输的效率以及芯片的计算性能。
本公开实施例还提供一种异构多核数据的传输装置,该装置用于执行上述实施例的异构多核数据的传输方法,如图6所示,该装置包括:
分割模块601,用于获取待处理的图像数据,并将图像数据分割成尺寸相等的图像块;
计算模块602,用于根据图像块的尺寸以及每个IP核的本地存储器的容量计算每个IP核单次传输图像块的数量;
传输模块603,用于每个IP核根据总线确定的数据读取顺序,并按照图像块的连接顺序依次将数量的图像块从共享存储器中传输到本地存储器中,每个IP核从本地存储器中读取图像数据并进行计算,直到图像数据处理完成。
在一个实施例中,传输模块还包括动态调整单元,用于根据每个IP核每次的数据传输时长,动态调整每个IP核单次传输图像块的数量。
需要说明的是,上述实施例提供的异构多核数据的传输装置在执行异构多核数据的传输方法时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的异构多核数据的传输装置与异构多核数据的传输方法实施例属于同一构思,其体现实现过程详见方法实施例,这里不再赘述。
本公开实施例还提供一种与前述实施例所提供的异构多核数据的传输方法对应的电子设备,以执行上述异构多核数据的传输方法。
请参考图7,其示出了本申请的一些实施例所提供的一种电子设备的示意图。如图7所示,电子设备包括:处理器700,存储器701,总线702和通信接口703,处理器700、通信接口703和存储器701通过总线702连接;存储器701中存储有可在处理器700上运行的计算机程序,处理器700运行计算机程序时执行本申请前述任一实施例所提供的异构多核数据的传输方法。
其中,存储器701可能包含高速随机存取存储器(RAM:Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口703(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网、广域网、本地网、城域网等。
总线702可以是ISA总线、PCI总线或EISA总线等。总线可以分为地址总线、数据总线、控制总线等。其中,存储器701用于存储程序,处理器700在接收到执行指令后,执行程序,前述本申请实施例任一实施方式揭示的异构多核数据的传输方法可以应用于处理器700中,或者由处理器700实现。
处理器700可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器700中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器700可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器701,处理器700读取存储器701中的信息,结合其硬件完成上述方法的步骤。
本申请实施例提供的电子设备与本申请实施例提供的异构多核数据的传输方法出于相同的发明构思,具有与其采用、运行或实现的方法相同的有益效果。
本申请实施例还提供一种与前述实施例所提供的异构多核数据的传输方法对应的计算机可读存储介质,请参考图8,其示出的计算机可读存储介质为光盘800,其上存储有计算机程序(即程序产品),计算机程序在被处理器运行时,会执行前述任意实施例所提供的异构多核数据的传输方法。
需要说明的是,计算机可读存储介质的例子还可以包括,但不限于相变内存(PRAM)、静态随机存取存储器 (SRAM)、动态随机存取存储器 (DRAM)、其他类型的随机存取存储器 (RAM)、只读存储器 (ROM)、电可擦除可编程只读存储器 (EEPROM)、快闪记忆体或其他光学、磁性存储介质,在此不再一一赘述。
本申请的上述实施例提供的计算机可读存储介质与本申请实施例提供的异构多核数据的传输方法出于相同的发明构思,具有与其存储的应用程序所采用、运行或实现的方法相同的有益效果。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种异构多核数据的传输方法,其特征在于,包括:
获取待处理的图像数据,并将所述图像数据分割成尺寸相等的图像块;
根据所述图像块的尺寸以及每个知识产权核的本地存储器的容量计算每个知识产权核单次传输图像块的数量;
每个知识产权核根据总线确定的数据读取顺序,并按照所述图像块的连接顺序依次将所述数量的图像块从共享存储器中传输到本地存储器中,每个知识产权核从本地存储器中读取图像数据并进行计算,直到所述图像数据处理完成。
2.根据权利要求1所述的方法,其特征在于,将所述图像数据分割成尺寸相等的图像块,包括:
通过动态规划算法以及预设的分割规则得出所述图像块的尺寸;
根据所述图像块的尺寸将所述图像数据分割成尺寸相等的图像块。
4.根据权利要求1所述的方法,其特征在于,每个知识产权核根据总线确定的数据读取顺序,并按照所述图像块的连接顺序依次将所述数量的图像块从共享存储器中传输到本地存储器中,每个知识产权核从本地存储器中读取图像数据并进行计算,包括:
每个知识产权核将本地存储器平均分为第一本地存储器和第二本地存储器两部分;
将所述数量的图像块从共享存储器中传输到所述第一本地存储器,并对所述第一本地存储器中的图像数据进行计算;
在对所述第一本地存储器中的图像数据进行计算的同时,将所述数量的图像块从共享存储器中传输到所述第二本地存储器;
当所述知识产权核对第一本地存储器中的图像数据计算完成后,计算所述第二本地存储器中的图像数据。
5.根据权利要求1所述的方法,其特征在于,每个知识产权核根据总线确定的数据读取顺序,并按照所述图像块的连接顺序依次将所述数量的图像块从共享存储器中传输到本地存储器中,每个知识产权核从本地存储器中读取图像数据并进行计算之后,还包括:
根据每个知识产权核每次的数据传输时长,动态调整每个知识产权核单次传输图像块的数量。
6.根据权利要求5所述的方法,其特征在于,根据每个知识产权核每次的数据传输时长,动态调整每个知识产权核单次传输图像块的数量,包括:
根据每个知识产权核每次的数据传输时长以及数据传输次数,计算当前时刻每个知识产权核的数据传输时长平均值;
若当前时刻该知识产权核的数据传输时长平均值大于预设时长阈值,将该知识产权核的单次传输图像块的数量减少预设数值;
若当前时刻该知识产权核的数据传输时长平均值小于预设时长阈值,将该知识产权核的单次传输图像块的数量增加预设数值。
7.一种异构多核数据的传输装置,其特征在于,包括:
分割模块,用于获取待处理的图像数据,并将所述图像数据分割成尺寸相等的图像块;
计算模块,用于根据所述图像块的尺寸以及每个知识产权核的本地存储器的容量计算每个知识产权核单次传输图像块的数量;
传输模块,用于每个知识产权核根据总线确定的数据读取顺序,并按照所述图像块的连接顺序依次将所述数量的图像块从共享存储器中传输到本地存储器中,每个知识产权核从本地存储器中读取图像数据并进行计算,直到所述图像数据处理完成。
8.根据权利要求7所述的装置,其特征在于,所述传输模块还包括动态调整单元,用于根据每个知识产权核每次的数据传输时长,动态调整每个知识产权核单次传输图像块的数量。
9.一种异构多核数据的传输设备,其特征在于,包括处理器和存储有程序指令的存储器,所述处理器被配置为在执行所述程序指令时,执行如权利要求1至6任一项所述的异构多核数据的传输方法。
10.一种计算机可读介质,其特征在于,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行以实现如权利要求1至6任一项所述的一种异构多核数据的传输方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110982994.1A CN113419988B (zh) | 2021-08-25 | 2021-08-25 | 异构多核数据的传输方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110982994.1A CN113419988B (zh) | 2021-08-25 | 2021-08-25 | 异构多核数据的传输方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113419988A true CN113419988A (zh) | 2021-09-21 |
CN113419988B CN113419988B (zh) | 2022-01-11 |
Family
ID=77719488
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110982994.1A Active CN113419988B (zh) | 2021-08-25 | 2021-08-25 | 异构多核数据的传输方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113419988B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101055609A (zh) * | 2006-04-11 | 2007-10-17 | 大唐移动通信设备有限公司 | 可实现数据自保护的片上系统的ip核 |
CN101615287A (zh) * | 2009-08-06 | 2009-12-30 | 黄以华 | 一种基于Wishbone总线的图像处理IP核 |
CN103268299A (zh) * | 2013-05-10 | 2013-08-28 | 哈尔滨工业大学 | 一种应用于PXI Express总线测试系统的通用数据压缩IP核 |
CN103729331A (zh) * | 2013-11-26 | 2014-04-16 | 西安电子科技大学 | 片上网络通信死锁避免方法、路由器及通信网络 |
US20150039833A1 (en) * | 2013-08-01 | 2015-02-05 | Advanced Micro Devices, Inc. | Management of caches |
CN104461716A (zh) * | 2014-12-29 | 2015-03-25 | 迈普通信技术股份有限公司 | 一种多核异构系统的访问方法及多核异构系统 |
CN112416825A (zh) * | 2019-08-21 | 2021-02-26 | 无锡江南计算技术研究所 | 面向异构众核基于空间重排的数据传输方法 |
-
2021
- 2021-08-25 CN CN202110982994.1A patent/CN113419988B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101055609A (zh) * | 2006-04-11 | 2007-10-17 | 大唐移动通信设备有限公司 | 可实现数据自保护的片上系统的ip核 |
CN101615287A (zh) * | 2009-08-06 | 2009-12-30 | 黄以华 | 一种基于Wishbone总线的图像处理IP核 |
CN103268299A (zh) * | 2013-05-10 | 2013-08-28 | 哈尔滨工业大学 | 一种应用于PXI Express总线测试系统的通用数据压缩IP核 |
US20150039833A1 (en) * | 2013-08-01 | 2015-02-05 | Advanced Micro Devices, Inc. | Management of caches |
CN103729331A (zh) * | 2013-11-26 | 2014-04-16 | 西安电子科技大学 | 片上网络通信死锁避免方法、路由器及通信网络 |
CN104461716A (zh) * | 2014-12-29 | 2015-03-25 | 迈普通信技术股份有限公司 | 一种多核异构系统的访问方法及多核异构系统 |
CN112416825A (zh) * | 2019-08-21 | 2021-02-26 | 无锡江南计算技术研究所 | 面向异构众核基于空间重排的数据传输方法 |
Non-Patent Citations (1)
Title |
---|
董亚卓: "SoC中应用类IP核高级综合技术研究", 《中国优秀博硕士学位论文全文数据库(博士)》 * |
Also Published As
Publication number | Publication date |
---|---|
CN113419988B (zh) | 2022-01-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102906726B (zh) | 协处理加速方法、装置及系统 | |
CN111163018B (zh) | 网络设备及其降低传输时延的方法 | |
CN111597040B (zh) | 一种资源分配方法、装置、存储介质和电子设备 | |
CN111142938A (zh) | 一种异构芯片的任务处理方法、任务处理装置及电子设备 | |
WO2018166145A1 (zh) | 还款数据分批报盘方法和装置 | |
CN113419988B (zh) | 异构多核数据的传输方法、装置、设备及存储介质 | |
WO2020244514A1 (zh) | 一种区块链群组的拆分方法及装置 | |
CN115344358A (zh) | 资源调度方法、装置和管理节点 | |
CN108833200A (zh) | 一种大数据文件自适应单向传输方法及装置 | |
CN114205160B (zh) | 基于区块链的数据处理方法、装置及电子设备 | |
CN115576661A (zh) | 数据处理系统、方法和控制器 | |
CN210804421U (zh) | 一种服务器系统 | |
CN111625358A (zh) | 一种资源分配方法、装置、电子设备及存储介质 | |
CN112596903A (zh) | 基于大数据的信息智能处理方法及装置 | |
CN115883645B (zh) | 通信配置方法、电子设备及存储介质 | |
WO2021135763A1 (zh) | 数据处理方法和装置、存储介质及电子装置 | |
CN115951988B (zh) | 一种作业调度方法、计算设备及存储介质 | |
CN114253741B (zh) | 多核微处理器的核间通信方法和多核微处理器 | |
CN113177013B (zh) | 基于波特率的串口通讯方法和多串口芯片 | |
CN111865741B (zh) | 数据传输方法及数据传输系统 | |
CN110166429B (zh) | 数据包处理方法、装置、计算机可读存储介质及服务器 | |
CN109474543B (zh) | 一种队列资源管理方法、装置及存储介质 | |
CN118093613A (zh) | 数据交互处理方法、区块构建节点、终端设备及存储介质 | |
CN118210601A (zh) | 基于ilp模型的并行任务调度方法、装置、设备和介质 | |
CN117891591A (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 |