CN110262900A - 一种基于申威众核处理器的主核与核组之间通信锁同步运行加速方法 - Google Patents
一种基于申威众核处理器的主核与核组之间通信锁同步运行加速方法 Download PDFInfo
- Publication number
- CN110262900A CN110262900A CN201910536896.8A CN201910536896A CN110262900A CN 110262900 A CN110262900 A CN 110262900A CN 201910536896 A CN201910536896 A CN 201910536896A CN 110262900 A CN110262900 A CN 110262900A
- Authority
- CN
- China
- Prior art keywords
- program segment
- program
- core
- core group
- segment
- 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
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/46—Multiprogramming arrangements
- G06F9/461—Saving or restoring of program or task context
-
- 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/46—Multiprogramming arrangements
- G06F9/466—Transaction processing
-
- 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multi Processors (AREA)
Abstract
本发明涉及一种基于申威众核处理器的主核与核组之间通信锁同步运行加速方法,包括步骤如下:A、判断程序段A、程序段B、程序段C之间的程序上下文依赖关系;如果程序段A、程序段B、程序段C三者之间都存在程序上下文依赖关系,则顺序执行;否则,调整程序段A、程序段B、程序段C之间的执行顺序,进行执行;B、对连续的后三段程序段执行步骤A直至执行完所有的程序。本发明判断程序段之间的程序上下文依赖关系,分情况灵活处理,还引入了“通信锁”同步机制,节省了主核等待时间,实现了主核和核组的并行处理,程序执行过程中,减少了对spawn和join核组线程的需要次数,提高了程序的执行效率。
Description
技术领域
本发明涉及计算机高性能、并行计算、系统结构技术领域,具体涉及一种基于申威众核处理器的主核与核组同步运行的加速方法。
背景技术
当前,超级计算已经成为一个国家科技创新核心竞争力的重要体现,是推动国家安全与创新发展的强力引擎,为解决国家安全、技术创新、经济发展等一系列重大挑战性问题提供了不可替代的作用。超级计算机中最核心的部分是高性能处理器芯片,它们大都装有成千上万枚芯片,众多的高性能处理器芯片让超级计算机拥有了十分强大的运算能力。长期以来,美国等发达国家在高性能处理器和技术方面针对我国采取了禁运和封锁。这种封锁使我国高度重视国产高性能计算芯片的研发。
目前,国产高性能处理器的研发已经取得了长足的进步,申威、龙芯、飞腾等国产高性能处理器已经研发成功并且投入使用,这对于我国建立自主可控的超算生态环境、保卫国家信息安全有着重要的意义。申威众核处理器是国产高性能处理器中的代表之作,它是我国自主研发的高性能计算芯片,目前,计算能力世界排名前列的神威·太湖之光超级计算机即使用了4万余颗申威众核处理器。
每颗申威众核处理器芯片(申威26010)包括4个核组,核组之间通过片上网络连接。每个核组主要由内存控制器、管理单元、1个主核和64个从核组成。64个从核之间采用8×8的网格拓扑结构进行连接。每个核组的每个从核具有64KB的局存,如图1所示。
由于申威众核从核数目较多,而且每个从核的局存大小又极为有限,存储墙问题在申威众核处理器的应用上愈发凸显。以申威众核处理器26010为例,主核和从核工作频率为1.5GHz,每个时钟周期(拍)为0.67纳秒。核组访问一次主存操作(以gld为例)的延迟为278个时钟周期(186.26纳秒),而访问是一次访局存(以ld为例)的延迟仅为4个时钟周期(2.68纳秒)。因此,申威众核处理器核组访问主存的开销是核组访问局存开销的数十倍,核组访问主存属于低效访存操作。此外,当1个从核发起gld/gst访问主存操作时会导致其余的63个从核停滞,无法执行计算或者访存指令,造成资源浪费。因此,在优化程序的过程中,尽量减少主核和从核之间的传输次数,避免频繁的小数据量传输操作,减轻对程序性能的影响。其次,主核程序如果要启动从核程序,需要派生(spawn)核组线程,单次耗费时间为26500个时钟周期(17755纳秒),从核程序执行结束后,主核程序需要进行核组线程归约(join),收集从核数据,单次耗费时间为7300个时钟周期(4891纳秒)。如果多次启动从核程序,需要频繁spawn和join核组线程,造成程序总体运行效率低下。
目前采用的方法为,使用主核和核组加速的方法对串行部分热点程序进行并行优化,主核和核组之间不能同时进行计算。例如,程序段A作为可并行程序,可以并行化为核组程序被加载到核组上进行加速计算。首先主核spawn核组线程,并且将程序段A加载到核组,然后等待程序段A在和核组执行结束后,join核组线程返回程序段A的结果。程序段B必须等程序段A执行完成之后才能运行。同理,在程序段C在核组执行过程前后,也需要spawn和join核组线程。具体如图2所示。此种方法没有考虑程序段A、程序段B、程序段C三者之间的依赖关系,机械、重复的对可并行化的代码在核组上进行加载。主核在核组执行过程中,存在长时间等待。并且,每次执行核组程序,都需要spawn和join核组线程。综上,主核等待和多次spawn、join核组线程降低了程序的执行效率。
发明内容
针对现有技术的不足,本发明提供了一种基于申威众核处理器的主核与核组之间通信锁同步运行加速方法;
术语解释:
程序上下文依赖关系:在本发明中,程序上下文指顺序执行的代码段中,如果下一个代码段用不到上一个代码段输出的数据,则称这两个代码段无程序上下文依赖关系;如果下一个代码段需要使用上一个代码段输出的数据,则称这两个代码段有程序上下文依赖关系。
本发明的技术方案为:
一种基于申威众核处理器的主核与核组之间通信锁同步运行加速方法,运行于计算机上,执行程序,程序包括若干程序段,本发明技术方案以三个程序段为例,可以概括具体进行基于申威众核处理器进行并行编程的多种情况。设定其中任意连续的三段程序段为程序段A、程序段B、程序段C,其中程序段A和程序段C可以进行并行优化(可以放在从核执行),程序段B不可进行并行优化(只能放在主核执行),包括步骤如下:
Ⅰ、判断程序段A、程序段B、程序段C之间的程序上下文依赖关系,如果程序段A、程序段B、程序段C三者之间都存在程序上下文依赖关系,则顺序执行;否则,调整程序段A、程序段B、程序段C之间的执行顺序,进行执行;
Ⅱ、对连续的后三段程序段执行步骤Ⅰ直至执行完程序。
根据本发明优选的,如果程序段A、程序段B、程序段C三者之间都存在程序上下文依赖关系,则顺序执行,由于申威众核处理器的硬件架构没有提供锁机制,本发明提出了一种“通信锁”进行主核和核组之间的同步。设定通信锁AB、通信锁BC,实现主核和核组共享同步变量,由同步变量决定主核或者核组的运行或等待状态,包括步骤如下:
(1)同步变量初始化,通信锁AB、通信锁BC为主核和核组共享变量;使用volatile关键字修饰;
(2)将程序段A和程序段C加载到核组中,核组执行程序段A,同时使用通信锁AB对主核加锁,此时主核处于等待状态;
(3)程序段A在核组执行完毕后,采用1个或若干个核组线程进行核组线程数据同步,具体进行数据同步的核组线程数量以具体使用的核组线程数量为准。DMA传输核组数据到主核,通知主核执行程序段B,对核组中的程序段C进行加锁;
(4)主核执行程序段B,执行完成后,通信锁BC解锁,通知核组执行程序段C,程序段C在核组执行完毕后,返回核组运行数据到主核。
此处设计的优势在于,1)主核和核组之间可以通过通信锁的机制进行同步。2)减少了核组spawn、join的次数。3)程序段C中如果存在与程序段A的重复数据,例如,都使用了某些数组,此种方式减少了主核和核组之间数据的DMA传输次数,这些数组可以在后面的核组程序中得到复用。
根据本发明优选的,如果程序段A、程序段B、程序段C三者之间均不存在程序上下文依赖关系,则核组执行程序段A和程序段C,与此同时,主核执行不可并行优化的程序段B。此种情况调整了三个程序段之间的执行顺序,先执行程序段A和程序段C,减少一次spawn和join的时间。核组执行程序段A和程序段C的同时,主核执行不可并行优化的程序段B。此时主核程序和核组程序可以同时运行,减少了spawn、join核组的次数。因三个程序段之间无上下文依赖关系,可以不用“通信锁”进行同步。
进一步优选的,spawn核组线程加载程序段A和程序段C到核组,由核组执行程序段A和程序段C,与此同时,主核执行不可并行优化的程序段B;待程序段A、程序段C及程序段B均执行完毕后,join核组线程返回程序段A、程序段C的结果至主核。
根据本发明优选的,如果程序段A与程序段B存在程序上下文依赖关系,程序段A和程序段C之间不存在程序上下文依赖关系,并且程序段B和程序段C之间不存在程序上下文依赖关系,则先执行程序段A和程序C,返回结果后执行程序段B。
进一步优选的,spawn核组线程加载程序段A和程序段C到核组,由核组执行程序段A和程序段C,待程序段A和程序段C执行完毕后,join核组线程返回程序段A和程序段C的结果至主核,主核执行不可并行优化的程序段B。
根据本发明优选的,如果程序段A与程序段B不存在程序上下文依赖关系,并且程序段B和程序段C之间存在程序上下文依赖关系,则先执行程序段B,返回结果后执行程序段A和C。采用调整程序段执行顺序的方式进行并行优化,减少spawn、join核组的次数。
进一步优选的,主核执行程序段B,待程序段B执行完毕后,spawn核组线程加载程序段A和程序段C到核组,由核组执行程序段A和程序段C,待程序段A和程序段C执行完毕后,join核组线程返回程序段A和程序段C的结果至主核。
本发明的有益效果为:
1、本发明判断程序段之间的程序上下文依赖关系,分情况灵活处理,节省了主核等待时间,实现了主核和核组的并行处理,程序执行过程中,减少了对spawn和join核组线程的需要次数,提高了程序的执行效率。
2、本发明引入了“通信锁”同步机制,可以使用核组中的1个、多个或者全部64个核组线程等三种和主核通信的方式进行同步通信,灵活调整程序段执行顺序的方式,进行并行优化,进一步减少spawn、join核组的次数,对于多次调用循环体的应用程序,会节省更多的时间。
3、本发明的方法减少了主核和核组之间数据的DMA传输次数,多个可并行优化的程序段数据可一次性传入从核,大大缩减了基于申威众核处理器并行程序优化中最耗时的主从核数据传输时间,其中部分传入的从核数据还可以在之后执行的从核程序中得到复用。并行优化后的程序段相比没使用本方法的优化方式,效率提升明显。
附图说明
图1为申威众核处理器硬件架构图;
图2为原主核和核组加速的方法;
图3为程序段A、程序段B、程序段C三者之间都存在程序上下文依赖关系时顺序执行流程示意图;
图4为程序段A、程序段B、程序段C三者之间均不存在程序上下文依赖关系时的程序执行流程示意图;
图5为程序段A与程序段B存在程序上下文依赖关系,且程序段A、程序段C之间以及程序段B、程序段C之间都不存在程序上下文依赖关系时的程序执行流程示意图;
图6为程序段A与程序段B不存在程序上下文依赖关系,且程序段B、程序段C之间存在程序上下文依赖关系时的程序执行流程示意图。
具体实施方式
下面结合说明书附图和实施例对本发明作进一步限定,但不限于此。
实施例1
一种基于申威众核处理器的主核与核组之间通信锁同步运行加速方法,运行于计算机上,执行程序,程序包括若干程序段,本发明技术方案以三个程序段为例,可以概括具体进行基于申威众核处理器进行并行编程的多种情况。设定其中任意连续的三段程序段为程序段A、程序段B、程序段C,其中程序段A和程序段B可以进行并行优化(可以放在从核执行),程序段B不可进行并行优化(只能放在主核执行),包括步骤如下:
Ⅰ、判断程序段A、程序段B、程序段C之间的程序上下文依赖关系,如果程序段A、程序段B、程序段C三者之间都存在程序上下文依赖关系,则顺序执行;否则,调整程序段A、程序段B、程序段C之间的执行顺序,进行执行;
Ⅱ、对连续的后三段程序段执行步骤Ⅰ直至执行完程序。
实施例2
根据实施例1所述的一种基于申威众核处理器的主核与核组之间通信锁同步运行加速方法,其区别在于:
如果程序段A、程序段B、程序段C三者之间都存在程序上下文依赖关系,则顺序执行,由于申威众核处理器的硬件架构没有提供锁机制,本发明提出了一种“通信锁”进行主核和核组之间的同步。设定通信锁AB、通信锁BC,实现主核和核组共享同步变量,由同步变量决定主核或者核组的运行或等待状态,包括步骤如下:
(1)同步变量初始化,通信锁AB、通信锁BC为主核和核组共享变量;使用volatile关键字修饰;
(2)将程序段A和程序段C加载到核组中,核组执行程序段A,同时使用通信锁AB对主核加锁,此时主核处于等待状态;
(3)程序段A在核组执行完毕后,采用1个或若干个核组线程进行核组线程数据同步,具体进行数据同步的核组线程数量以具体使用的核组线程数量为准。DMA传输核组数据到主核,通知主核执行程序段B,对核组中的程序段C进行加锁;
(4)主核执行程序段B,执行完成后,通信锁BC解锁,通知核组执行程序段C,程序段C在核组执行完毕后,返回核组运行数据到主核。
此处设计的优势在于,1)主核和核组之间可以通过通信锁的机制进行同步。2)减少了核组spawn、join的次数。3)程序段C中如果存在与程序段A的重复数据,例如,都使用了某些数组,此种方式减少了主核和核组之间数据的DMA传输次数,这些数组可以在后面的核组程序中得到复用。具体执行过程如图3所示。
如果程序段A、程序段B、程序段C三者之间均不存在程序上下文依赖关系,则核组执行程序段A和程序段C,与此同时,主核执行不可并行优化的程序段B。此种情况调整了三个程序段之间的执行顺序,先执行程序段A和程序段C,减少一次spawn和join的时间。核组执行程序段A和程序段C的同时,主核执行不可并行优化的程序段B。此时主核程序和核组程序可以同时运行,减少了spawn、join核组的次数。因三个程序段之间无上下文依赖关系,可以不用“通信锁”进行同步。具体的实现原理和实现过程如图4所示。spawn核组线程加载程序段A和程序段C到核组,由核组执行程序段A和程序段C,与此同时,主核执行不可并行优化的程序段B;待程序段A、程序段C及程序段B均执行完毕后,join核组线程返回程序段A、程序段C的结果至主核。
如果程序段A与程序段B存在程序上下文依赖关系,程序段A和程序段C之间不存在程序上下文依赖关系,并且程序段B和程序段C之间不存在程序上下文依赖关系,则先执行程序段A和程序C,返回结果后执行程序段B。具体执行过程如图5所示。spawn核组线程加载程序段A和程序段C到核组,由核组执行程序段A和程序段C,待程序段A和程序段C执行完毕后,join核组线程返回程序段A和程序段C的结果至主核,主核执行不可并行优化的程序段B。
如果程序段A与程序段B不存在程序上下文依赖关系,并且程序段B和程序段C之间存在程序上下文依赖关系,则先执行程序段B,返回结果后执行程序段A和C。采用调整程序段执行顺序的方式进行并行优化,减少spawn、join核组的次数。具体执行过程如图6所示。主核执行程序段B,待程序段B执行完毕后,spawn核组线程加载程序段A和程序段C到核组,由核组执行程序段A和程序段C,待程序段A和程序段C执行完毕后,join核组线程返回程序段A和程序段C的结果至主核。
在本实施例中,海洋数值模式程序Parallel Ocean Program(POP)使用该程序模拟了全球海洋5模式天的温度变化情况,其中hmix_del4中的某循环体单个进程对其的调用次数为900000次,单次的核组spawn和join至少耗时22646纳秒;使用本实施例的方法后,此循环体的spawn和join可以省略,即包含此循环体的程序段的spawn和join可以省略,最终节省20.34秒,该程序段所在程序模块的的运行时间为1020秒,即单个优化的程序段就节省了2%的模块运行时间。在实际应用程序中,类似此种待优化的程序段数量巨大,并且一般此类程序需要使用超级计算机进行长时间的数值模拟,叠加起来可节省的时间非常可观。
将本发明设计内容结合海洋数值模式程序Parallel Ocean Program(POP)进行了实验测试,测试环境为“神威·太湖之光”超级计算机,具体程序为模拟全球海洋5模式天的温度变化情况,测试规模为10000个进程,优化了POP程序中的advu、hmix_del4中的程序段。根据本发明描述的情况,每种情况挑选三个顺序执行的程序段。程序段为分别程序段A、程序段B、程序段C,其中程序段A和程序段B可以进行并行优化(可以放在从核执行),程序段B不可进行并行优化(只能放在主核执行)。根据本发明的方法对各个程序段进行了优化,采用本发明方法后的程序与未优化、原方法优化的效率对比如表1所示。
表1
通过使用本发明的并行优化方法,相对原方法,效率提升明显,最低的为16.7%,最高达到67.6%。
Claims (8)
1.一种基于申威众核处理器的主核与核组之间通信锁同步运行加速方法,运行于计算机上,执行程序,程序包括若干程序段,设定其中任意连续的三段程序段为程序段A、程序段B、程序段C,其特征在于,包括步骤如下:
Ⅰ、判断程序段A、程序段B、程序段C之间的程序上下文依赖关系,如果程序段A、程序段B、程序段C三者之间都存在程序上下文依赖关系,则顺序执行;否则,调整程序段A、程序段B、程序段C之间的执行顺序,进行执行;
Ⅱ、对连续的后三段程序段执行步骤Ⅰ直至执行完程序。
2.根据权利要求1所述的一种基于申威众核处理器的主核与核组之间通信锁同步运行加速方法,其特征在于,如果程序段A、程序段B、程序段C三者之间都存在程序上下文依赖关系,则顺序执行,设定通信锁AB、通信锁BC,实现主核和核组共享同步变量,由同步变量决定主核或者核组的运行或等待状态,包括步骤如下:
(1)同步变量初始化,通信锁AB、通信锁BC为主核和核组共享变量;
(2)将程序段A和程序段C加载到核组中,核组执行程序段A,同时使用通信锁AB对主核加锁,此时主核处于等待状态;
(3)程序段A在核组执行完毕后,采用1个或若干个核组线程进行核组线程数据同步,DMA传输核组数据到主核,通知主核执行程序段B,对核组中的程序段C进行加锁;
(4)主核执行程序段B,执行完成后,通信锁BC解锁,通知核组执行程序段C,程序段C在核组执行完毕后,返回核组运行数据到主核。
3.根据权利要求1所述的一种基于申威众核处理器的主核与核组之间通信锁同步运行加速方法,其特征在于,如果程序段A、程序段B、程序段C三者之间均不存在程序上下文依赖关系,则核组执行程序段A和程序段C,与此同时,主核执行不可并行优化的程序段B。
4.根据权利要求3所述的一种基于申威众核处理器的主核与核组之间通信锁同步运行加速方法,其特征在于,spawn核组线程加载程序段A和程序段C到核组,由核组执行程序段A和程序段C,与此同时,主核执行不可并行优化的程序段B;待程序段A、程序段C及程序段B均执行完毕后,join核组线程返回程序段A、程序段C的结果至主核。
5.根据权利要求1所述的一种基于申威众核处理器的主核与核组之间通信锁同步运行加速方法,其特征在于,如果程序段A与程序段B存在程序上下文依赖关系,程序段A和程序段C之间不存在程序上下文依赖关系,并且程序段B和程序段C之间不存在程序上下文依赖关系,则先执行程序段A和程序C,返回结果后执行程序段B。
6.根据权利要求5所述的一种基于申威众核处理器的主核与核组之间通信锁同步运行加速方法,其特征在于,spawn核组线程加载程序段A和程序段C到核组,由核组执行程序段A和程序段C,待程序段A和程序段C执行完毕后,join核组线程返回程序段A和程序段C的结果至主核,主核执行不可并行优化的程序段B。
7.根据权利要求1-6任一所述的一种基于申威众核处理器的主核与核组之间通信锁同步运行加速方法,其特征在于,如果程序段A与程序段B不存在程序上下文依赖关系,并且程序段B和程序段C之间存在程序上下文依赖关系,则先执行程序段B,返回结果后执行程序段A和C。
8.根据权利要求7所述的一种基于申威众核处理器的主核与核组之间通信锁同步运行加速方法,其特征在于,主核执行程序段B,待程序段B执行完毕后,spawn核组线程加载程序段A和程序段C到核组,由核组执行程序段A和程序段C,待程序段A和程序段C执行完毕后,join核组线程返回程序段A和程序段C的结果至主核。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910536896.8A CN110262900B (zh) | 2019-06-20 | 2019-06-20 | 一种基于申威众核处理器的主核与核组之间通信锁同步运行加速方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910536896.8A CN110262900B (zh) | 2019-06-20 | 2019-06-20 | 一种基于申威众核处理器的主核与核组之间通信锁同步运行加速方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110262900A true CN110262900A (zh) | 2019-09-20 |
CN110262900B CN110262900B (zh) | 2023-09-29 |
Family
ID=67919792
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910536896.8A Active CN110262900B (zh) | 2019-06-20 | 2019-06-20 | 一种基于申威众核处理器的主核与核组之间通信锁同步运行加速方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110262900B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117632520A (zh) * | 2024-01-25 | 2024-03-01 | 山东省计算中心(国家超级计算济南中心) | 基于申威众核处理器的主从核监测交互的计算量调度方法 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101901207A (zh) * | 2010-07-23 | 2010-12-01 | 中国科学院计算技术研究所 | 异构共享存储多处理机系统的操作系统及其工作方法 |
US20120110303A1 (en) * | 2010-10-28 | 2012-05-03 | International Business Machines Corporation | Method for Process Synchronization of Embedded Applications in Multi-Core Systems |
CN103080900A (zh) * | 2010-09-03 | 2013-05-01 | 西门子公司 | 并行化自动控制程序的方法及编译器 |
US20140215192A1 (en) * | 2013-01-28 | 2014-07-31 | Arizona Board Of Regents On Behalf Of Arizona State University | Heap data management for limited local memory(llm) multi-core processors |
CN104794006A (zh) * | 2010-02-23 | 2015-07-22 | 富士通株式会社 | 多核处理器系统、中断程序、以及中断方法 |
CN104899089A (zh) * | 2015-05-25 | 2015-09-09 | 常州北大众志网络计算机有限公司 | 一种面向异构多核体系的任务调度方法 |
CN105242962A (zh) * | 2015-11-24 | 2016-01-13 | 无锡江南计算技术研究所 | 基于异构众核的轻量级线程快速触发方法 |
CN105808309A (zh) * | 2016-03-08 | 2016-07-27 | 中国科学院软件研究所 | 一种基于申威平台的基础线性代数库blas三级函数gemm的高性能实现方法 |
CN109634672A (zh) * | 2018-12-04 | 2019-04-16 | 中国航空工业集团公司西安航空计算技术研究所 | 一种基于核间通信的多核处理器加载方法 |
-
2019
- 2019-06-20 CN CN201910536896.8A patent/CN110262900B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104794006A (zh) * | 2010-02-23 | 2015-07-22 | 富士通株式会社 | 多核处理器系统、中断程序、以及中断方法 |
CN101901207A (zh) * | 2010-07-23 | 2010-12-01 | 中国科学院计算技术研究所 | 异构共享存储多处理机系统的操作系统及其工作方法 |
CN103080900A (zh) * | 2010-09-03 | 2013-05-01 | 西门子公司 | 并行化自动控制程序的方法及编译器 |
US20120110303A1 (en) * | 2010-10-28 | 2012-05-03 | International Business Machines Corporation | Method for Process Synchronization of Embedded Applications in Multi-Core Systems |
US20140215192A1 (en) * | 2013-01-28 | 2014-07-31 | Arizona Board Of Regents On Behalf Of Arizona State University | Heap data management for limited local memory(llm) multi-core processors |
CN104899089A (zh) * | 2015-05-25 | 2015-09-09 | 常州北大众志网络计算机有限公司 | 一种面向异构多核体系的任务调度方法 |
CN105242962A (zh) * | 2015-11-24 | 2016-01-13 | 无锡江南计算技术研究所 | 基于异构众核的轻量级线程快速触发方法 |
CN105808309A (zh) * | 2016-03-08 | 2016-07-27 | 中国科学院软件研究所 | 一种基于申威平台的基础线性代数库blas三级函数gemm的高性能实现方法 |
CN109634672A (zh) * | 2018-12-04 | 2019-04-16 | 中国航空工业集团公司西安航空计算技术研究所 | 一种基于核间通信的多核处理器加载方法 |
Non-Patent Citations (9)
Title |
---|
CHRISTOPH SCHUMACHER 等: "parSC: Synchronous parallel SystemC simulation on multi-core host architectures", 《2010 IEEE/ACM/IFIP INTERNATIONAL CONFERENCE ON HARDWARE/SOFTWARE CODESIGN AND SYSTEM SYNTHESIS (CODES+ISSS)》, pages 241 - 246 * |
张浩 等: "基于神威众核处理器的排列熵算法并行加速方法", 《HTTP://KNS.CNKI.NET/KCMS/DETAIL/51.1196.TP.20190614.0922.007.HTML》, vol. 37, no. 7, pages 1 - 7 * |
徐卫志 等: "众核处理器片上同步机制和评估方法研究", 《计算机学报》 * |
徐卫志 等: "众核处理器片上同步机制和评估方法研究", 《计算机学报》, vol. 33, no. 10, 15 October 2010 (2010-10-15), pages 2 - 3 * |
徐阳 等: "Silicon-Crystal应用的神威OpenACC移植与数据流驱动任务图并行化", 《HTTP:KNS.CNKI.NET/KCMS/DETAIL/37.1357.N.20190517.1115.001.HTML》 * |
徐阳 等: "Silicon-Crystal应用的神威OpenACC移植与数据流驱动任务图并行化", 《HTTP:KNS.CNKI.NET/KCMS/DETAIL/37.1357.N.20190517.1115.001.HTML》, 17 May 2019 (2019-05-17), pages 1 * |
许璐璐: "支持对称多核处理器的嵌入式实时操作系统研究与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》, no. 3, pages 137 - 178 * |
闫昭 等: "基于数据依赖关系的程序自动并行化方法", 《吉林大学学报(理学版)》 * |
闫昭 等: "基于数据依赖关系的程序自动并行化方法", 《吉林大学学报(理学版)》, vol. 48, no. 01, 26 January 2010 (2010-01-26), pages 94 - 98 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117632520A (zh) * | 2024-01-25 | 2024-03-01 | 山东省计算中心(国家超级计算济南中心) | 基于申威众核处理器的主从核监测交互的计算量调度方法 |
CN117632520B (zh) * | 2024-01-25 | 2024-05-17 | 山东省计算中心(国家超级计算济南中心) | 基于申威众核处理器的主从核监测交互的计算量调度方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110262900B (zh) | 2023-09-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11573796B2 (en) | Conditional branching control for a multi-threaded, self-scheduling reconfigurable computing fabric | |
US11675598B2 (en) | Loop execution control for a multi-threaded, self-scheduling reconfigurable computing fabric using a reenter queue | |
US11868163B2 (en) | Efficient loop execution for a multi-threaded, self-scheduling reconfigurable computing fabric | |
US11675734B2 (en) | Loop thread order execution control of a multi-threaded, self-scheduling reconfigurable computing fabric | |
US11915057B2 (en) | Computational partition for a multi-threaded, self-scheduling reconfigurable computing fabric | |
US11567766B2 (en) | Control registers to store thread identifiers for threaded loop execution in a self-scheduling reconfigurable computing fabric | |
US11782710B2 (en) | Execution or write mask generation for data selection in a multi-threaded, self-scheduling reconfigurable computing fabric | |
US20210224067A1 (en) | Backpressure Control Using a Stop Signal for a Multi-Threaded, Self-Scheduling Reconfigurable Computing Fabric | |
US20210224068A1 (en) | Execution Control of a Multi-Threaded, Self-Scheduling Reconfigurable Computing Fabric | |
US20230153258A1 (en) | Multi-Threaded, Self-Scheduling Reconfigurable Computing Fabric | |
CN101833438A (zh) | 一种基于多重并行的数据通用处理方法 | |
CN110222007A (zh) | 一种基于申威众核处理器的加速运行方法 | |
CN105183698A (zh) | 一种基于多核dsp的控制处理系统和方法 | |
CN110262900A (zh) | 一种基于申威众核处理器的主核与核组之间通信锁同步运行加速方法 | |
CN112074810B (zh) | 并行处理设备 | |
CN110119375B (zh) | 一种将多个标量核链接为单核向量处理阵列的控制方法 | |
CN110262884A (zh) | 一种基于申威众核处理器的核组内多程序多数据流分区并行的运行方法 | |
CN102129495B (zh) | 一种降低可重构算子阵列结构功耗的方法 | |
Liang et al. | A Module-Level Pipeline Implementation Based on Inter-Board Heterogeneous | |
Suzuki et al. | Instruction rearrangement and path limitation for ALU cascading | |
Su | Design and performance evaluation of data flow processor | |
EP2490129A1 (en) | System for processing data and computation device |
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 |