CN101840329B - 一种基于图拓扑结构的数据并行处理方法 - Google Patents

一种基于图拓扑结构的数据并行处理方法 Download PDF

Info

Publication number
CN101840329B
CN101840329B CN201010150568A CN201010150568A CN101840329B CN 101840329 B CN101840329 B CN 101840329B CN 201010150568 A CN201010150568 A CN 201010150568A CN 201010150568 A CN201010150568 A CN 201010150568A CN 101840329 B CN101840329 B CN 101840329B
Authority
CN
China
Prior art keywords
data
task
execution
application program
topological structure
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.)
Expired - Fee Related
Application number
CN201010150568A
Other languages
English (en)
Other versions
CN101840329A (zh
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.)
Zhejiang University ZJU
Original Assignee
Zhejiang University ZJU
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 Zhejiang University ZJU filed Critical Zhejiang University ZJU
Priority to CN201010150568A priority Critical patent/CN101840329B/zh
Publication of CN101840329A publication Critical patent/CN101840329A/zh
Application granted granted Critical
Publication of CN101840329B publication Critical patent/CN101840329B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Multi Processors (AREA)
  • Advance Control (AREA)

Abstract

本发明公开了一种基于图拓扑结构的数据并行处理方法,(1)将进行数据处理的应用程序划分成若干执行行为;(2)根据执行行为对数据的基本操作类型,将所有的执行行为划分成若干个任务;(3)将应用程序需要处理的数据分为静态数据和动态数据;(4)针对步骤(2)中的每一个任务分别建立队列,将每一个任务需要处理的数据以数据包的形式存放在相应的数据队列中;(5)根据任务执行时任务生成的数据的流向,以及需要调用的数据所在的位置,建立图拓扑结构并执行应用程。本发明使程序能够最大限度地有效使用硬件的计算资源和存储资源,可以迅速而便捷的开发出高性能的并行执行的应用程序,大大加快程序开发的进度和效率,节省研发费用。

Description

一种基于图拓扑结构的数据并行处理方法
技术领域
本发明涉及并行计算技术领域,尤其涉及一种基于异构多核架构的通用并行数据处理方法。
背景技术
随着当今科学技术的迅猛发展,高性能计算已经成为科学技术发展中具有战略重要性的研究手段,它与传统的理论研究和实验室实验一起构成了现代科学技术和工程设计中互相补充、互相关联的研究方法,被国际上称为21世纪科学研究的三大“支柱”。高性能计算机的应用领域主要集中在科学研发、电信、金融、政府等,所以高性能计算机对于国家的贡献当然是功不可没的,为了加快当今信息化建设的步伐,越来越多的领域应用到高性能计算技术。高性能计算极大地加快了计算的速度,缩短了研制和生产周期。它的应用,大大拓宽了研究能力,促进和推动了现代科学与工程技术的发展。加快发展高性能计算对于提升我国科技自主创新能力、增强国家竞争力、保障国家安全、促进国民经济建设、建设创新型国家具有十分重要的战略意义。
在高性能计算领域的发展过程中,以RISC架构为主导的小型机曾经称霸高性能计算市场,后来由于X86架构的发展,在价格上占有绝对优势的X86架构最终以集群的形式取代了小型机。虽然通过创建分布式***可以解决部分大型计算的问题,但是分布式***有通信开销大,故障率高;数据的存取结构复杂,开销大;数据的安全性和保密性较难控制等弱点。随着计算机处理器,特别是GPU(Graphical Processing Unit)计算能力的飞速提高和低廉的价格,高性能计算逐步进入桌面(低端)领域,使得每一名研究人员、科学家以及工程师都有可能拥有自己的超级计算机,能够更快的解决问题,加快了科学发展的节奏。现在的GPU包含了上百个处理单元,对单精度浮点运算可以获得1TFLOPS的性能,对双精度浮点运算也可以获得超过80GFLOPS的性能,可以拥有4GB的显存,超过100GB/秒的带宽。尽管GPU原本是一种专为图形计算而设计的处理器,然而特别适合做大规模并行计算的GPU以强大的计算性能、较低的能耗、低廉的价格以及占地面积较小等特点迅速出现在许多非图形应用的高性能计算领域。如今,许多重要的科学工程都正在尝试将GPU计算能力添加到他们的代码里。软件工程师们正热烈期待着他们的工作能够通过GPU获得卓越的性能。
然而,目前的大多数应用程序直接移植到GPU上来并不会立即得到性能的提高,甚至还会出现性能的下降。这主要是因为这些程序和结构并不是针对GPU架构的特点而设计的,无法挖掘出GPU全部的计算能力。如何利用并行应用程序进行高效的数据处理通常是一件复杂而耗时的工作。
发明内容
本发明提供了一种基于图拓扑结构的数据并行处理方法,以解决复杂的应用程序在执行过程中可能出现的不可预测的动态不规则执行行为和不规则数据结构,其难以在当前硬件并行架构下有效执行的问题,同时使应用程序进行数据并行处理时能够最大限度地有效使用硬件的计算资源和存储资源。
所述的不可预测的动态不规则行为,是指许多算法的执行过程具有不确定性,例如,函数递归执行的每一次迭代过程都需要根据前一次迭代的结果进行动态的分析,每次迭代可能产生新的任务,也可能就此终止,因此这种迭代的执行是不可预测的,无法在程序执行前静态确定,而且为成千上万的活动线程提供递归空间需要非常巨大的存储空间,这在现有的基于数据并行的编程模型中也很难有效的执行;另外,对于树、链表等不规则数据结构来说,它们无法在编译期间确定数据的分配和存储,程序运行时又很难确定数据局部性存储的布局,因此现有的编程模型很难有效的处理这种不规则数据结构。
一种基于图拓扑结构的数据并行处理方法,执行在具有GPU和CPU处理器的计算机中:
(1)将进行数据处理的应用程序划分成若干执行行为;
每个执行行为可以完成至少一个对数据的基本操作,例如数据的访问、数据的存储等,或者计算指令;
(2)根据执行行为对数据的基本操作类型以及计算指令类型,将所有的执行行为划分成若干个任务,即将相似的执行行为划入同一个计算任务中;
相似的执行行为,是指具有相同的计算操作或相似的存储操作,相似的存储操作是指对数据的访问保持在存储区域的局部范围内,此步骤的划分可以满足硬件的SIMD(Single Instruction,Multiple Data)执行特性和存储的局部访问特性。
每个任务完成指定的计算任务,划分时尽可能的短小而功能单一,任务间根据具体的情况可以并行执行,也可串行执行。
(3)将应用程序需要处理的数据分为静态数据和动态数据,在可执行所述的应用程序的计算机显存中划分存储空间(存储池),在该存储空间中分别为静态数据和动态数据划分存储区域,即存储空间中一部分用于存储静态数据,其余的空间用于存储动态数据。
其中静态数据是指在应用程序执行过程中不会改变的数据,而动态数据是指在应用程序执行过程中产生的新数据。所有这些信息预先记录在一个配置文件里;
(4)根据对数据的处理方式,将步骤(2)中任务分为计算型任务和逻辑判断型任务,在GPU上运行计算型任务,在CPU上运行逻辑判断型任务。
在步骤(4)中针对步骤(2)中的每一个计算型任务分别建立数据队列,将每一个任务需要处理的数据以数据包的形式存放在相应的数据队列中;
由于在一个任务里不可能访问到存储池中所有的静态数据,为了减少任务执行时数据在存储区域范围内的移动次数,可以根据静态数据在存储空间内的位置分布,将数据包分为若干子队列,同一子队列所对应的静态数据在存储空间内的位置相邻。此外,还可以根据不同应用程序的具体特点使用其它分类原则进一步划分,以便于更有效地进行SIMD操作和局部访存。一些应用程序可能需要顺序的处理数据包(如一些图形算法),因此我们在每个数据队列上都作了标记,需要顺序处理的数据包我们将按照先进先出(FIFO)的顺序处理,否则将会以乱序方式对数据包进行处理。
终上所述,通过使用队列,我们可以将任务所需要的或者所产生的数据按照相似性原则动态地组织起来,所述的相似性具体是指存储相似性、结构相似性和处理相似性,最终使任务可以按需获取数据,减少了昂贵的数据转移操作,特别适合需要频繁访问数据或者需要访问海量数据的应用程序。
(5)根据任务执行时任务生成的数据的流向,以及需要调用的数据所在的位置(数据所处的数据队列),建立图拓扑结构,根据图拓扑结构执行应用程序。执行应用程序时,不同的任务之间通过其相应的数据队列进行通讯和交换数据。
通过使用这种图拓扑结构,具有递归等动态执行行为的计算任务遇到递归行为时可以按照图拓扑结构中数据的流向将数据转移给可以执行该递归行为的计算任务,同时结束该计算任务,避免了递归行为的出现,最终使并行执行的线程可以以相同的指令同时结束,避免执行分支的出现,从而有效地使用了硬件的并行计算资源。
本发明对具有动态特征执行行为和不规则数据结构的复杂算法做了专门的优化,能够在程序运行时根据存储局部性原则和SIMD操作机制对数据进行动态管理,使程序能够最大限度地有效使用硬件的计算资源和存储资源。利用本发明方法可以迅速而便捷的开发出高性能的并行执行的应用程序,这无疑将会大大加快程序开发的进度和效率,节省研发费用。
本发明的实施可以基于更成熟的异构多核架构,比如NVIDIA公司最新推出的Fermi架构,或者Inter公司即将推出的Larrabee架构等,这些架构一般均具有超过1TFLOPS的浮点运算能力,超过20的多核处理器,上百的硬件线程以及复杂的存储层次结构。
附图说明
图1为分别使用CUDA及本发明模型对场景Bunny、Fairy、BART Kitchen进行绘制时所需的计算花销与管理花销对比。
具体实施方式
选择一台配有一颗Intel Xeon 3.7GHz的4核CPU,一颗NvidiaGTX285(1G显存)的PC来验证本发明的可行性。基于PTX指令集实现了一套基于上述方法实现的编程接口,并按照本发明所提出的方法去重新设计和编写图形学中具有大量动态不规则性行为的光线跟踪算法,并与使用Nvidia公司的CUDA编程模型编写的代码所得到的效果作对比,并做了如下分析。
将应用程序划分成若干计算任务,为了满足硬件的SIMD/SIMT操作和局部访存特性,我们使具有相似执行行为或者相似访存行为的计算封装在一个计算任务内以进行有效的处理,每个计算任务尽可能的短小而功能单一,计算任务间根据具体的情况可以并行执行,也可串行执行。计算任务内部以数据并行方式计算,而计算任务间以任务并行方式异步计算。每一个计算任务都设有一个状态,用以处理可能存在相互依赖关系的计算任务间的执行。
根据光线跟踪算法中计算任务的特点在应用程序执行管道中创建了6个计算任务,分别进行光线产生、遍历加速结构、面片相交、着色、阴影等计算任务,同时在数据任务调度管道中进行光线排序和光线包的创建。这些任务均具有较好的并行执行能力,即较宽的SIMD执行宽度,但是光线的递归特性使得SIMD有效使用率很可能随着递归的进行而剧烈下降。另外,我们在实现时使用延迟计算技术来进一步提高SIMD利用率,即如果着色任务经计算后无法产生足够的光线而形成一个完整的光线包,相交计算将被延迟直到完整的光线包已经形成;同样地,如果相交计算任务无法产生足够多的光线进行着色计算,着色计算也将被延迟。
将数据分为静态数据和动态数据,其中静态数据是指在应用程序执行过程中不会改变的数据,而动态数据是指在应用程序执行过程中产生的不断变化的新数据。在初始化时设置一个存储池,根据具体的应用程序为静态数据在显存中分配一定的空间,其余的空间为动态数据所占有。所有这些信息记录在一个配置文件里。
一些应用程序所需的静态数据大小可能超出了显存的大小,这样就可能在程序执行过程中动态的调度静态数据,而每次导入的数据大小不一定跟上一次完全一致,这样就可能在静态数据区域和动态数据区间产生碎片。为了避免碎片的产生而有效的使用显存,我们可以在显存中采用双向分配的方法,在存储池的低地址端存放静态数据,而在存储池的高地址端存放动态数据。
为了解决复杂的应用程序在执行过程中可能出现的不可预测的动态不规则执行行为,使用一种可以动态扩展的图拓扑结构作为应用程序的执行管道,其核心思想是:计算任务作为图结构中的结点,在程序运行前根据程序运行时可能出现的动态执行行为预先在配置文件中建立计算任务间的图拓扑结构,具有可确定的规则执行行为的部分在静态编译时确定。
根据任务执行时任务生成的数据的流向,以及需要调用的数据所在的位置(数据所处的数据队列),建立图拓扑结构,根据图拓扑结构执行应用程序。执行应用程序时,不同的任务之间通过其相应的数据队列进行通讯和交换数据。
正如前面所述,使用图结构表达这些计算任务之间的执行关系,每个计算任务都有专门的数据队列供其使用,使用我们提供的入队原语操作不断重新组织数据队列中的数据。由于光线跟踪算法中很多计算都消耗在了光线的遍历和相交操作上,为了尽量减少无效的计算操作,根据加速结构的结构建立相应的图拓扑结构,使得计算可以局部在某一节点处,而不必每次计算都从根节点从头进行。具有递归等动态执行行为的计算任务遇到递归行为时可以按照图拓扑结构中数据的流向将数据转移给可以执行该递归行为的计算任务,同时结束该计算任务,避免了递归行为的出现,最终使并行执行的线程可以以相同的指令同时结束,避免执行分支的出现,从而有效地使用了硬件的并行计算资源。
根据对数据的处理方式,将任务分为计算型任务和逻辑判断型任务,在GPU上运行计算型任务,在CPU上运行逻辑判断型任务。每一个计算任务都有一个相应的队列,里面存放的是等待该计算任务处理的数据。数据以包的形式存放在队列中,包的大小根据多处理器SIMD的执行宽度而定。数据队列用于进行异步通讯,动态地收集该计算任务执行中所需要的数据,以满足硬件的局部相似性执行特性。尽管我们可以通过展开循环来解决程序的一些递归执行问题,但是很多不规则的算法的递归次数是无法确定的,而图的循环特性恰恰可以使计算任务间进行低开销的任意次数的反馈操作,无需预先确定,队列可以很好的处理计算任务循环操作中动态产生的大量不规则存储的数据。计算任务只能通过其相应的数据队列与其它计算任务进行通讯和交换数据。
计算任务每次执行都可能会消耗一些数据,也可能会产生大量新的数据,进而使计算任务所对应的数据队列中的元素发生不规则变化;另外,一些数据可能需要在多个计算任务间共享、重用。因此,为了满足局部相似性原则和SIMD操作特性,使计算尽量集中在局部数据集中进行,有必要对这些数据重新组织,进行重新打包和分组,同时使数据根据图的拓扑结构流向所对应的计算任务数据队列中,在数据队列中产生新的数据包等待计算任务处理,从而保证计算可以继续在硬件上有效地进行。通过提供获取、交付、入队三种编程原语,以方便计算任务间通过异步的方式高效地生产或者消费相应数据队列中的数据包,控制数据的动态流动,加大编程的可操作性。获取操作可以指定数据队列中连续的一块数据包区域,表明这些数据包即将被处理;交付操作表明这些数据包已经被处理,其它计算任务可以使用它们;而入队操作则用来动态地将新生成的数据元素组织成包的形式。
由于在一个计算任务里不可能访问到存储池中所有的静态数据,为了减少昂贵的数据移动次数,我们根据所需的静态数据范围将数据队列中的数据包细分为若干子队列。此外,还可以根据不同应用程序的特点使用其它分类原则进一步划分,以便于更有效地进行SIMD操作和局部访存。一些应用程序可能需要顺序的处理数据包(如一些图形算法),因此我们在每个数据队列上都作了标记,需要顺序处理的数据包我们将按照先进先出(FIFO)的顺序处理,否则将会以乱序方式对数据包进行处理。终上所述,通过使用队列,我们可以将计算任务所需要的或者所产生的数据按照相似性原则动态地组织起来,这里的相似性具体是指存储相似性、结构相似性和处理相似性,最终使计算任务可以按需获取数据,减少了昂贵的数据转移操作,特别适合需要频繁访问数据或者需要访问海量数据(out-of-core数据)的应用程序。
选择具有不同几何复杂度的测试场景,Bunny,Fairy,BART Kitchen作为测试模型文件,绘制分辨率为1024*1024。图拓扑结构和相应的数据队列机制可以很容易地表达光线跟踪算法中的动态不规则行为,不断收集相似性数据和组织局部性数据,并放入相应的数据队列中,保证了计算任务可以一直在图拓扑结构中高效运行。分别使用了本发明方法和CUDA编程模型对这个场景进行测试,结果如表1所示,可见本发明方法相比CUDA来说,取得了更好的性能。
表1
  SIMD   CUDA   本模型
  Bunny   0.458s   0.097s   0.041s
  Fairy   1.317s   0.128s   0.085s
  BART Kitchen   0.727s   0.103s   0.065s
分别使用CPU的SIMD指令、CUDA以及本方法在加速结构构造时间方面(S)的比较。
为了进一步说明本发明方法能够有效处理算法中的动态不规则性行为,着重列出了分别使用CPU的SIMD指令、CUDA以及本方法在加速结构构造时间方面的比较,如表1所示。这里我们使用KD树作为构造结构,可见本发明方法相比SIMD方法获得了近10倍的性能提升,相比CUDA,也缩减了近一半的时间。
如上所述,本发明方法为了能够保证硬件计算资源的有效利用率,最大限度地合理使用计算资源和存储资源,通过数据重组来控制数据按照相似性原则进行处理。这种方法明显地提升了算法的性能,但也带来了一定的开销。为了验证这些开销的利弊程度,统计了分别使用CUDA及本模型对场景Fairy进行绘制时所需的计算花销与管理花销。如图1所示(图中条形左侧数值表示计算花销、右侧数值表示管理花销),尽管本发明方法所带来的管理开销明显超过使用CUDA所产生的管理花费,但是从总体花销角度来说,正是由于本发明方法复杂的数据与任务管理,使得硬件有效计算率更高,计算花费大大减少,从而使总体花费的时间趋于减少。

Claims (4)

1.一种基于图拓扑结构的数据并行处理方法,其特征在于,执行在具有GPU和CPU处理器的计算机中:
(1)将进行数据处理的应用程序划分成若干执行行为;
(2)根据执行行为对数据的基本操作类型,将所有的执行行为划分成计算型任务和逻辑判断型任务,在GPU上运行计算型任务,在CPU上运行逻辑判断型任务;
(3)将应用程序需要处理的数据分为静态数据和动态数据,在可执行所述的应用程序的计算机显存中划分存储空间,在该存储空间中分别为静态数据和动态数据划分存储区域;
(4)针对步骤(2)中的每一个任务分别建立队列,将每一个任务需要处理的数据以数据包的形式存放在相应的数据队列中;
(5)根据任务执行时任务生成的数据的流向,以及需要调用的数据所在的位置,建立图拓扑结构,根据图拓扑结构执行应用程序,执行应用程序时,不同的任务之间通过其相应的数据队列进行通讯和交换数据。
2.根据权利要求1所述的数据并行处理方法,其特征在于,每个执行行为可以完成至少一个对数据的基本操作或者计算操作。
3.根据权利要求1所述的数据并行处理方法,其特征在于,所述的静态数据是在应用程序执行过程中不会改变的数据,所述的动态数据是在应用程序执行过程中产生的数据。
4.根据权利要求1所述的数据并行处理方法,其特征在于,步骤(4)中所述的数据队列继续分为若干子队列,同一子队列所对应的静态数据在存储空间内的位置相邻。
CN201010150568A 2010-04-19 2010-04-19 一种基于图拓扑结构的数据并行处理方法 Expired - Fee Related CN101840329B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201010150568A CN101840329B (zh) 2010-04-19 2010-04-19 一种基于图拓扑结构的数据并行处理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201010150568A CN101840329B (zh) 2010-04-19 2010-04-19 一种基于图拓扑结构的数据并行处理方法

Publications (2)

Publication Number Publication Date
CN101840329A CN101840329A (zh) 2010-09-22
CN101840329B true CN101840329B (zh) 2012-10-03

Family

ID=42743716

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201010150568A Expired - Fee Related CN101840329B (zh) 2010-04-19 2010-04-19 一种基于图拓扑结构的数据并行处理方法

Country Status (1)

Country Link
CN (1) CN101840329B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102193826B (zh) * 2011-05-24 2012-12-19 哈尔滨工程大学 一种异构多核处理器高效任务调度方法
CN103440173B (zh) * 2013-08-23 2016-09-21 华为技术有限公司 一种多核处理器的调度方法和相关装置
CN105787771A (zh) * 2014-12-16 2016-07-20 航天信息股份有限公司 一种提升网络******中数据交互稳定性的方法及***
CN107239334B (zh) 2017-05-31 2019-03-12 清华大学无锡应用技术研究院 处理不规则应用的方法及装置
CN109634748A (zh) * 2018-12-12 2019-04-16 深圳前海微众银行股份有限公司 集群资源调度方法、装置、设备及计算机可读存储介质
CN109710314B (zh) * 2018-12-20 2019-11-12 四川新网银行股份有限公司 一种基于图结构分布式并行模式构建图的方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101354780A (zh) * 2007-07-26 2009-01-28 Lg电子株式会社 图形数据处理设备和方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8276164B2 (en) * 2007-05-03 2012-09-25 Apple Inc. Data parallel computing on multiple processors

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101354780A (zh) * 2007-07-26 2009-01-28 Lg电子株式会社 图形数据处理设备和方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
杨鑫等.Realtime Ray Tracing on a Hibrid Parallel Architecture.《2009 First International Workshop on Education Technology and Computer Science》.2009,第3卷第894-898页. *

Also Published As

Publication number Publication date
CN101840329A (zh) 2010-09-22

Similar Documents

Publication Publication Date Title
CN101840329B (zh) 一种基于图拓扑结构的数据并行处理方法
CN101833438A (zh) 一种基于多重并行的数据通用处理方法
CN102902512B (zh) 一种基于多线程编程及消息队列的多线程并行处理方法
CN103336718A (zh) 一种gpu线程调度优化方法
CN107247628B (zh) 一种面向多核***的数据流程序任务划分与调度方法
CN101387952A (zh) 单芯片多处理器任务调度管理方法
CN102193830A (zh) 面向众核环境的分治映射/归约并行编程模型
CN104850866A (zh) 基于SoC-FPGA的自重构K-means聚类技术实现方法
CN110032450B (zh) 一种基于固态盘扩展内存的大规模深度学习方法及***
CN110297661A (zh) 基于amp构架dsp操作***的并行计算方法、***及介质
CN101655783B (zh) 前瞻多线程划分方法
Xie et al. CuMF_SGD: Fast and scalable matrix factorization
CN114968374A (zh) 一种基于新一代神威超级计算机的多层循环进程级和线程级协同自动优化方法
Wang et al. Infinity Stream: enabling transparent and automated in-memory computing
Moustafa et al. 3D cartesian transport sweep for massively parallel architectures with PARSEC
Wu et al. An Improved Dijkstra’s algorithm application to multi-core processors
CN102023846B (zh) 基于单片多处理器***的共享前端流水线结构
Xu A petri net-based hybrid heuristic scheduling algorithm for flexible manufacturing system
CN113723931B (zh) 一种适用于多尺度高通量材料计算的工作流建模方法
Wang et al. A study of hybrid parallel genetic algorithm model
CN105045646B (zh) 一种分簇结构的部分谓词实现及编译优化方法
CN102902511A (zh) 并行信息处理***
Ni et al. Agglomerative memory and thread scheduling for high-performance ray-tracing on GPUs
Wu Research on the Development and Application of Parallel Programming Technology in Heterogeneous Systems
Ismail et al. A parallel and concurrent implementation of Lin-Kernighan heuristic (LKH-2) for solving traveling salesman problem for multi-core processors using SPC 3 programming model

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20121003

Termination date: 20150419

EXPY Termination of patent right or utility model