CN102982009A - 一种用于众核处理器的函数处理方法及系统 - Google Patents

一种用于众核处理器的函数处理方法及系统 Download PDF

Info

Publication number
CN102982009A
CN102982009A CN2012104382631A CN201210438263A CN102982009A CN 102982009 A CN102982009 A CN 102982009A CN 2012104382631 A CN2012104382631 A CN 2012104382631A CN 201210438263 A CN201210438263 A CN 201210438263A CN 102982009 A CN102982009 A CN 102982009A
Authority
CN
China
Prior art keywords
variable
office
core processor
deposits
coprocessor
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
Application number
CN2012104382631A
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.)
Wuxi Jiangnan Computing Technology Institute
Original Assignee
Wuxi Jiangnan Computing Technology Institute
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 Wuxi Jiangnan Computing Technology Institute filed Critical Wuxi Jiangnan Computing Technology Institute
Priority to CN2012104382631A priority Critical patent/CN102982009A/zh
Publication of CN102982009A publication Critical patent/CN102982009A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Telephonic Communication Services (AREA)

Abstract

本发明公开一种用于众核处理器的函数处理方法及系统。所述方法包括:获取核心函数中需要放置在所述众核处理器中协处理器的局存中的变量;将所述变量封装成一个数据结构类型;声明一个指针变量,所述指针变量的类型与所述数据结构类型相同;将对局存中的变量的访问修改为对所述指针变量的访问。采用本发明的方法或系统,可以使众核处理器中协处理器的局存能够被不同的核心段函数所重用,进一步提高众核处理器对于函数的处理效率。

Description

一种用于众核处理器的函数处理方法及系统
技术领域
本发明涉及集成电路领域,特别是涉及一种用于众核处理器的函数处理方法及系统。
背景技术
随着集成电路技术的高速发展,CPU芯片的性能也越来越强大。其中一种主要用于浮点运算和密集运算的CPU芯片称为众核处理器。众核处理器中具有多个协处理器。在运行某段程序时,众核处理器可以将该段程序分割成多个小程序后并行运行。分割出来的每个小程序可以称为核心段函数。每个协处理器可以运行一段核心段函数,多个协处理器可以同时运行多段核心段函数。这样就可以将一段比较大的程序分割成多个小程序后,并行处理,提高CPU芯片对于大程序的处理效率。
众核处理器中的协处理器具有局存。局存具有高速读写能力,但是局存的存储空间较小。在对核心段函数进行处理时,应该尽可能的将核心段函数用到的变量放在局存中运行,这样可以最大程度提高众核处理器的处理效率。
但是,现有技术中,由于编译器或编程语言的限制,协处理器在执行函数时,每个核心段函数的局存变量都会一直存储在局存中,固定在局存的某个位置,占用局存空间,这部分空间只能被一个核心段所使用,其它核心段函数无法使用。当变量过多时,局存空间将无法存储所有核心段函数的全部变量,导致众核处理器对于函数的处理效率无法进一步提高。
发明内容
本发明的目的是提供一种用于众核处理器的函数处理方法及系统,能够避免核心段函数的变量在函数处理过程中,一直占用局存空间,使局存能够被不同的核心段函数所重用,进一步提高众核处理器对于函数的处理效率。
为实现上述目的,本发明提供了如下方案:
一种用于众核处理器的函数处理方法,包括:
获取核心函数中需要放置在所述众核处理器中协处理器的局存中的变量;
将所述变量封装成一个数据结构类型;
声明一个指针变量,所述指针变量的类型与所述数据结构类型相同;
将对局存中的变量的访问修改为对所述指针变量的访问。
可选的,将对局存中的变量的访问修改为对所述指针变量的访问之后,还包括:
获取所述局存中的可用的存储空间首地址;
控制所述指针变量指向所述存储空间首地址。
可选的,所述获取核心函数中需要放置在所述众核处理器中协处理器的局存中的变量,包括:
获取所述核心函数中的所有变量;
确定所述所有变量的大小以及所述局存的可用空间大小;
判断所述所有变量的大小是否小于或等于所述局存的可用空间大小;
如果是,则将所有变量确定为需要放置在所述众核处理器中协处理器的局存中的变量;
否则,根据所述核心函数中对各个变量的访问开销确定需要放置在所述众核处理器中协处理器的局存中的变量。
可选的,所述根据所述核心函数中对各个变量的访问次数确定需要放置在所述众核处理器中协处理器的局存中的变量,包括:
按照访问开销由多到少的顺序,确定需要放置在所述众核处理器中协处理器的局存中的变量,直至已确定的需要放置在所述众核处理器中协处理器的局存中的变量的大小之和达到所述局存的可用存储空间所能存储的最大值。
可选的,所述根据所述核心函数中对各个变量的访问开销确定需要放置在所述众核处理器中协处理器的局存中的变量,包括:
分别判断对于每个变量的访问次数是否达到预设阈值;
将访问次数达到所述预设阈值的变量确定为需要放置在所述众核处理器中协处理器的局存中的变量。
一种用于众核处理器的函数处理系统,包括:
变量获取单元,用于获取核心函数中需要放置在所述众核处理器中协处理器的局存中的变量;
变量封装单元,用于将所述变量封装成一个数据结构类型;
指针变量声明单元,用于声明一个指针变量,所述指针变量的类型与所述数据结构类型相同;
访问类型修改单元,用于将对局存中的变量的访问修改为对所述指针变量的访问。
可选的,还包括:
存储空间首地址获取单元,用于获取所述局存中的可用的存储空间首地址;
指针变量控制单元,用于控制所述指针变量指向所述存储空间首地址。
可选的,所述变量获取单元,包括:
全变量获取子单元,用于获取所述核心函数中的所有变量;
变量空间确定子单元,用于确定所述所有变量的大小以及所述局存的可用空间大小;
第一判断子单元,用于判断所述所有变量的大小是否小于或等于所述局存的可用空间大小;
第一变量确定子单元,用于当所述第一判断子单元的判断结果为是时,将所有变量确定为需要放置在所述众核处理器中协处理器的局存中的变量;
第二变量确定子单元,用于当所述第一判断子单元的判断结果为否时,根据所述核心函数中对各个变量的开销确定需要放置在所述众核处理器中协处理器的局存中的变量。
可选的,所述第二变量确定子单元,包括:
开销优先变量确定子单元,用于按照开销由多到少的顺序,确定需要放置在所述众核处理器中协处理器的局存中的变量,直至已确定的需要放置在所述众核处理器中协处理器的局存中的变量的大小之和达到所述局存的可用存储空间所能存储的最大值。
可选的,所述第二变量确定子单元,包括:
第二判断子单元,用于分别判断对于每个变量的访问次数是否达到预设阈值;
预设阈值优先变量确定子单元,用于将访问次数达到所述预设阈值的变量确定为需要放置在所述众核处理器中协处理器的局存中的变量。
根据本发明提供的具体实施例,本发明公开了以下技术效果:
通过获取核心函数中需要放置在所述众核处理器中协处理器的局存中的变量,可以将对局存中的变量的访问修改为对放置在局存中的指针变量的访问。由于指针变量在局存中的存在周期短(相对于整型变量等变量在程序运行过程中一直占据局存空间而言),每次利用局存中存储的指针变量执行完相应的运算步骤后,该指针变量就会被释放,而不会在程序(该程序可以包括多个核心函数)运行期间一直占用局存中的存储空间,所以,采用发明的用于众核处理器的函数处理方法或系统,可以使众核处理器的局存能够被不同的核心段函数所重用,进一步提高众核处理器对于函数的处理效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明的用于众核处理器的函数处理方法实施例1的流程图;
图2为本发明的用于众核处理器的函数处理方法实施例2的流程图;
图3为本发明的用于众核处理器的函数处理系统实施例1的结构图;
图4为本发明的用于众核处理器的函数处理系统实施例2的流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
图1为本发明的用于众核处理器的函数处理方法实施例1的流程图。如图1所示,该方法包括:
步骤101:获取核心函数中需要放置在所述众核处理器中协处理器的局存中的变量;
核心函数中的变量可以存储在主存中(相当于内存)也可以存储在局存中。由于协处理器在访问主存和局存的速度上有很大的差别,因此需要尽可能多地将核心函数中的变量存储在局存中。
可以根据用户的编译指示和预定的优化策略决定将核心函数中的哪些变量存储在局存中。对于每个变量来说,可以考虑在执行某个核心函数的过程中,对于该变量的开销。所谓开销是指读取该变量所耗费的总时间。具体的,对于某变量的开销,与对于该变量的访问次数和该变量的大小有关。访问次数越多,或者变量越大,开销都会增加。因此,在确定将核心函数中的哪些变量存储在局存中时,可以遵循的原则包括:1.在所有变量大小之和小于局存的可用存储空间大小的情况下,可以将所有变量放入局存中;2.在所有变量大小之和超过局存的可用存储空间大小时,优先考虑对于变量的访存次数,将访问次数多的变量优先放入局存。
例如对于如下程序1.c
Figure BDA00002362750000051
可以根据编译指示,将数组a确定为需要放置在局存中的变量;根据优化策略(对变量的开销),将循环迭代变量i也放置在局存中。
步骤102:将所述变量封装成一个数据结构类型;
以上面的程序为例,
在步骤101中,编译器已经分析得知需要放置在局存中的变量为长整型数组a和整型变量I,因此可以将这两个变量组成一个集合,定义一个包含这两个变量的数据类型,如
Figure BDA00002362750000062
其中acc_p_i对应于变量I,acc_p_a对应于数组a。
步骤103:声明一个指针变量,所述指针变量的类型与所述数据结构类型相同;
例如对于上面的程序,可以定义指针变量void*ptr,并通过强制类型转换为ldm_t类型。
步骤104:将对局存中的变量的访问修改为对所述指针变量的访问。
例如,对于上面的程序,可以将
Sum+=a[i];
修改为
Sum+=a[((ldm_t)ptr)->acc_p_i]。
综上所述,本实施例中,通过获取核心函数中需要放置在所述众核处理器中协处理器的局存中的变量,可以将对局存中的变量的访问修改为对指针变量的访问。由于指针变量在局存中的存在周期短(相对于整型变量等变量在程序运行过程中一直占据局存空间而言),每次利用局存中存储的指针变量执行完相应的运算步骤后,该指针变量就会被释放,而不会在程序(该程序可以包括多个核心函数)运行期间一直占用局存中的存储空间,所以,采用本实施例的用于众核处理器的函数处理方法,可以使局存能够被不同的核心段函数所重用,进一步提高众核处理器对于函数的处理效率。
下面通过一个例子说明不同核心段对局存空间的重用问题。例如一个程序中有两个核心段:Int main()
Figure BDA00002362750000071
Figure BDA00002362750000081
对于加了编译指示的两个循环,将生成两个核心段。假设众核处理器有10个协处理器,每个协处理器上的局存有2000B。对于前一个核心段,将把数组a[2000]拷入局存,那么每个协处理器需要拷入2000/10=200个元素,占用空间200*sizeof(int)=200*4=800B。编译器将在每个协处理器的局存中划出800B给数组a,这一部分空间只能在前一个核心段中被访问到,而不能被后一个核心段所访问;同理对于后一个核心段,将把数组b和c都拷入局存;每个协处理器需要拷入400个元素,占用空间1600B。由于前一个核心段已经占用了800B,局存空间只剩下1200B给后一个核心段使用,那么,后一个核心段的本来需要拷入局存的数据就只能拷入一部分,其它的部分将存在主存(例如内存)上,由于协处理器访问主存的开销要远大于访问局存,那么在效率上就会有很大的损失。
但是如果使用了本发明提供的方法,对于前一个核心段,将定义一个数据结构类型,
Figure BDA00002362750000082
声明一个存放在局存的ldm_t类型的指针ptr,并将该指针指向可用空间的首地址addr,那么对于a[i]和i的访问都转为对ptr->acc_p_a[i]和ptr->acc_p_i的访问,避免了直接生成占用固定空间的局存变量。在核心段函数运行时,该核心段将访问从addr开始的,大小为sizeof(ldm_t)=804B的局存空间。对于后一个核心段,也将定义一个数据结构类型,
Figure BDA00002362750000091
由于这种定义只被他所属的核心段使用,故与其它核心段的同名定义没有冲突。同理,核心段函数运行时,将访问从addr开始的,大小为sizeof(ldm_t)=1604B的局存空间。如果按照原来的方法,那么将为核心段一分配从addr开始的800B空间,为核心段二分配从addr+800开始的2000-addr-800的空间。
图2为本发明的用于众核处理器的函数处理方法实施例2的流程图。如图2所示,该方法包括:
步骤201:获取所述核心函数中的所有变量;
步骤202:确定所述所有变量的大小以及所述局存的可用空间大小;
步骤203:判断所述所有变量的大小是否小于或等于所述局存的可用空间大小;如果是,执行步骤204;否则,执行步骤205。
步骤204:将所有变量确定为需要放置在所述众核处理器中协处理器的局存中的变量;
步骤205:根据所述核心函数中对各个变量的开销确定需要放置在所述众核处理器中协处理器的局存中的变量。
具体的,步骤205至少可以采用下述实现方式。
一种实现方式是,按照开销由多到少的顺序,确定需要放置在所述众核处理器中协处理器的局存中的变量,直至已确定的需要放置在所述众核处理器中协处理器的局存中的变量的大小之和达到所述局存的可用存储空间所能存储的最大值。例如对于变量A,B,C,D来说,其开销依次为8,4,2,1。那么就可以先变量A确定为需要放置在所述众核处理器中协处理器的局存中的变量,再将变量B确定为需要放置在所述众核处理器中协处理器的局存中的变量,知道局存的可用存储空间占满为止。假设每个变量的大小为8字节,而局存的存储空间为30字节,则上例中只能将变量A,B,C确定为需要放置在所述众核处理器中协处理器的局存中的变量,而变量D由于开销最少,并且局存中的可有存储空间不足,将不会被确定为需要放置在所述众核处理器中协处理器的局存中的变量。
另一种实现方式是,分别判断对于每个变量的访问次数是否达到预设阈值;将访问次数达到所述预设阈值的变量确定为需要放置在所述众核处理器中协处理器的局存中的变量。这种实现方式主要针对局存中的可用存储空间较充裕的情况。例如,对于变量A,B,C,D来说,其访问次数依次为8,4,2,1。预设阈值为3,那么变量A,B就可以被确定为需要放置在所述众核处理器中协处理器的局存中的变量。
步骤206:将所述变量封装成一个数据结构类型;
步骤207:声明一个指针变量,所述指针变量的类型与所述数据结构类型相同;
步骤208:将对局存中的变量的访问修改为对所述指针变量的访问。
步骤209:获取所述局存中的可用的存储空间首地址;
步骤210:控制所述指针变量指向所述存储空间首地址。
例如,对于程序1.c,在运行时可以声明指针变量ldm_ptr,用以保存核心函数可用的存储空间首地址。当程序加载到协处理器上时,众核处理器将计算得到该地址,使ptr指向ldm_ptr所指向的地址,即将所述数据结构类型的变量从当前可用的存储空间首地址开始放置。步骤209与步骤210,可以最大程度的利用局存中的可用存储空间。
本发明还公开了一种用于众核处理器的函数处理系统。图3为本发明的用于众核处理器的函数处理系统实施例1的结构图。如图3所示,该系统包括:
变量获取单元301,用于获取核心函数中需要放置在所述众核处理器中协处理器的局存中的变量;
变量封装单元302,用于将所述变量封装成一个数据结构类型;
指针变量声明单元303,用于声明一个指针变量,所述指针变量的类型与所述数据结构类型相同;
访问类型修改单元304,用于将对局存中的变量的访问修改为对所述指针变量的访问。
综上所述,本实施例中,通过获取核心函数中需要放置在所述众核处理器中协处理器的局存中的变量,可以将对局存中的变量的访问修改为对指针变量的访问。由于指针变量在局存中的存在周期短(相对于整型变量等变量在程序运行过程中一直占据局存空间而言),每次利用局存中存储的指针变量执行完相应的运算步骤后,该指针变量就会被释放,而不会在程序(该程序可以包括多个核心函数)运行期间一直占用局存中的存储空间,所以,采用本实施例的用于众核处理器的函数处理系统,可以使局存能够被不同的核心段函数所重用,进一步提高众核处理器对于函数的处理效率。
图4为本发明的用于众核处理器的函数处理系统实施例2的流程图。如图4所示,该系统包括:
全变量获取子单元401,用于获取所述核心函数中的所有变量;
变量空间确定子单元402,用于确定所述所有变量的大小以及所述局存的可用空间大小;
第一判断子单元403,用于判断所述所有变量的大小是否小于或等于所述局存的可用空间大小;
第一变量确定子单元404,用于当所述第一判断子单元的判断结果为是时,将所有变量确定为需要放置在所述众核处理器中协处理器的局存中的变量;
第二变量确定子单元405,用于当所述第一判断子单元的判断结果为否时,根据所述核心函数中对各个变量的开销确定需要放置在所述众核处理器中协处理器的局存中的变量。
变量封装单元302,用于将所述变量封装成一个数据结构类型;
指针变量声明单元303,用于声明一个指针变量,所述指针变量的类型与所述数据结构类型相同;
访问类型修改单元304,用于将对局存中的变量的访问修改为对所述指针变量的访问。
存储空间首地址获取单元406,用于获取所述局存中的可用的存储空间首地址;
指针变量控制单元407,用于控制所述指针变量指向所述存储空间首地址。
其中,所述全变量获取子单元401,变量空间确定子单元402,第一判断子单元403,第一变量确定子单元404和第二变量确定子单元405可以包含于所述变量获取单元301。
所述第二变量确定子单元405,可以包括:
开销优先变量确定子单元,用于按照开销由多到少的顺序,确定需要放置在所述众核处理器中协处理器的局存中的变量,直至已确定的需要放置在所述众核处理器中协处理器的局存中的变量的大小之和达到所述局存的可用存储空间所能存储的最大值。
所述第二变量确定子单元405,还可以包括:
第二判断子单元,用于分别判断对于每个变量的访问次数是否达到预设阈值;
预设阈值优先变量确定子单元,用于将访问次数达到所述预设阈值的变量确定为需要放置在所述众核处理器中协处理器的局存中的变量。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。

Claims (10)

1.一种用于众核处理器的函数处理方法,其特征在于,包括:
获取核心函数中需要放置在所述众核处理器中协处理器的局存中的变量;
将所述变量封装成一个数据结构类型;
声明一个指针变量,所述指针变量的类型与所述数据结构类型相同;
将对局存中的变量的访问修改为对所述指针变量的访问。
2.根据权利要求1所述的方法,其特征在于,将对局存中的变量的访问修改为对所述指针变量的访问之后,还包括:
获取所述局存中的可用的存储空间首地址;
控制所述指针变量指向所述存储空间首地址。
3.根据权利要求1或2任一项所述的方法,其特征在于,所述获取核心函数中需要放置在所述众核处理器中协处理器的局存中的变量,包括:
获取所述核心函数中的所有变量;
确定所述所有变量的大小以及所述局存的可用空间大小;
判断所述所有变量的大小是否小于或等于所述局存的可用空间大小;
如果是,则将所有变量确定为需要放置在所述众核处理器中协处理器的局存中的变量;
否则,根据所述核心函数中对各个变量的访问开销确定需要放置在所述众核处理器中协处理器的局存中的变量。
4.根据权利要求3所述的方法,其特征在于,所述根据所述核心函数中对各个变量的访问次数确定需要放置在所述众核处理器中协处理器的局存中的变量,包括:
按照访问开销由多到少的顺序,确定需要放置在所述众核处理器中协处理器的局存中的变量,直至已确定的需要放置在所述众核处理器中协处理器的局存中的变量的大小之和达到所述局存的可用存储空间所能存储的最大值。
5.根据权利要求3所述的方法,其特征在于,所述根据所述核心函数中对各个变量的访问开销确定需要放置在所述众核处理器中协处理器的局存中的变量,包括:
分别判断对于每个变量的访问次数是否达到预设阈值;
将访问次数达到所述预设阈值的变量确定为需要放置在所述众核处理器中协处理器的局存中的变量。
6.一种用于众核处理器的函数处理系统,其特征在于,包括:
变量获取单元,用于获取核心函数中需要放置在所述众核处理器中协处理器的局存中的变量;
变量封装单元,用于将所述变量封装成一个数据结构类型;
指针变量声明单元,用于声明一个指针变量,所述指针变量的类型与所述数据结构类型相同;
访问类型修改单元,用于将对局存中的变量的访问修改为对所述指针变量的访问。
7.根据权利要求6所述的系统,其特征在于,还包括:
存储空间首地址获取单元,用于获取所述局存中的可用的存储空间首地址;
指针变量控制单元,用于控制所述指针变量指向所述存储空间首地址。
8.根据权利要求6或7任一项所述的系统,其特征在于,所述变量获取单元,包括:
全变量获取子单元,用于获取所述核心函数中的所有变量;
变量空间确定子单元,用于确定所述所有变量的大小以及所述局存的可用空间大小;
第一判断子单元,用于判断所述所有变量的大小是否小于或等于所述局存的可用空间大小;
第一变量确定子单元,用于当所述第一判断子单元的判断结果为是时,将所有变量确定为需要放置在所述众核处理器中协处理器的局存中的变量;
第二变量确定子单元,用于当所述第一判断子单元的判断结果为否时,根据所述核心函数中对各个变量的开销确定需要放置在所述众核处理器中协处理器的局存中的变量。
9.根据权利要求8所述的系统,其特征在于,所述第二变量确定子单元,包括:
开销优先变量确定子单元,用于按照开销由多到少的顺序,确定需要放置在所述众核处理器中协处理器的局存中的变量,直至已确定的需要放置在所述众核处理器中协处理器的局存中的变量的大小之和达到所述局存的可用存储空间所能存储的最大值。
10.根据权利要求8所述的系统,其特征在于,所述第二变量确定子单元,包括:
第二判断子单元,用于分别判断对于每个变量的访问次数是否达到预设阈值;
预设阈值优先变量确定子单元,用于将访问次数达到所述预设阈值的变量确定为需要放置在所述众核处理器中协处理器的局存中的变量。
CN2012104382631A 2012-11-06 2012-11-06 一种用于众核处理器的函数处理方法及系统 Pending CN102982009A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2012104382631A CN102982009A (zh) 2012-11-06 2012-11-06 一种用于众核处理器的函数处理方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2012104382631A CN102982009A (zh) 2012-11-06 2012-11-06 一种用于众核处理器的函数处理方法及系统

Publications (1)

Publication Number Publication Date
CN102982009A true CN102982009A (zh) 2013-03-20

Family

ID=47856051

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2012104382631A Pending CN102982009A (zh) 2012-11-06 2012-11-06 一种用于众核处理器的函数处理方法及系统

Country Status (1)

Country Link
CN (1) CN102982009A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104615583A (zh) * 2015-01-27 2015-05-13 上海联影医疗科技有限公司 基于gpu平台实现数据处理的方法和装置
CN110659065A (zh) * 2018-06-29 2020-01-07 杭州海康威视数字技术股份有限公司 一种数据处理的方法、装置、电子设备和存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7177984B1 (en) * 2004-04-16 2007-02-13 Apple Computer, Inc. Cache management using historical access information
CN101763437A (zh) * 2010-02-10 2010-06-30 成都市华为赛门铁克科技有限公司 高速缓冲存储实现方法及装置
US20110078383A1 (en) * 2009-09-30 2011-03-31 Avaya Inc. Cache Management for Increasing Performance of High-Availability Multi-Core Systems
US20120042304A1 (en) * 2010-08-10 2012-02-16 Nobuaki Tojo Program conversion apparatus and computer readable medium

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7177984B1 (en) * 2004-04-16 2007-02-13 Apple Computer, Inc. Cache management using historical access information
US20110078383A1 (en) * 2009-09-30 2011-03-31 Avaya Inc. Cache Management for Increasing Performance of High-Availability Multi-Core Systems
CN101763437A (zh) * 2010-02-10 2010-06-30 成都市华为赛门铁克科技有限公司 高速缓冲存储实现方法及装置
US20120042304A1 (en) * 2010-08-10 2012-02-16 Nobuaki Tojo Program conversion apparatus and computer readable medium

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104615583A (zh) * 2015-01-27 2015-05-13 上海联影医疗科技有限公司 基于gpu平台实现数据处理的方法和装置
CN104615583B (zh) * 2015-01-27 2017-11-28 上海联影医疗科技有限公司 基于gpu平台实现数据处理的方法和装置
CN110659065A (zh) * 2018-06-29 2020-01-07 杭州海康威视数字技术股份有限公司 一种数据处理的方法、装置、电子设备和存储介质

Similar Documents

Publication Publication Date Title
US8782645B2 (en) Automatic load balancing for heterogeneous cores
CN105051680B (zh) 用于在处理器内部的硬件并行执行道上处理指令的处理器及方法
Fung et al. Dynamic warp formation: Efficient MIMD control flow on SIMD graphics hardware
CN109002659B (zh) 一种基于超级计算机的流体机械仿真程序优化方法
US10346212B2 (en) Approach for a configurable phase-based priority scheduler
CN111090464B (zh) 一种数据流处理方法及相关设备
CN105487838A (zh) 一种动态可重构处理器的任务级并行调度方法与系统
US20120331278A1 (en) Branch removal by data shuffling
CN106547627A (zh) 一种Spark MLlib数据处理加速的方法及系统
JP6427054B2 (ja) 並列化コンパイル方法、及び並列化コンパイラ
WO2008077267A1 (en) Locality optimization in multiprocessor systems
CN102253919A (zh) 基于gpu和cpu协同运算的并行数值模拟方法和系统
US9990216B2 (en) Providing hypercall interface for virtual machines
CN105074657A (zh) 并行管道中的发散分支的硬件和软件解决方案
TWI754310B (zh) 純函數語言神經網路加速器系統及電路
CN106484532B (zh) 面向sph流体模拟的gpgpu并行计算方法
US8387009B2 (en) Pointer renaming in workqueuing execution model
CN102982009A (zh) 一种用于众核处理器的函数处理方法及系统
Li et al. A speculative HMMER search implementation on GPU
Shang et al. LACS: A high-computational-efficiency accelerator for CNNs
CN112540793A (zh) 支持多访存模式的可重构处理单元阵列及控制方法、装置
Kim et al. Optimizing seam carving on multi-GPU systems for real-time content-aware image resizing
CN106598552A (zh) 基于Gridding模块的数据点转换方法及装置
US20140013312A1 (en) Source level debugging apparatus and method for a reconfigurable processor
CN110262884B (zh) 一种基于申威众核处理器的核组内多程序多数据流分区并行的运行方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20130320

RJ01 Rejection of invention patent application after publication