CN104820582A - 一种基于Navigator的多核嵌入式DSP并行编程模型实现方法 - Google Patents
一种基于Navigator的多核嵌入式DSP并行编程模型实现方法 Download PDFInfo
- Publication number
- CN104820582A CN104820582A CN201510245420.0A CN201510245420A CN104820582A CN 104820582 A CN104820582 A CN 104820582A CN 201510245420 A CN201510245420 A CN 201510245420A CN 104820582 A CN104820582 A CN 104820582A
- Authority
- CN
- China
- Prior art keywords
- core
- navigator
- programming model
- parallel programming
- multinuclear
- 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.)
- Pending
Links
Landscapes
- Multi Processors (AREA)
Abstract
本发明公开了一种基于Navigator的多核嵌入式DSP并行编程模型实现方法,包括:TI推出的KeyStone架构中包含软件组件Multicore Navigator,通过该组件实现设备构件间的数据管理以及同步通信;将KeyStone架构下多核嵌入式处理器的DSP核划分为主核和从核,所述主核完成整个应用的初始化以及必须执行且只能执行一次的操作;所述从核执行必要的初始化操作;从核和主核共同完成并行编程模型中的各种操作,核间通过Navigator实现同步和通信。本发明使用多核间共享内存,实现了对数据处理的零拷贝,既充分使用了嵌入式处理器的硬件资源,又能够满足并行编程的应用需求。
Description
技术领域
本发明涉及多核嵌入式系统的并行编程领域,具体是一种基于Navigator的多核嵌入式DSP并行编程模型实现方法。
背景技术
随着嵌入式技术的飞速发展,嵌入式处理需求也在快速增长,在集成电路技术飞速发展的今天,多核技术在嵌入式系统中的应用已经越来越广泛。在嵌入式系统中使用多处理器共同协作完成任务,能够实现系统的多任务调度和实时性等,具有重要的意义。而多核嵌入式系统也已经成为当前主要的计算平台,无论桌面应用、移动应用、服务器还是专用嵌入式平台都采用多核结构。
当前随着多核技术的主流化,对并行计算体系结构、并行算法、并行编程模型以及并行应用都产生了重要的影响。在多核嵌入式系统中,传统的基于单线程的程序设计方法显然无法充分利用多核CPU的计算能力,必须以并行计算的思维方式来设计算法,将多核嵌入式平台的硬件优势和并行程序设计方法结合起来,获得更高的程序性能。因此,如何有效的将并行编程模型和嵌入式多核处理器结合在一起,是如今发展和研究的重点和热点问题之一。也就是说,找到一种能够结合并行编程模型和嵌入式多核处理器的实现方法是十分必要的。
申请号为CN201010124991.6的发明专利公开了一种面向众核环境的分治映射/归约并行编程模型。该发明通过分治映射/归约并行编程模型、主存复用以及流水线执行技术等,完成对海量数据的分块处理,优化众核环境的资源使用。但是该发明主要是针对多处理器的应用,并没有详细说明在单处理上如何对多核进行调度,同时没有说明多处理间所使用的通信机制。
申请号为CN201010166248.7的发明专利公开了以一种针对嵌入式多核系统的视频编码流水化并行方法。该发明根据节点运算量和节点间的依赖关系,选择处理器负载均衡、核间通信量少的流水并行划分方案,根据该方案,对任务节点进行对象化封装,映射到相应的处理器核上,实现流水化并行执行。但是该发明只是针对基于多核系统的流水线并行,并没有采用并行编程模型,仅仅使用了多核作为任务节点,并没有充分利用嵌入式多核处理器中的多种硬件资源。
因此,本发明提出了一种充分利用多核嵌入式DSP中硬件资源实现并行编程模型的方法。
发明内容
本发明的目的在于提供一种基于Navigator的多核嵌入式DSP并行编程模型实现方法,通过使用嵌入式处理器上的软件组件Navigator,充分利用其各种硬件资源,实现并行编程模型。
为实现上述目的,本发明提供如下技术方案:
基于Navigator的多核嵌入式DSP并行方法,包括以下内容:
1)TI推出的KeyStone架构中包含软件组件Multicore Navigator,通过该组件实现设备构件间的数据管理以及同步通信。
Multicore Navigator(简称Navigator)是一种硬件机制,帮助实现数据的移动和多核间的协同工作。主要提供核间、网络间以及外设间的通信,包括数据和消息交换,发送消息后,不再处理与该消息相关的操作,也就是说在发送消息后,发送方不管消息是否已经被接收。简单的说,就是只需要载入数据,其余操作都由系统负责完成,无需CPU的干预。Navigator主要由Queue Manager Subsystem(QMSS)和多个Packet DMA(PKTDMA)组成。
Queue Manager是一个负责对队列进行加速管理的一个硬件模块。其中包括8192个队列、20个内存区域和2个Linking RAM,不同的队列号用途不一样。通过向模块中一个特定的被映射的位置写入32位的描述符(Descriptor)地址,可以将一个包(一个描述符和负载的逻辑组合)加入队列中。相反地,从此队列的相同位置读值,则可以完成包出队。
描述符(Descriptor)是在核间移动的带有信息和数据的消息。描述符有两种类型,宿主(Host)描述符和整体(Monolithic)描述符。宿主描述符更加灵活,描述符的长度即为所有负载的和,带有一个指针指向负载,可以多个宿主描述符链接使用。而整体描述符没有宿主描述符灵活,本身不能链接其他描述符,所有的负载缓冲大小相同,这样在具体的使用过程中易于造成内存空间的浪费。
所有的描述符存储在内存区域中,Navigator提供20个内存区域供描述符存储,单个描述符的大小最大支持512KB。每一个内存区域的大小相同,而且每个区域中的描述符大小也相同,但是两个内存区域中的描述符大小可以不同。内存区域按照16字节对齐,且其中描述符的大小也必须是16字节的倍数。而描述符在队列中的索引由Linking RAM实现。入队时,只需要将描述符的地址压入队列中,Linking RAM会将地址转换为索引。而出队时,也是通过已知的索引值重新获取描述符的地址。
PKTDMA即是一种DMA,它的数据目的地是由一个目的队列和空队列的队列索引决定的,而不是一个绝对的内存地址。在接收模式下,PKTDMA取出一个空描述符,遍历描述符找到缓存,PKTDMA将负载数据放入缓存中,然后将描述符放入目的队列中。在传输模式下,PKTDMA从队列中弹出描述符,遍历描述符,从缓存中读取负载数据,然后将负载数据传送到发送端口。
PKTDMA主要负责数据的移动。PKTDMA包括多条Rx DMA通道,多条Tx DMA通道和多条Rx flow通道。
128位的Tx输出和128位的Rx输入形成两条对称流,且相互独立。因为传送是基于包(一个描述符和负载的逻辑组合)的,所以无需关心负载的格式。Tx通过查看描述符中的信息判断如何处理这个包,而Rx使用flow。flow就是一个指令集,告诉Rx DMA如何处理接收到的包。Rx channel和Rx flow之间没有关系,有对应关系的是Rx packet和Rx flow。Rx flow主要定义接收端的行为。
通过一个DSP的任务或者其他硬件操作,将一个描述符放进Tx队列中,完成描述符的入队操作后,触发Tx DMA进行包的传输;而对应于Rx DMA,由数据流触发操作,接收数据包后如何处理需要根据配置的Rx flow。其中,需要注意的是,放入Tx队列的描述符,是从Tx free队列中取出的空描述符,在该空描述符中加入数据后,放入Tx队列中,最后当发送完毕后,在Tx完成队列中会有相应的描述符,需要将这个描述符进行回收;此外,针对Rx队列也是相同的操作。
2)将KeyStone架构下多核嵌入式处理器的DSP核划分为主核和从核,所述的主核完成整个应用的初始化以及必须执行且只能执行一次的操作;所述的从核执行必要的初始化操作。
多核嵌入式处理器一般多采用KeyStone架构的同构或异构处理器,且处理器上DSP核的数量至少为8个,其中,将核0作为主核,除核0外的其他核作为从核。
作为主核的核0完成整个应用的初始化以及必须执行且只能执行一次的操作。该初始化流程中主要包括对Navigator的初始化操作,以及对并行编程模型中环境变量的初始化操作。首先需要对QMSS和PKTDMA进行初始化和启动;其次,配置QMSS中使用的内存区域,包括内存区域的基地址、大小以及描述符数量等;然后,对描述符进行初始化,设置描述符的类型、数量、所属内存区域以及存储该描述符的队列;最后打开QMSS中的发送和接收队列。作为从核,也需要完成部分初始化操作,主要是QMSS的启动操作以及队列的打开。在初始化流程中,QMSS的初始化、PKTDMA的操作、内存区域的申请以及描述符的配置,都必须且只能由主核执行一次。
针对并行编程模型中环境变量的初始化,主要是对模型中使用的各种全局变量进行初始化。对于所有任务执行核都需要共享的变量,由主核进行初始化,其他核直接共享该变量,使得所有核中的全局变量保持一致,且为了实现零拷贝从而提高执行效率,全局变量存储于多核可共享的内存区域中。
3)从核和主核共同完成并行编程模型中的各种操作,核间通过Navigator实现同步和通信。
完成初始化操作后,所有的核共同执行并行编程模型中的各种操作。在并行编程模型的实现过程中,一旦对多核共享的全局变量进行修改,需要利用Navigator实现多核间的通信,对各核的全局变量进行更新,使数据保持一致。此外,并行编程中会出现上一阶段程序执行的输出是下一阶段程序执行的输入,而由于多核执行程序所需的时间各不相同,因此在每一阶段执行完毕后,同样需要使用Navigator实现多核间的同步,保证每一阶段的输入数据完整正确。
与现有技术相比,本发明的有益效果是:
1、本发明提供给嵌入式软件开发人员一种实现基于Navigator的多核嵌入式DSP并行编程模型的快速、有效方法;
2、本发明提出的并行编程模型实现方法扩展性很强,可以适用于目前大多数基于KeyStone架构的多核或众核嵌入式处理器,能够满足并行编程的应用需求。
3、本发明中使用多核间共享内存,实现了对数据处理的零拷贝,充分使用了嵌入式处理器的硬件资源,有利于处理速度的提升。
附图说明
图1是本发明中Phoenix模型的执行过程;
图2是本发明中共享内存的初始化流程;
图3是本发明中Navigator的初始化流程;
图4是本发明中Phoenix和Navigator实现流程图;
图5是本发明中Map阶段主要通信和同步流程图;
图6是本发明中Navigator实现通信和同步的详细流程图;
图7是word_count测试应用不同大小文件处理时间对比图;
图8是linear_regression测试应用不同大小文件处理时间对比图;
图9是histogram测试应用不同大小文件处理时间对比图。
具体实施方式
下面将结合本发明实施例及附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1,本发明实施例中,一种基于Navigator的多核嵌入式DSP并行编程模型实现方法,选取Phoenix并行编程模型作为测试模型,同时,使用TI推出的TMS320C6678(简称C6678)处理器作为实现平台,C6678是基于KeyStone架构的高性能多核DSP,片内集成8个C66x核,融合定点和浮点处理功能,包含软件组件Navigator。在本发明中,将核0作为主核,核1到核7作为从核,且8个核均可进行Map操作和Reduce操作,Merge操作的初始核数最大为4。
由于在实现Phoenix并行编程模型的过程中,需要使用QMSS中的描述符发送数据,且env环境变量及其中存储数据的缓冲需要多核共享,因此本发明中,使用共享内存实现核间数据的共享。为了避免多核映射的共享内存区域出现需要地址转换的问题,本发明使用了SYS/BIOS中的ti.sdo.ipc.SharedRegion模块。通过在配置文件(cfg文件)中对SharedRegion模块进行设置,定义可被多核访问的共享内存。在配置文件中需要指明该片共享内存区域的基地址、大小、管理该片共享区域的核号以及该区域的名称等。同时,为了避免出现内存覆盖的情况,在设置共享区域的基地址和大小时,需要参考C6678的硬件手册,将共享内存区域设置在DDR3中,且不与已配置的其他内存区域相互覆盖。
请参阅图2,共享内存的初始化流程为:根据配置文件中设置的共享内存区域,在该片区域上创建共享堆,如果需要分配多核间共享的数据缓冲,可直接在该共享堆上分配即可。
请参阅图3,在执行具体应用前,需要先对使用的QMSS和PKTDMA软件组件进行初始化,初始化流程为:设置共享变量isQMSSInitialized初始值为0,主核对QMSS和PKTDMA进行初始化和启动操作。首先初始化一个共享内存,用于存储PKTDMA的共享数据结构,而共享内存的名称需要和配置文件中的设置保持一致;然后配置Linking RAM,如果需要使用QMSS中的PDSP(Packet DSP)进行累加或者实现QoS(Quality of Service),需要对相关的固件参数进行配置;随即启动QMSS完成QMSS相关初始化。而对于PKTDMA,首先需要初始化PKTDMA相关的LLD(Low Level Driver);然后打开PKTDMA,获取PKTDMA实例的句柄,该句柄在打开和使能通道时会使用到;接着设置内存区域并初始化描述符,指明该区域中存储的描述符的大小和数量,同时初始化指定类型和数量的描述符,并将其放入指定的队列中;最后打开发送/接收队列并使能发送/接收通道。主核完成初始化操作后,设置isQMSSInitialized变量值为1,从核一直处于等待状态,直到isQMSSInitialized变量为1时,开始进行初始化操作,从核对Navigator的初始化操作仅是启动QMSS和打开发送/接收队列。
请参阅图4,Phoenix结合Navigator实现的流程为:首先由核0实现Navigator和Phoenix的初始化操作。对于环境变量env结构体,通过SharedRegion将其分配为共享内存的形式,对该结构体中的各种变量进行初始化操作,该结构体中需要将存储Map结果的intermediate_vals数组和存储最终结果的final_vals数组同样通过SharedRegion进行分配,因为这两个结构体在整个代码执行的过程中,需要多核间进行共享,不能通过malloc进行分配。在对env完成初始化操作后,需要调用Cache_wb函数,将共享变量env写回共享内存,实现高速缓存和共享内存的一致性,保证发送消息后,其他核能够获得正确的env变量。每个核都获得env变量后,通过同步按照顺序依次执行Map操作、Reduce操作和Merge操作。由于每个操作的输入均是上一个阶段的输出,且每个核执行操作所需的时间各不相同,因此在各操作结束后,需要等待同步,直至所有核均完成操作。
请参阅图5,每个阶段在执行的过程中,同步和通信的流程基本一致,Map阶段的代码执行流程为:在Map操作中,首先核0需要调用split函数,对输入数据进行分割,其他核等待核0划分的数据结果。分割的结果会修改结构体env中的变量num_map_tasks,因此需要通过描述符发送消息,将其他核的env变量进行更新。通过函数调用获取执行Map操作的核数,根据该值对每个核进行相关的配置,该配置主要影响Map操作中将中间结果放置在intermediate_vals数组时,插入的行数。从队列中取出待处理的数据,需要注意的是,在取出一个数据后,需要及时对高速缓存进行无效操作,避免出现重复处理一个数据的情况。处理结束后,得到对应的键/值对,根据当前进行处理的核号,将其插入相应的intermediate_vals数组中。
请参阅图6,Navigator实现通信和同步的详细流程为:在Phoenix实现过程中,使用Navigator实现通信和同步是两种不同的模式。在通信的过程中,核0对Phoenix中env变量进行初始化,因此需要将关键结构体env的地址传递给其他核,所以在实现的过程中,每个描述符通过指针指向一个数据缓冲,将需要传递的数据,例如env的地址存储在该数据缓冲中;接收端获取描述符后,从描述符指向的数据缓冲中读取env的地址,即可完成环境变量env的更新和同步。而在实现同步的过程中,不需要发送任何数据,只需要获取描述符,同时实现描述符从发送队列到接收队列的移动即可。
本发明在测试时选取了Phoenix三种不同的应用进行测试,分别是word_count、linear_regression和histogram。同时对于每一个应用,选取三种不同规模的输入文件进行测试。对于word_count,测试文件分为三种大小:10M、50M和100M;对于linear_regression,测试文件大小为:50M、100M和500M;对于histogram,测试文件大小为:50M、100M和400M。
word_count应用主要是统计输入文本文件中单词出现的频率。Map操作主要对分割后的输入数据块进行处理,统计当前数据块中单词出现的频率,处理后的中间结果键/值对中,key为单词内容,value为1,表明该单词出现一次;Reduce操作对Map操作的结果进行合并,将同一个单词的出现次数进行累加求和;而Merge操作是对Reduce操作的结果再次进行合并,得到最终的输出结果。输出的结果仍然为键/值对的形式,key为单词内容,value为该单词在文本文件中出现的次数总和。
linear_regression应用主要是对输入文本文件中的单词建立坐标系,求取其最佳拟合直线。文本文件中包含大量单词,通过单词内容,可以获取其对应的坐标值。Map操作对输入数据块的坐标值进行分析,计算特定的统计量,例如x轴和y轴方向的平方和等,在本应用中,计算了5个统计量的和,分别是x、y、x2、y2和x*y;Reduce操作中对整个文本中的上述5个变量进行累加求和,得到最佳拟合直线的参数值。
histogram应用对输入的一幅bmp图像进行处理,针对其中每个像素的RGB三分量,统计其值(该值的范围为0到255)出现的频率。算法中将不同的图像块作为Map操作的输入数据,对RGB三分量进行解析,将统计的数据存入中间结果中;Reduce操作对Map操作的结果进行统计求和,最终的输出结果保存在键/值对中,key为0到255的像素值,value为该像素值在输入图像中出现的次数总和,该value值中包括每个像素的RGB分量。
在三个应用运行的过程中,均对算法执行的时间进行统计,图7、图8和图9为针对不同规模的输入文件三个应用执行所需的时间。从对比图中可以看出,无论是哪一个具体的应用,随着处理核数的增加,算法执行所需的时间都在递减。同时处理的文件越大,递减的趋势越明显。
经过上述实现,可以将Phoenix并行编程模型运行在嵌入式多核DSP平台上,不但能够通过硬件资源的使用提升性能,而且该实现方法具有很强的可扩展性。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。
此外,应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。
Claims (9)
1.一种基于Navigator的多核嵌入式DSP并行编程模型实现方法,其特征在于,包括:
1)TI推出的KeyStone架构中包含软件组件Multicore Navigator,通过该组件实现设备构件间的数据管理以及同步通信;
2)将KeyStone架构下多核嵌入式处理器的DSP核划分为主核和从核,所述主核完成整个应用的初始化以及必须执行且只能执行一次的操作;所述从核执行必要的初始化操作;
3)从核和主核共同完成并行编程模型中的各种操作,核间通过Navigator实现同步和通信。
2.根据权利要求1所述的基于Navigator的多核嵌入式DSP并行编程模型实现方法,其特征在于,所述步骤1)中,通过Navigator中的QMSS和PKTDMA,利用其硬件队列,能够实现核间的同步和通信。
3.根据权利要求2所述的基于Navigator的多核嵌入式DSP并行编程模型实现方法,其特征在于,所述QMSS中共包含8192个硬件队列,使用其中特定用于发送的队列和带有优先级的硬件队列完成核间同步和通信。
4.根据权利要求2所述的基于Navigator的多核嵌入式DSP并行编程模型实现方法,其特征在于,所述核间的同步和通信过程中,使用QMSS中的描述符完成数据信息的传递。
5.根据权利要求4所述的基于Navigator的多核嵌入式DSP并行编程模型实现方法,其特征在于,所述描述符所携带的缓冲区位于共享内存中,该共享内存为多核间共享。
6.根据权利要求4所述的基于Navigator的多核嵌入式DSP并行编程模型实现方法,其特征在于,所述描述符的传递操作通过PKTDMA中的Tx DMA以及Rx DMA完成。
7.根据权利要求1所述的基于Navigator的多核嵌入式DSP并行编程模型实现方法,其特征在于,所述步骤2)中,多核嵌入式处理器为同构或异构处理器,所述核的数量至少为8个,其中,所述主核为核0,所述从核为除核0外的其他核。
8.根据权利要求1所述的基于Navigator的多核嵌入式DSP并行编程模型实现方法,其特征在于,所述步骤2)中,所述主核完成整个应用的初始化以及必须执行且只能执行一次的操作,该初始化流程包括对QMSS和PKTDMA及其硬件队列的初始化操作,以及对并行编程模型中各环境变量的初始化。
9.根据权利要求1所述的基于Navigator的多核嵌入式DSP并行编程模型实现方法,其特征在于,所述步骤3)中,所述从核和主核共同完成并行编程模型中的具体操作,选择部分核或者全部核实现并行执行;核间通过Navigator实现运行过程中的同步和通信。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510245420.0A CN104820582A (zh) | 2015-05-14 | 2015-05-14 | 一种基于Navigator的多核嵌入式DSP并行编程模型实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510245420.0A CN104820582A (zh) | 2015-05-14 | 2015-05-14 | 一种基于Navigator的多核嵌入式DSP并行编程模型实现方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104820582A true CN104820582A (zh) | 2015-08-05 |
Family
ID=53730887
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510245420.0A Pending CN104820582A (zh) | 2015-05-14 | 2015-05-14 | 一种基于Navigator的多核嵌入式DSP并行编程模型实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104820582A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105183698A (zh) * | 2015-09-23 | 2015-12-23 | 上海无线电设备研究所 | 一种基于多核dsp的控制处理系统和方法 |
CN105824779A (zh) * | 2016-03-16 | 2016-08-03 | 享拍科技(深圳)有限公司 | 一种双核间的数据通信方法及系统 |
CN106815039A (zh) * | 2016-08-08 | 2017-06-09 | 上海友衷科技有限公司 | 一种并行文件系统解压方法 |
CN107357666A (zh) * | 2017-06-26 | 2017-11-17 | 西安微电子技术研究所 | 一种基于硬件保护的多核并行系统处理方法 |
CN107643986A (zh) * | 2017-09-11 | 2018-01-30 | 广州慧睿思通信息科技有限公司 | 一种使用环形Buffer和自动回收描述符的AIF接收数据处理方法 |
CN109558226A (zh) * | 2018-11-05 | 2019-04-02 | 上海无线通信研究中心 | 一种基于核间中断的dsp多核并行计算调度方法 |
CN111459647A (zh) * | 2020-06-17 | 2020-07-28 | 北京机电工程研究所 | 基于嵌入式操作系统的dsp多核处理器并行运算方法及装置 |
CN112068955A (zh) * | 2020-08-21 | 2020-12-11 | 北京科技大学 | 一种异构多核平台处理器内的通信优化方法及电子设备 |
-
2015
- 2015-05-14 CN CN201510245420.0A patent/CN104820582A/zh active Pending
Non-Patent Citations (3)
Title |
---|
伍政洋: "基于FPGA+DSP的图像处理硬件平台设计", 《电子科技大学 电子与通信工程硕士学位论文》 * |
周梦: "基于多核嵌入式DSP的并行编程模型研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
陈伟: "基于多核DSP的通用软件无线电平台设计与实现", 《南京理工大学 通信与信息系统 硕士学位论文》 * |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105183698A (zh) * | 2015-09-23 | 2015-12-23 | 上海无线电设备研究所 | 一种基于多核dsp的控制处理系统和方法 |
CN105183698B (zh) * | 2015-09-23 | 2019-03-08 | 上海无线电设备研究所 | 一种基于多核dsp的控制处理系统和方法 |
CN105824779A (zh) * | 2016-03-16 | 2016-08-03 | 享拍科技(深圳)有限公司 | 一种双核间的数据通信方法及系统 |
CN106815039A (zh) * | 2016-08-08 | 2017-06-09 | 上海友衷科技有限公司 | 一种并行文件系统解压方法 |
CN107357666A (zh) * | 2017-06-26 | 2017-11-17 | 西安微电子技术研究所 | 一种基于硬件保护的多核并行系统处理方法 |
CN107643986A (zh) * | 2017-09-11 | 2018-01-30 | 广州慧睿思通信息科技有限公司 | 一种使用环形Buffer和自动回收描述符的AIF接收数据处理方法 |
CN107643986B (zh) * | 2017-09-11 | 2020-11-13 | 广州慧睿思通信息科技有限公司 | 一种使用环形Buffer和自动回收描述符的AIF接收数据处理方法 |
CN109558226A (zh) * | 2018-11-05 | 2019-04-02 | 上海无线通信研究中心 | 一种基于核间中断的dsp多核并行计算调度方法 |
CN109558226B (zh) * | 2018-11-05 | 2021-03-30 | 上海无线通信研究中心 | 一种基于核间中断的dsp多核并行计算调度方法 |
CN111459647A (zh) * | 2020-06-17 | 2020-07-28 | 北京机电工程研究所 | 基于嵌入式操作系统的dsp多核处理器并行运算方法及装置 |
CN112068955A (zh) * | 2020-08-21 | 2020-12-11 | 北京科技大学 | 一种异构多核平台处理器内的通信优化方法及电子设备 |
CN112068955B (zh) * | 2020-08-21 | 2023-10-27 | 北京科技大学 | 一种异构多核平台处理器内的通信优化方法及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104820582A (zh) | 一种基于Navigator的多核嵌入式DSP并行编程模型实现方法 | |
US20200202246A1 (en) | Distributed computing system, and data transmission method and apparatus in distributed computing system | |
US9495310B2 (en) | Computing system with hardware bus management and method of operation thereof | |
US20220197712A1 (en) | Inter-node execution of configuration files on reconfigurable processors using smart network interface controller (smartnic) buffers | |
KR102074468B1 (ko) | 계산 작업을 처리하기 위한 컴퓨터 클러스터 장치 및 이를 작동시키기 위한 방법 | |
US8692832B2 (en) | Para-virtualized asymmetric GPU processors | |
CN113256475A (zh) | 图计算优化 | |
CN105183698A (zh) | 一种基于多核dsp的控制处理系统和方法 | |
CN113495865A (zh) | 异步数据移动管线 | |
CN102866950A (zh) | 一种虚拟服务器的性能测试方法以及测试工具 | |
CN114981777A (zh) | 功率平衡多个芯片的技术 | |
KR20210021261A (ko) | 가속기에서 이종 컴포넌트들을 구성하기 위한 방법들 및 장치 | |
CN113495761A (zh) | 用于对线程同步的阶段进行协调的技术 | |
CN106598696A (zh) | 一种虚拟机之间数据交互的方法及装置 | |
CN116243921A (zh) | 用于修改图代码的技术 | |
KR20200135715A (ko) | 데이터 처리 방법, 장치, 기기 및 매체 | |
US11467836B2 (en) | Executing cross-core copy instructions in an accelerator to temporarily store an operand that cannot be accommodated by on-chip memory of a primary core into a secondary core | |
CN105164636A (zh) | 一种虚拟化环境中的数据通信的方法、装置及处理器 | |
CN118103817A (zh) | 用于执行选择性加载的应用程序编程接口 | |
CN118119924A (zh) | 用于利用可重用线程执行操作的应用程序编程接口 | |
CN116401039A (zh) | 异步的存储器解除分配 | |
CN116802613A (zh) | 同步图形执行 | |
CN116257354A (zh) | 用于互操作性的应用编程接口 | |
CN115509736A (zh) | 使用图形的内存分配或解分配 | |
CN114371920A (zh) | 一种基于图形处理器加速优化的网络功能虚拟化系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20150805 |