CN101833438A - 一种基于多重并行的数据通用处理方法 - Google Patents
一种基于多重并行的数据通用处理方法 Download PDFInfo
- Publication number
- CN101833438A CN101833438A CN201010150549A CN201010150549A CN101833438A CN 101833438 A CN101833438 A CN 101833438A CN 201010150549 A CN201010150549 A CN 201010150549A CN 201010150549 A CN201010150549 A CN 201010150549A CN 101833438 A CN101833438 A CN 101833438A
- Authority
- CN
- China
- Prior art keywords
- data
- task
- execution
- application program
- parallel
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 13
- 238000012545 processing Methods 0.000 claims abstract description 21
- 230000003068 static effect Effects 0.000 claims abstract description 20
- 238000004364 calculation method Methods 0.000 claims description 37
- 238000003860 storage Methods 0.000 claims description 26
- 230000008859 change Effects 0.000 claims description 3
- 230000006399 behavior Effects 0.000 abstract description 6
- 230000001788 irregular Effects 0.000 abstract description 3
- 230000007246 mechanism Effects 0.000 abstract description 3
- 238000005457 optimization Methods 0.000 abstract description 2
- 238000000034 method Methods 0.000 description 25
- 238000011161 development Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 238000011160 research Methods 0.000 description 5
- 238000013480 data collection Methods 0.000 description 4
- 238000013461 design Methods 0.000 description 4
- 238000007726 management method Methods 0.000 description 4
- 239000012141 concentrate Substances 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 238000013523 data management Methods 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 2
- 238000007667 floating Methods 0.000 description 2
- 239000012634 fragment Substances 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012827 research and development Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000003542 behavioural effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 238000009533 lab test Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 230000006798 recombination Effects 0.000 description 1
- 238000005215 recombination Methods 0.000 description 1
- 230000008521 reorganization Effects 0.000 description 1
- 230000033764 rhythmic process Effects 0.000 description 1
Images
Landscapes
- Image Processing (AREA)
Abstract
本发明公开了一种基于多重并行的数据通用处理方法,包括:(1)将进行数据处理的应用程序划分成若干执行行为;(2)根据执行行为对数据的基本操作类型,将所有的执行行为划分成若干个任务;(3)将应用程序需要处理的数据分为静态数据和动态数据;(4)在GPU上运行计算型任务,在CPU上运行逻辑判断型任务,直至完成应用程序的执行。本发明数据处理方法针对具有动态特征执行行为和不规则数据结构的复杂算法做了专门的优化,能够在数据处理时根据存储局部性原则和SIMD操作机制对数据进行动态管理使应用程序进行数据处理时能够最大限度地有效使用硬件的计算资源和存储资源。
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上运行逻辑判断型任务,本发明采用基于管道并行、数据并行、任务并行的多重并行执行方式,完成应用程序的执行。
管道是一种生产者—消费者执行模式,适合绝大多数应用程序的计算流程,而且管道通过数据重组可以有效地平衡工作负载,避免某一单元可能出现过多输出而使整个计算流程负载不均;数据并行执行模型正如当前主流的编程模型一样,如CUDA(Compute Unified Device Architecture),对大规模的整齐同构的数据集可以充分利用硬件SIMD特性,隐藏访存延迟;任务执行模型是一种可扩展的执行模式,可以明确地表示出程序执行过程中各单元的相互依赖关系以及动态的执行行为。为了充分发挥异构多核架构的特点,合理地使用硬件资源,本发明采用管道并行数据处理模式,将涉及大量计算的应用程序执行管道运行在GPU上,而涉及大量逻辑判断的数据任务调度管道运行在CPU上,两种管道异步并行执行,数据任务调度管道要比应用程序执行管道提前运行。通过这种管道并行执行模式,既可以保证计算的独立性和并行性,也可以避免使用原子、锁等昂贵的同步操作。
在应用程序执行管道中,同一计算任务内部的执行行为以数据并行方式执行,而不同计算任务间的执行行为以任务并行的方式异步执行。
由于一些程序可能产生不可预测的数据量而造成整个执行管道负载不均衡的情况。数据并行的执行模式很可能使一个任务产生大量新的数据,很难同时对这些数据进行存储并使用它们,大量新的数据也可能迅速消耗掉有限的显存,而且由于这些数据的产生是随机的不可预测的,也增加了对数据管理的难度。因此,执行步骤(4)之前,判断所要执行的任务将产生的新数据的大小是否超出了当前存储池的剩余空间;一旦经判断超出了存储池的剩余空间,我们将对该任务需要处理的数据进行分组,使数据分批进行处理。这种方法将会大大降低一些涉及到海量数据的算法给***存储和带宽造成的负担,使显存中的数据都是正在计算的线程所需要的数据,从而进一步加强了线程的并行计算效率,提高了对硬件的有效使用能力。
由于在任务运行时,有可能出现不可预测的新任务,因此本发明采用基于优先级的动态调度,同时根据所调度的任务管理相应的数据转移。
对每一个任务(包括步骤(2)中的任务以及在任务运行时出现的新任务)都设置一个优先级状态,当新任务出现时,根据所有任务的优先级状态选择优先级高的任务依次运行。
衡量任务的优先级主要基于其所需数据在存储层次的位置、所需处理器的类型以及所需数据集的大小。以数据驱动的方式进行任务调度,根据已空闲处理器的类型和当前存储池中静态数据所对应的任务进行调度。具体来说,按优先级由高到低的顺序结合以下几条原则:
(1)任务的执行不需要静态数据;
(2)所需数据在cache里;
(3)优先处理具备充分相似性数据的任务,或者产生的数据可以协
助其它任务提高执行的优先级,或者多个任务的执行具有相似性。
(4)所需数据在GPU显存;
(5)所需数据在CPU内存;
(6)所需数据正在由硬盘传输到内存;
(7)所需数据集太小而无法充分利用硬件计算能力。
本发明方法的实施基于更成熟的异构多核架构,比如NVIDIA公司最新推出的Fermi架构,或者Inter公司即将推出的Larrabee架构等,这些架构一般均具有超过1TFLOPS的浮点运算能力,超过20的多核处理器,上百的硬件线程以及复杂的存储层次结构。
本发明数据处理方法针对具有动态特征执行行为和不规则数据结构的复杂算法做了专门的优化,能够在数据处理时根据存储局部性原则和SIMD操作机制对数据进行动态管理使应用程序进行数据处理时能够最大限度地有效使用硬件的计算资源和存储资源。利用本发明方法可以迅速而便捷的开发出高性能的并行执行的应用程序,这无疑将会大大加快程序开发的进度和效率,节省研发费用。
附图说明
图1为CUDA及本发明模型随着场景复杂度递增所表现出的性能分析。
具体实施方式
选择一台配有一颗Intel Xeon 3.7GHz的4核CPU,一颗NvidiaGTX285(1G显存)的PC来验证本发明的可行性。基于PTX指令集实现了一套基于上述方法实现的编程接口,并按照本发明所提出的方法去重新设计和编写图形学中具有大量动态不规则性行为的光线跟踪算法,并与使用Nvidia公司的CUDA编程模型编写的代码所得到的效果作对比,并做了如下分析。
将应用程序划分成若干计算任务,为了满足硬件的SIMD/SIMT操作和局部访存特性,我们使具有相似执行行为或者相似访存行为的计算封装在一个计算任务内以进行有效的处理,每个计算任务尽可能的短小而功能单一,计算任务间根据具体的情况可以并行执行,也可串行执行。计算任务内部以数据并行方式计算,而计算任务间以任务并行方式异步计算。每一个计算任务都设有一个状态,用以处理可能存在相互依赖关系的计算任务间的执行。
根据光线跟踪算法中计算任务的特点在应用程序执行管道中创建了6个计算任务,分别进行光线产生、遍历加速结构、面片相交、着色、阴影等计算任务,同时在数据任务调度管道中进行光线排序和光线包的创建。这些任务均具有较好的并行执行能力,即较宽的SIMD执行宽度,但是光线的递归特性使得SIMD有效使用率很可能随着递归的进行而剧烈下降。另外,我们在实现时使用延迟计算技术来进一步提高SIMD利用率,即如果着色任务经计算后无法产生足够的光线而形成一个完整的光线包,相交计算将被延迟直到完整的光线包已经形成;同样地,如果相交计算任务无法产生足够多的光线进行着色计算,着色计算也将被延迟。
将数据分为静态数据和动态数据,其中静态数据是指在应用程序执行过程中不会改变的数据,而动态数据是指在应用程序执行过程中产生的不断变化的新数据。在初始化时设置一个存储池,根据具体的应用程序为静态数据在显存中分配一定的空间,其余的空间为动态数据所占有。所有这些信息记录在一个配置文件里。
一些应用程序所需的静态数据大小可能超出了显存的大小,这样就可能在程序执行过程中动态的调度静态数据,而每次导入的数据大小不一定跟上一次完全一致,这样就可能在静态数据区域和动态数据区间产生碎片。为了避免碎片的产生而有效的使用显存,我们可以在显存中采用双向分配的方法,在存储池的低地址端存放静态数据,而在存储池的高地址端存放动态数据。
如上所述,为了充分发挥异构多核架构的特点,合理地使用硬件资源,本发明设计了应用程序执行管道与数据任务调度管道相结合的管道并行执行模式,将涉及大量计算的应用程序执行管道运行在GPU上,而涉及大量逻辑判断的数据任务调度管道运行在CPU上,两种管道异步并行执行,数据任务调度管道要比应用程序执行管道提前运行。通过这种管道并行执行模式,我们既可以保证计算的独立性和并行性,也可以避免使用原子、锁等昂贵的同步操作。
在实现时,本发明基于以下三点原则设计数据任务调度管道:①应尽可能地保持对静态数据的访问处在硬件存储层次中速度最快的一层(即cache、shared memory等),同时尽量延迟对数据的访问直到这种访问不可避免。②优先处理具备充分相似性数据的任务,或者产生的数据可以协助其它任务提高执行的优先级,或者多个任务的执行具有相似性。③以数据驱动的方式进行任务调度,根据已空闲处理器的类型和当前存储池中静态数据所对应的任务进行调度。
1)本发明设计了数据分析器来动态控制数据的使用,以解决一些程序可能产生不可预测的数据量而造成整个执行管道负载不均衡的情况。数据并行的执行模式很可能使一个计算任务产生大量新的数据,很难同时对这些数据进行存储并使用它们,大量新的数据也可能迅速消耗掉有限的显存,而且由于这些数据的产生是随机的不可预测的,也增加了对数据管理的难度。因此,本发明设置一个数据分析器,计算任务每一次执行之前,都要判断所将产生的新数据的大小是否超出了当前的剩余显存(具体的评估方法根据相应的应用而定);一旦经判断超出了剩余的显存容量,我们将对输入数据进行分组,使数据分批进行处理。我们的这种方法将会大大降低一些涉及到海量数据的算法给***存储和带宽造成的负担,使显存中的数据都是正在计算的线程所需要的数据,从而进一步加强了线程的并行计算效率,提高了对硬件的有效使用能力。
为每个计算任务都设立了一个数据缓存区,用于管理计算任务每次产生或者消耗的数据。由于在一些复杂算法中数据的产生和消耗是动态不规则的,为了满足局部相似性原则和SIMD操作特性,使计算尽量集中在局部数据集中进行,有必要对这些数据重新组织,保证计算可以继续在硬件上有效地进行。当前硬件强大的带宽能力以及CPU强大的逻辑处理能力使得数据动态重组操作是十分可行的。
2)设计了任务调度器来对不可预测的任务执行序列进行基于优先级的动态调度,同时根据所调度的任务管理相应的数据转移。我们采用按需调度的方法,当某一个处理器可用时,①设置一个信号量,锁住调度器;②扫描整个待执行任务序列,选择优先级最高的任务,并作标记;③对调度器解锁。
优先级的确定是我们这个调度器的核心部分。针对混合处理资源的特点,我们衡量任务的优先级主要基于其所需数据在存储层次的位置、所需处理器的类型以及所需数据集的大小。具体来说,按优先级由高到低的顺序结合以下几条原则:(1)任务的执行不需要静态数据;(2)所需数据在cache里;(3)优先处理具备充分相似性数据的任务,或者产生的数据可以协助其它任务提高执行的优先级,或者多个任务的执行具有相似性。(4)所需数据在GPU显存;(5)所需数据在CPU内存;(6)所需数据正在由硬盘传输到内存;(7)所需数据集太小而无法充分利用硬件计算能力。
选择具有不同几何复杂度的测试场景,Bunny,Fairy,BART Kitchen作为测试模型文件,
Fairy为动态场景并带有两次反射计算,绘制分辨率为1024*1024。我们分别使用了本发明方法和CUDA编程模型对这个场景进行测试,结果如表1所示,可见本发明方法相比CUDA来说,取得了更好的性能。管道并行机制通过合理地使用硬件计算资源和存储资源,根据处理核的平衡负载进行了基于优先级的任务调度。
表1
CUDA | 本发明方法 | |
Bunny | 9.3 | 11.1 |
Fairy | 4.3 | 5.6 |
BART Kitchen | 3.8 | 5.1 |
表1分别使用CUDA及本模型对场景Bunny,Fairy,BART Kitchen在1024*1024分辨率下每秒的绘制帧数。
为了验证本发明方法对硬件的并行使用能力,测试了标量处理器的利用率,其直接反映了我们对数据和任务的调度和组织方法能否最大限度地开发算法在硬件上的并行执行能力。注意,我们没有使用ALU的使用情况作为我们的测试标准,因为有些时候即便线程槽已被占用,但ALU也可能因为访存延迟或者SIMD的低利用率而未被完全使用。如表2所示,相比CUDA编程模型,本发明方法能够更加有效地使用GPU的计算资源。
表2
CUDA | 本发明方法 | |
Bunny | 90% | 90% |
Fairy | 72% | 85% |
BART Kitchen | 69% | 80% |
表2 CUDA及本模型的GPU利用率比较。
为了说明本发明方法能够针对不同复杂度的场景动态地组织数据和调度任务而不会出现负载不均衡的情况,图1可见CUDA编程模型当场景复杂度极度增加时会出现明显的负载不均横而使处理资源利用不佳的情况,最终导致性能的下降,而本发明方法则一直维持着较为稳定的性能。
Claims (6)
1.一种基于多重并行的数据通用处理方法,其特征在于,在具有GPU和CPU处理器的计算机中:
(1)将进行数据处理的应用程序划分成若干执行行为;
(2)根据执行行为对数据或者计算的相似性,将所有的执行行为划分成若干个任务;
(3)将应用程序需要处理的数据分为静态数据和动态数据,在可执行所述的应用程序的计算机显存中划分存储空间,在该存储空间中分别为静态数据和动态数据划分存储区域;
(4)分别在GPU和CPU上建立执行管道,根据对数据的处理方式,将步骤(2)中任务分为计算型任务和逻辑判断型任务,在GPU上运行计算型任务,在CPU上运行逻辑判断型任务,直至完成应用程序的执行,其中在GPU管道中,任务内部以数据并行的方式运行,任务之间以任务并行的方式运行。
2.根据权利要求1所述的数据通用处理方法,其特征在于,每个执行行为可以完成至少一个对数据的基本操作或者计算操作。
3.根据权利要求1所述的数据并行处理方法,其特征在于,所述的静态数据是在应用程序执行过程中不会改变的数据,所述的动态数据是在应用程序执行过程中产生的数据。
4.根据权利要求1所述的数据并行处理方法,其特征在于,分别在GPU和CPU上建立执行管道,根据对数据的处理方式,将任务分为计算型任务和逻辑判断型任务,在GPU上运行计算型任务,在CPU上运行逻辑判断型任务,两种管道并行执行。
5.根据权利要求1所述的数据并行处理方法,其特征在于,步骤(4)中,同一任务内部的执行行为以数据并行方式运行,而不同任务间执行行为以并行方式异步运行。
6.根据权利要求1所述的数据并行处理方法,其特征在于,对每一个任务都设置一个优先级状态,当新任务出现时,根据所有任务的优先级状态选择优先级高的任务依次运行。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010150549A CN101833438A (zh) | 2010-04-19 | 2010-04-19 | 一种基于多重并行的数据通用处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010150549A CN101833438A (zh) | 2010-04-19 | 2010-04-19 | 一种基于多重并行的数据通用处理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101833438A true CN101833438A (zh) | 2010-09-15 |
Family
ID=42717518
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010150549A Pending CN101833438A (zh) | 2010-04-19 | 2010-04-19 | 一种基于多重并行的数据通用处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101833438A (zh) |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102567084A (zh) * | 2010-12-31 | 2012-07-11 | 新奥特(北京)视频技术有限公司 | 一种多任务并行调度机制 |
CN103197976A (zh) * | 2013-04-11 | 2013-07-10 | 华为技术有限公司 | 异构***的任务处理方法及装置 |
CN104040500A (zh) * | 2011-11-15 | 2014-09-10 | 英特尔公司 | 基于线程相似性的调度线程执行 |
CN104102476A (zh) * | 2014-08-04 | 2014-10-15 | 浪潮(北京)电子信息产业有限公司 | 非规则流中高维数据流典型相关性并行计算方法及装置 |
CN104331271A (zh) * | 2014-11-18 | 2015-02-04 | 李桦 | 用于cfd的并行计算方法及*** |
CN104699461A (zh) * | 2013-12-10 | 2015-06-10 | Arm有限公司 | 在多线程数据处理装置上对线程调度进行配置 |
CN102567084B (zh) * | 2010-12-31 | 2016-12-14 | 新奥特(北京)视频技术有限公司 | 一种多任务并行调度机制 |
CN106537863A (zh) * | 2013-10-17 | 2017-03-22 | 马维尔国际贸易有限公司 | 网络设备中的处理并发性 |
CN106886503A (zh) * | 2017-02-08 | 2017-06-23 | 无锡十月中宸科技有限公司 | 异构***、数据处理方法及装置 |
CN106941522A (zh) * | 2017-03-13 | 2017-07-11 | 广州五舟科技股份有限公司 | 轻量级分布式计算平台及其数据处理方法 |
CN108595211A (zh) * | 2018-01-05 | 2018-09-28 | 百度在线网络技术(北京)有限公司 | 用于输出数据的方法和装置 |
CN110334049A (zh) * | 2019-07-02 | 2019-10-15 | 上海联影医疗科技有限公司 | 数据处理方法、装置、计算机设备及存储介质 |
CN110580527A (zh) * | 2018-06-08 | 2019-12-17 | 上海寒武纪信息科技有限公司 | 通用机器学习模型的生成方法、装置和存储介质 |
CN110688327A (zh) * | 2019-09-30 | 2020-01-14 | 百度在线网络技术(北京)有限公司 | 显存管理方法、装置、电子设备和计算机可读存储介质 |
US11726754B2 (en) | 2018-06-08 | 2023-08-15 | Shanghai Cambricon Information Technology Co., Ltd. | General machine learning model, and model file generation and parsing method |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1538296A (zh) * | 2003-02-18 | 2004-10-20 | 图形处理单元的多线程内核 | |
CN101091175A (zh) * | 2004-09-16 | 2007-12-19 | 辉达公司 | 负载均衡 |
CN101354780A (zh) * | 2007-07-26 | 2009-01-28 | Lg电子株式会社 | 图形数据处理设备和方法 |
CN101526934A (zh) * | 2009-04-21 | 2009-09-09 | 浪潮电子信息产业股份有限公司 | 一种gpu与cpu复合处理器的组建方法 |
-
2010
- 2010-04-19 CN CN201010150549A patent/CN101833438A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1538296A (zh) * | 2003-02-18 | 2004-10-20 | 图形处理单元的多线程内核 | |
CN101091175A (zh) * | 2004-09-16 | 2007-12-19 | 辉达公司 | 负载均衡 |
CN101354780A (zh) * | 2007-07-26 | 2009-01-28 | Lg电子株式会社 | 图形数据处理设备和方法 |
CN101526934A (zh) * | 2009-04-21 | 2009-09-09 | 浪潮电子信息产业股份有限公司 | 一种gpu与cpu复合处理器的组建方法 |
Non-Patent Citations (5)
Title |
---|
《计算机世界》 20100111 汤铭 处理器:期待丰收"大年" , * |
LEI WANG,等: "Task Scheduling of Parallel Processing in CPU-GPU Collaborative Environment", 《INTERNATIONAL CONFERENCE ON COMPUTER SCIENCE AND INFORMATION TECHNOLOGY 2008》 * |
未标注: "CPU+GPU:混合处理器提高内部性能连接效率", 《新电脑》 * |
汤铭: "处理器:期待丰收"大年"", 《计算机世界》 * |
钱悦: "图形处理器CUDA编程模型的应用研究", 《计算机与数字工程》 * |
Cited By (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102567084B (zh) * | 2010-12-31 | 2016-12-14 | 新奥特(北京)视频技术有限公司 | 一种多任务并行调度机制 |
CN102567084A (zh) * | 2010-12-31 | 2012-07-11 | 新奥特(北京)视频技术有限公司 | 一种多任务并行调度机制 |
CN104040500A (zh) * | 2011-11-15 | 2014-09-10 | 英特尔公司 | 基于线程相似性的调度线程执行 |
CN104040500B (zh) * | 2011-11-15 | 2018-03-30 | 英特尔公司 | 基于线程相似性的调度线程执行 |
CN103197976A (zh) * | 2013-04-11 | 2013-07-10 | 华为技术有限公司 | 异构***的任务处理方法及装置 |
CN106537863A (zh) * | 2013-10-17 | 2017-03-22 | 马维尔国际贸易有限公司 | 网络设备中的处理并发性 |
CN104699461A (zh) * | 2013-12-10 | 2015-06-10 | Arm有限公司 | 在多线程数据处理装置上对线程调度进行配置 |
CN104699461B (zh) * | 2013-12-10 | 2019-04-05 | Arm 有限公司 | 在多线程数据处理装置上对线程调度进行配置 |
US10733012B2 (en) | 2013-12-10 | 2020-08-04 | Arm Limited | Configuring thread scheduling on a multi-threaded data processing apparatus |
CN104102476A (zh) * | 2014-08-04 | 2014-10-15 | 浪潮(北京)电子信息产业有限公司 | 非规则流中高维数据流典型相关性并行计算方法及装置 |
CN104331271A (zh) * | 2014-11-18 | 2015-02-04 | 李桦 | 用于cfd的并行计算方法及*** |
CN106886503A (zh) * | 2017-02-08 | 2017-06-23 | 无锡十月中宸科技有限公司 | 异构***、数据处理方法及装置 |
CN106941522A (zh) * | 2017-03-13 | 2017-07-11 | 广州五舟科技股份有限公司 | 轻量级分布式计算平台及其数据处理方法 |
CN106941522B (zh) * | 2017-03-13 | 2019-12-10 | 广州五舟科技股份有限公司 | 轻量级分布式计算平台及其数据处理方法 |
CN108595211A (zh) * | 2018-01-05 | 2018-09-28 | 百度在线网络技术(北京)有限公司 | 用于输出数据的方法和装置 |
CN108595211B (zh) * | 2018-01-05 | 2021-11-26 | 百度在线网络技术(北京)有限公司 | 用于输出数据的方法和装置 |
CN110580527B (zh) * | 2018-06-08 | 2022-12-02 | 上海寒武纪信息科技有限公司 | 通用机器学习模型的生成方法、装置和存储介质 |
CN110580527A (zh) * | 2018-06-08 | 2019-12-17 | 上海寒武纪信息科技有限公司 | 通用机器学习模型的生成方法、装置和存储介质 |
US11726754B2 (en) | 2018-06-08 | 2023-08-15 | Shanghai Cambricon Information Technology Co., Ltd. | General machine learning model, and model file generation and parsing method |
CN110334049A (zh) * | 2019-07-02 | 2019-10-15 | 上海联影医疗科技有限公司 | 数据处理方法、装置、计算机设备及存储介质 |
CN110688327A (zh) * | 2019-09-30 | 2020-01-14 | 百度在线网络技术(北京)有限公司 | 显存管理方法、装置、电子设备和计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101833438A (zh) | 一种基于多重并行的数据通用处理方法 | |
CN102902512B (zh) | 一种基于多线程编程及消息队列的多线程并行处理方法 | |
Wu et al. | Optimizing data warehousing applications for GPUs using kernel fusion/fission | |
US8990827B2 (en) | Optimizing data warehousing applications for GPUs using dynamic stream scheduling and dispatch of fused and split kernels | |
CN103279445A (zh) | 运算任务的计算方法及超算*** | |
Li et al. | Performance modeling in CUDA streams—A means for high-throughput data processing | |
CN101777007B (zh) | 片上多核处理器的并行功能仿真***及其方法 | |
CN105487838A (zh) | 一种动态可重构处理器的任务级并行调度方法与*** | |
CN102193830A (zh) | 面向众核环境的分治映射/归约并行编程模型 | |
CN102981807A (zh) | 一种基于cuda并行环境的gpu程序优化方法 | |
CN101655828B (zh) | 基于任务数据流驱动的高效能超级计算***的设计方法 | |
CN105468439A (zh) | 在cpu-gpu异构框架下遍历固定半径内邻居的自适应并行算法 | |
Xin et al. | An implementation of GPU accelerated MapReduce: Using Hadoop with OpenCL for data-and compute-intensive jobs | |
CN110297661A (zh) | 基于amp构架dsp操作***的并行计算方法、***及介质 | |
CN101840329A (zh) | 一种基于图拓扑结构的数据并行处理方法 | |
Zhang et al. | Comparison and analysis of GPGPU and parallel computing on multi-core CPU | |
Żurek et al. | The comparison of parallel sorting algorithms implemented on different hardware platforms | |
Wang et al. | Task scheduling of parallel processing in CPU-GPU collaborative environment | |
CN103810041A (zh) | 一种支持动态伸缩的并行计算的方法 | |
Du et al. | Feature-aware task scheduling on CPU-FPGA heterogeneous platforms | |
CN112559032B (zh) | 基于循环段的众核程序重构方法 | |
Chen et al. | Integrated research of parallel computing: Status and future | |
CN111177979A (zh) | 一种基于OpenMP对流体动力学软件GASFLOW的优化方法 | |
CN103294639A (zh) | 一种实现大规模计算的cpu+mic混合异构集群*** | |
Liu et al. | A-MapCG: an adaptive MapReduce framework for GPUs |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C53 | Correction of patent of invention or patent application | ||
CB03 | Change of inventor or designer information |
Inventor after: Xu Duanqing Inventor after: Yang Xin Inventor after: Zhao Lei Inventor after: Fang Yingming Inventor before: Xu Duanqing Inventor before: Yang Xin Inventor before: Zhao Lei |
|
COR | Change of bibliographic data |
Free format text: CORRECT: INVENTOR; FROM: XU DUANQING YANG XIN ZHAO LEI TO: XU DUANQING YANG XIN ZHAO LEI FANG YINGMING |
|
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20100915 |