CN105975434B - 面向异构系统的数据传输优化方法 - Google Patents

面向异构系统的数据传输优化方法 Download PDF

Info

Publication number
CN105975434B
CN105975434B CN201610283304.2A CN201610283304A CN105975434B CN 105975434 B CN105975434 B CN 105975434B CN 201610283304 A CN201610283304 A CN 201610283304A CN 105975434 B CN105975434 B CN 105975434B
Authority
CN
China
Prior art keywords
data
task
processor
data set
turns
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.)
Active
Application number
CN201610283304.2A
Other languages
English (en)
Other versions
CN105975434A (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.)
National University of Defense Technology
Original Assignee
National University of Defense Technology
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 National University of Defense Technology filed Critical National University of Defense Technology
Priority to CN201610283304.2A priority Critical patent/CN105975434B/zh
Publication of CN105975434A publication Critical patent/CN105975434A/zh
Application granted granted Critical
Publication of CN105975434B publication Critical patent/CN105975434B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17337Direct connection machines, e.g. completely connected computers, point to point communication networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种面向异构系统的数据传输优化方法,目的是减少数据传输量,提高异构系统数据传输效率和提升异构计算系统效率。技术方案是先定义工作流中的处理器集合C和整个工作流中的任务集T,然后收集工作流中任务处理需要的原始数据集合D,统计工作流中各任务与数据之间的关系,接着在任务运行过程生成中间数据集,最后确认任务运行需要传入的最小数据集。采用本发明可以将处理器之间需要传输的数据集最小化,缓解异构系统数据传输压力,提高异构系统的带宽利用率,提升异构计算系统效率。

Description

面向异构系统的数据传输优化方法
技术领域
本发明涉及数据传输优化方法,尤指面向异构计算系统的数据传输优化方法。
背景技术
异构计算系统是由主处理器和加速器两种不同体系结构处理器搭建的计算机系统。目前,主流的异构计算系统有CPU+GPU(Graphics Processing Units)和CPU+MIC(ManyIntegrated Core)组成异构计算系统。
通常,异构计算系统中主处理器与加速器之间通过PCIE(Peripheral ComponentInterface Express,外围器件扩展接口)通道以数据报文的形式完成数据传输和通信,加速器内部的全局通信必须在加速器全局存储空间中进行,基本通信模式如图1所示。
随着异构计算系统计算能力的不断攀升,相对滞后的数据通信能力逐渐成为异构计算系统性能进一步提升的瓶颈。如何避免主处理器和加速器之间频繁的数据通信、提高PCIE数据传输效率是异构计算系统高效协同及性能优化的关键。
目前,异构计算系统中主处理器与加速器之间的数据传输优化方法主要有以下几种:
(1)零拷贝。该方法指加速器端独立完成待处理数据集的生成和存储,避免数据在主处理器和加速器之间的来回传输。但是,该方法对加速器端的存储层次和存储空间容量要求高,并且加速器端支持的数据结构类型有限。因此,零拷贝方法虽然能够最小化主处理器与加速器之间的数据传输,但是适用范围受限。
(2)数据传输与数据计算重叠。该方法的核心思想为将主处理器与加速器之间的数据传输延迟隐藏于数据计算之中,可以显著提升异构计算系统的效率。该方法通常要求数据计算时间远大于数据传输时间,只有这样才能将数据传输时间很好的重叠与数据计算之中,才能提升异构计算系统效率。但是,该方法对数据传输操作并无优化,对于数据传输时间接近甚至超过数据计算时间的情形,该方法很难将数据传输重叠于数据计算之中。
上述两类异构计算系统中主处理器与加速器之间的数据传输优化方法在一定程度上,面向具体的大规模应用加速都可以提高异构计算的执行效率。但是,零拷贝方法应用范围十分有限;传输与数据计算重叠方法并没有减少数据传输量,甚至会造成不必要的数据传输,严重影响了异构系统的数据传输访问性能。
如何确认最小数据集的传输,解决异构系统数据传输效率低下的难题是本领域技术人员关注的重要技术问题。
发明内容
本发明要解决的技术问题在于:针对异构系统数据传输效率低下的问题,提出一种面向异构系统的数据传输优化方法,避免冗余数据传输,保证最小数据集的传输,减少数据传输量,以提高异构系统数据传输效率和提升异构计算系统效率。
为了解决上述技术问题,本发明的具体技术方案为:
第一步、定义工作流中的处理器集合C:C={c1,c2,…cj,…cN},其中,cj为第j个处理器,cj的属性cptj=core×f×simd,其中j=1,2,…,N,N为异构系统中处理器和加速器的总数,cptj表示处理器cj的处理能力大小,core为cj的核数,f为cj的主频,simd为cj的向量处理单元宽度。由于在工作流中的任务数量很多,任务被分派到处理器后,完成每个任务需要的处理时间与处理器的性能有关,该性能取决于参数cptj。由于用户可以根据自己需要申请数据的存储空间,所以不考虑处理器本地存储容量限制问题。
第二步、定义整个工作流中的任务集T={t1,t2,…ti,…,tM},其中,第i个任务ti=<runtimei,taskid>,runtimei为任务ti运行时间,taskid为执行任务ti所需的数据集,其中i=1,2,…M,M为工作流中任务的个数;
第三步、收集工作流中任务处理需要的原始数据集合D,具体步骤如下:
3.1初始化原始数据集合
3.2定义变量k=1,
3.3初始化任务tk的数据集
3.4通过IntelVtune性能分析工具收集tk运行所需要的数据,收集的数据d为四元组d=<size,T,c,link>,其中,size表示数据的大小,T为引用数据d的任务集合,c为d所在的处理器,link表示数据d相对于T中对应任务的传输方向,有两个值,若link为in,表示该数据为对应任务的输入数据,若link为out,表示该数据为对应任务的输出数据,将数据d加到集合Dk中;
3.5更新数据集D=D∪Dk,将Dk的元素添加到D;
3.6更新k=k+1;
3.7如果k≤M,转3.3,否则,原始数据收集完毕,得到原始数据集合D,转第四步;
第四步、统计工作流中各任务与数据之间的关系。具体方法如下:
4.1令第一任务集合变量ST=T,即将工作流中的任务集T={t1,t2,…ti,…,tM}赋值给ST
4.2令数据集合SD=D,将数据集合D赋值给集合SD
4.3定义变量i=1;
4.4任取ST中的一个元素,该任务用ti表示;
4.5定义任务ti所需的数据集
4.6定义变量j=0;
4.7任取SD中任意一个数据,该数据用dj表示;
4.8若任务ti需要引用数据dj,将数据dj加入任务ti所需的数据集daskti,即转4.9;否则,直接转4.9;
4.9更新SD=SD-{dj},从集合中删除元素dj
4.10若j=j+1,转4.7,否则,数据集合遍历完毕,转4.11;
4.11更新ST=ST-{ti};
4.12若i=i+1,转4.4,否则,任务集合遍历完毕,转第五步;
第五步、在任务运行过程中生成中间数据集。具体步骤如下:
5.1定义第二任务集合变量TT,令TT=T,即将工作流中的任务集T={t1,t2,…ti,…,tM}赋值给TT
5.2令变量p=1;
5.3任取TT中的一个元素,该任务用tp表示;
5.4定义任务tp生成的中间数据集
5.5采用Intel Vtune性能分析工具统计任务tp运行生成的中间数据,将中间数据放到集合
5.6更新数据集即令
5.7更新TT=TT-{tp};
5.8若p=p+1,转5.4,否则,任务集合遍历完毕,转第六步;
第六步、确认任务运行需要传入的最小数据集。具体步骤如下:
6.1定义第三任务集合变量TDT,令TDT=T,即将工作流中的任务集T={t1,t2,…ti,…,tM}赋值给TDT
6.2令变量q=1;
6.3任取任务集合TDT中的一个元素,该任务用tq表示;
6.4确认任务tq需要且已经位于tq所在处理器的数据集合和tq需要的数据集合具体方法如下:
6.4.1定义任务tq需要的数据
6.4.2定义任务tq需要且已经位于任务tq所在处理器的数据集合
6.4.3定义集合STD=D,将数据集合D赋值给集合STD
6.4.4令r=0;
6.4.5任取数据集合STD中一个数据,该数据用dr表示;
6.4.6若任务tq需要引用数据dr,进一步核查dr相对于任务tq的传输方向,转6.4.7,否则,任务tq不需要引用dr,转6.4.10;
6.4.7若数据dr相对于任务tq的传输方向为out,也就是说数据dr已经位于tq所在处理器,转6.4.8,否则,数据dr相对于任务tq的传输方向为in,仅将数据加入任务需要的数据集合,转6.4.9;
6.4.8将数据dr加入tq需要且已经位于tq所在处理器的数据集合
6.4.9将该数据加入tq需要的数据集合
6.4.10STD=STD-{dr};
6.4.11若r=r+1,转6.4.5,否则,tq需要且已经位于tq所在处理器的数据核实遍历完毕,得到tq需要且已经位于tq所在处理器的数据集合和tq需要的数据集合转6.5;
6.5确认由除tq之外的任务产生但位于tq所在处理器的中间数据集具体方法如下:
6.5.1令由除tq之外任务产生但位于tq所在处理器的中间数据集
6.5.2定义第四集合变量TDOT,TDOT=T,即将工作流中的任务集T={t1,t2,…ti,…,tM}赋值给TDOT
6.5.3令s=1;
6.5.4任取任务集合TDOT中的一个元素,该任务用ts表示;
6.5.5若ts≠tq,即任取的任务不是tq,转6.5.6,否则,转6.5.8;
6.5.6定义由ts生成的中间数据集合
6.5.7将ts生成的中间数据集加入
6.5.8TDOT=TDOT-{ts},从TDOT中删除ts
6.5.9选出由除tq之外任务产生但位于任务tq所在处理器的中间数据集合;
6.5.10若s=s+1,转6.5.4,否则,转6.6;
6.6计算tq需要传入的最小数据集具体方法如下:
6.6.1定义tq需要传入的最小数据集合
6.6.2即tq最小传输数据集为tq需要的数据集减去tq需要并且已经位于tq所在处理器的数据集再减去tq需要但由除tq之外任务产生且位于tq所在处理器的中间数据集合
6.6.3 TDT=TDT-{tq},从任务集合中删除tq
6.6.4若q=q+1,转6.3;否则,转第七步;
第七步、结束。
采用本发明可以达到以下技术效果:
1.第六步将处理器之间需要传输的数据集最小化,缓解了异构系统数据传输压力,提高了面向异构系统的数据传输效率;
2.由于数据传输效率的提高,提高了异构系统的带宽利用率,并且加快了面向异构系统的应用程序运行速度,提升了异构计算系统效率。
附图说明
图1为基于PCIE通信模式的异构计算系统体系结构。
图2为本发明面向异构计算系统的数据传输优化方法总体流程图。
具体实施方式
图1为基于PCIE通信模式的由主处理器CPU和加速器(如DSP、GPU、MIC)组成的异构计算系统体系结构示意图,其中,主处理器端拥有内存,加速器端拥有全局存储空间;主处理器与加速器之间通过PCIE总线进行通信和数据传输。
图2为本发明的总体流程图,其具体实施步骤如下:
第一步、定义工作流中的处理器集合C:C={c1,c2,…cj,…cN},其中,cj为第j个处理器,cj的属性cptj=core×f×simd,其中j=1,2,…,N,N为异构系统中处理器和加速器的总数,cptj表示处理器cj的处理能力大小,core为cj的核数,f为cj的主频,simd为cj的向量处理单元宽度。
第二步、定义整个工作流中的任务集T={t1,t2,…ti,…,tM},其中,第i个任务ti=<runtimei,taskid>,runtimei为任务ti运行时间,taskid为执行任务ti所需的数据集,其中i=1,2,…M,M为工作流中任务的个数;
第三步、收集工作流中任务处理需要的原始数据集合D,具体步骤如下:
3.1初始化原始数据集合
3.2定义变量k=1,
3.3初始化任务tk的数据集
3.4通过IntelVtune性能分析工具收集tk运行所需要的数据,收集的数据d为四元组d=<size,T,c,link>,其中,size表示数据的大小,T为引用数据d的任务集合,c为d所在的处理器,link表示数据d相对于T中对应任务的传输方向,有两个值,若link为in,表示该数据为对应任务的输入数据,若link为out,表示该数据为对应任务的输出数据,将数据d加到集合Dk中;
3.5更新数据集D=D∪Dk,将Dk的元素添加到D;
3.6更新k=k+1;
3.7如果k≤M,转3.3,否则,原始数据收集完毕,得到原始数据集合D,转第四步;
第四步、统计工作流中各任务与数据之间的关系。具体方法如下:
4.1令第一任务集合变量ST=T,即将工作流中的任务集T={t1,t2,…ti,…,tM}赋值给ST
4.2令数据集合SD=D,将数据集合D赋值给集合SD
4.3定义变量i=1;
4.4任取ST中的一个元素,该任务用ti表示;
4.5定义任务ti所需的数据集
4.6定义变量j=0;
4.7任取SD中任意一个数据,该数据用dj表示;
4.8若任务ti需要引用数据dj,将数据dj加入任务ti所需的数据集转4.9;否则,直接转4.9;
4.9更新SD=SD-{dj},从集合中删除元素dj
4.10若j=j+1,转4.7,否则,数据集合遍历完毕,转4.11;
4.11更新ST=ST-{ti};
4.12若i=i+1,转4.4,否则,任务集合遍历完毕,转第五步;
第五步、在任务运行过程中生成中间数据集。具体步骤如下:
5.1定义第二任务集合变量TT,令TT=T,即将工作流中的任务集T={t1,t2,…ti,…,tM}赋值给TT
5.2令变量p=1;
5.3任取TT中的一个元素,该任务用tp表示;
5.4定义任务tp生成的中间数据集
5.5采用Intel Vtune性能分析工具统计任务tp运行生成的中间数据,将中间数据放到集合
5.6更新数据集即令
5.7更新TT=TT-{tp};
5.8若p=p+1,转5.4,否则,任务集合遍历完毕,转第六步;
第六步、确认任务运行需要传入的最小数据集。具体步骤如下:
6.1定义第三任务集合变量TDT,令TDT=T,即将工作流中的任务集T={t1,t2,…ti,…,tM}赋值给TDT
6.2令变量q=1;
6.3任取任务集合TDT中的一个元素,该任务用tq表示;
6.4确认任务tq需要且已经位于tq所在处理器的数据集合和tq需要的数据集合具体方法如下:
6.4.1定义任务tq需要的数据
6.4.2定义任务tq需要且已经位于任务tq所在处理器的数据集合6.4.3定义集合STD=D,将数据集合D赋值给集合STD
6.4.4令r=0;
6.4.5任取数据集合STD中一个数据,该数据用dr表示;
6.4.6若任务tq需要引用数据dr,进一步核查dr相对于任务tq的传输方向,转6.4.7,否则,任务tq不需要引用dr,转6.4.10;
6.4.7若数据dr相对于任务tq的传输方向为out,也就是说数据dr已经位于tq所在处理器,转6.4.8,否则,数据dr相对于任务tq的传输方向为in,仅将数据加入任务需要的数据集合,转6.4.9;
6.4.8将数据dr加入tq需要且已经位于tq所在处理器的数据集合
6.4.9将该数据加入tq需要的数据集合
6.4.10 STD=STD-{dr};
6.4.11若r=r+1,转6.4.5,否则,tq需要且已经位于tq所在处理器的数据核实遍历完毕,得到tq需要且已经位于tq所在处理器的数据集合和tq需要的数据集合转6.5;
6.5确认由除tq之外的任务产生但位于tq所在处理器的中间数据集具体方法如下:
6.5.1令由除tq之外任务产生但位于tq所在处理器的中间数据集
6.5.2定义第四集合变量TDOT,TDOT=T,即将工作流中的任务集T={t1,t2,…ti,…,tM}赋值给TDOT
6.5.3令s=1;
6.5.4任取任务集合TDOT中的一个元素,该任务用ts表示;
6.5.5若ts≠tq,即任取的任务不是tq,转6.5.6,否则,转6.5.8;
6.5.6定义由ts生成的中间数据集合
6.5.7将ts生成的中间数据集加入
6.5.8TDOT=TDOT-{ts},从TDOT中删除ts
6.5.9选出由除tq之外任务产生但位于任务tq所在处理器的中间数据集合;
6.5.10若s=s+1,转6.5.4,否则,转6.6;
6.6计算tq需要传入的最小数据集具体方法如下:
6.6.1定义tq需要传入的最小数据集合
6.6.2即tq最小传输数据集为tq需要的数据集减去tq需要并且已经位于tq所在处理器的数据集再减去tq需要但由除tq之外任务产生且位于tq所在处理器的中间数据集合
6.6.3 TDT=TDT-{tq},从任务集合中删除tq
6.6.4若q=q+1,转6.3;否则,转第七步;
第七步、结束。

Claims (3)

1.一种面向异构系统的数据传输优化方法,其特征在于包括以下步骤:
第一步、定义工作流中的处理器集合C:C={c1,c2,…cj,…cN},其中,cj为第j个处理器,cj的属性cptj=core×f×simd,其中j=1,2,…,N,N为异构系统中处理器和加速器的总数,cptj表示处理器cj的处理能力大小,core为cj的核数,f为cj的主频,simd为cj的向量处理单元宽度;
第二步、定义整个工作流中的任务集T={t1,t2,…ti,…,tM},其中,第i个任务ti=<runtimei,taskid>,runtimei为任务ti运行时间,taskid为执行任务ti所需的数据集,其中i=1,2,…M,M为工作流中任务的个数;
第三步、收集工作流中任务处理需要的原始数据集合D,D中存放的数据d为四元组,d=<size,T,c,link>,其中,size表示数据的大小,T为引用数据d的任务集合,c为d所在的处理器,link表示数据d相对于T中对应任务的传输方向,有两个值,若link为in,表示该数据为对应任务的输入数据,若link为out,表示该数据为对应任务的输出数据;
第四步、统计工作流中各任务与数据之间的关系,具体方法如下:
4.1 令第一任务集合变量ST=T;
4.2 令数据集合SD=D;
4.3 定义变量i=1;
4.4 任取ST中的一个元素,该任务用ti表示;
4.5 定义任务ti所需的数据集
4.6 定义变量j=0;
4.7 任取SD中任意一个数据,该数据用dj表示;
4.8 若任务ti需要引用数据dj,将数据dj加入任务ti所需的数据集转4.9;否则,直接转4.9;
4.9 更新SD=SD-{dj},从集合中删除元素dj
4.10 若j=j+1,转4.7,否则,数据集合遍历完毕,转4.11;
4.11 更新ST=ST-{ti};
4.12 若i=i+1,转4.4,否则,任务集合遍历完毕,转第五步;
第五步、在任务运行过程中生成中间数据集,具体步骤如下:
5.1 定义第二任务集合变量TT,令TT=T;
5.2 令变量p=1;
5.3 任取TT中的一个元素,该任务用tp表示;
5.4 定义任务tp生成的中间数据集
5.5 采用Intel Vtune性能分析工具统计任务tp运行生成的中间数据,将中间数据放到集合
5.6 更新数据集即令
5.7 更新TT=TT-{tp};
5.8 若p=p+1,转5.4,否则,任务集合遍历完毕,转第六步;
第六步、确认任务运行需要传入的最小数据集,具体步骤如下:
6.1 定义第三任务集合变量TDT,令TDT=T;
6.2 令变量q=1;
6.3 任取任务集合TDT中的一个元素,该任务用tq表示;
6.4 确认任务tq需要且已经位于tq所在处理器的数据集合和tq需要的数据集合具体方法如下:
6.4.1 定义任务tq需要的数据
6.4.2 定义任务tq需要且已经位于任务tq所在处理器的数据集合
6.4.3 定义集合STD=D,将数据集合D赋值给集合STD
6.4.4 令r=0;
6.4.5 任取数据集合STD中一个数据,该数据用dr表示;
6.4.6 若任务tq需要引用数据dr,进一步核查dr相对于任务tq的传输方向,转6.4.7,否则,任务tq不需要引用dr,转6.4.10;
6.4.7 若数据dr相对于任务tq的传输方向为out,也就是说数据dr已经位于tq所在处理器,转6.4.8,否则,数据dr相对于任务tq的传输方向为in,仅将数据加入任务需要的数据集合,转6.4.9;
6.4.8 将数据dr加入tq需要且已经位于tq所在处理器的数据集合
6.4.9 将该数据加入tq需要的数据集合
6.4.10 STD=STD-{dr};
6.4.11 若r=r+1,转6.4.5,否则,tq需要且已经位于tq所在处理器的数据核实遍历完毕,得到tq需要且已经位于tq所在处理器的数据集合和tq需要的数据集合转6.5;
6.5 确认由除tq之外的任务产生但位于tq所在处理器的中间数据集
6.6 计算tq需要传输的最小数据集具体方法如下:
6.6.1 定义tq需要传输的最小数据集合
6.6.2 即tq最小传输数据集为tq需要的数据集减去tq需要并且已经位于tq所在处理器的数据集再减去tq需要但由除tq之外任务产生且位于tq所在处理器的中间数据集合
6.6.3 TDT=TDT-{tq},从任务集合中删除tq
6.6.4 若q=q+1,转6.3;否则,转第七步;
第七步、结束。
2.如权利要求1所述的一种面向异构系统的数据传输优化方法,其特征在于第三步所述收集工作流中任务处理需要的原始数据集合D的具体步骤如下:
3.1 初始化原始数据集合
3.2 定义变量k=1,
3.3 初始化任务tk的数据集
3.4 通过Intel Vtune性能分析工具收集tk运行所需要的数据d,将数据d加到集合Dk中;
3.5 更新数据集D=D∪Dk,将Dk的元素添加到D;
3.6 更新k=k+1;
3.7 如果k≤M,转3.3,否则,原始数据收集完毕,得到原始数据集合D。
3.如权利要求1所述的一种面向异构系统的数据传输优化方法,其特征在于第6.5步所述确认由除tq之外的任务产生但位于tq所在处理器的中间数据集的方法是:
6.5.1 令由除tq之外任务产生但位于tq所在处理器的中间数据集
6.5.2 定义第三集合变量TDOT,TDOT=T,即将工作流中的任务集T={t1,t2,…ti,…,tM}赋值给TDOT
6.5.3 令s=1;
6.5.4 任取任务集合TDOT中的一个元素,该任务用ts表示;
6.5.5 若ts≠tq,转6.5.6,否则,转6.5.8;
6.5.6 定义由ts生成的中间数据集合
6.5.7 将ts生成的中间数据集加入
6.5.8 TDOT=TDOT-{ts},从TDOT中删除ts
6.5.9 选出由除tq之外任务产生但位于任务tq所在处理器的中间数据集合;
6.5.10 若s=s+1,转6.5.4,否则,得到
CN201610283304.2A 2016-04-29 2016-04-29 面向异构系统的数据传输优化方法 Active CN105975434B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610283304.2A CN105975434B (zh) 2016-04-29 2016-04-29 面向异构系统的数据传输优化方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610283304.2A CN105975434B (zh) 2016-04-29 2016-04-29 面向异构系统的数据传输优化方法

Publications (2)

Publication Number Publication Date
CN105975434A CN105975434A (zh) 2016-09-28
CN105975434B true CN105975434B (zh) 2018-10-02

Family

ID=56994483

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610283304.2A Active CN105975434B (zh) 2016-04-29 2016-04-29 面向异构系统的数据传输优化方法

Country Status (1)

Country Link
CN (1) CN105975434B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108052482B (zh) * 2017-11-13 2020-05-19 华中科技大学 一种gpu间通信的方法及系统
CN111061547B (zh) * 2019-10-24 2023-04-11 中国科学院计算技术研究所 一种异构系统的任务调度方法及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102541804A (zh) * 2011-12-26 2012-07-04 中国人民解放军信息工程大学 一种异构系统中多gpu互连体系结构
CN104317754A (zh) * 2014-10-15 2015-01-28 中国人民解放军国防科学技术大学 面向异构计算系统的跨步数据传输优化方法
CN104317768A (zh) * 2014-10-15 2015-01-28 中国人民解放军国防科学技术大学 面向cpu+dsp异构系统的矩阵乘加速方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006026686A1 (en) * 2004-08-31 2006-03-09 Ascential Software Corporation User interfaces for data integration systems
US8689233B2 (en) * 2012-01-25 2014-04-01 International Business Machines Corporation Distributed function execution for hybrid systems

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102541804A (zh) * 2011-12-26 2012-07-04 中国人民解放军信息工程大学 一种异构系统中多gpu互连体系结构
CN104317754A (zh) * 2014-10-15 2015-01-28 中国人民解放军国防科学技术大学 面向异构计算系统的跨步数据传输优化方法
CN104317768A (zh) * 2014-10-15 2015-01-28 中国人民解放军国防科学技术大学 面向cpu+dsp异构系统的矩阵乘加速方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
Mark Joselli 等.Automatic Dynamic Task Distribution between CPU and GPU for Real-Time Systems.《2008 11th IEEE International Conference on Computational Science and Engineering》.2008,48-55. *
唐绍华 等.面向CPU+GPU异构计算系统的协助框架.《计算机工程与应用》.2014,1-8. *
李坤 等.分布式计算中基于A-star的工作流调度改进算法研究.《计算机工程与科学》.2013,第35卷(第3期),38-42. *
武凌 等.工作流管理系统中的数据流传输优化.《计算机工程与科学》.2011,第33卷(第7期),141-147. *

Also Published As

Publication number Publication date
CN105975434A (zh) 2016-09-28

Similar Documents

Publication Publication Date Title
CN104899182B (zh) 一种支持可变分块的矩阵乘加速方法
Ma et al. Garaph: Efficient {GPU-accelerated} Graph Processing on a Single Machine with Balanced Replication
CN104504143A (zh) 一种流图优化方法及其装置
CN106919763A (zh) 一种产品结构尺寸优化方法
WO2024016542A1 (zh) 信息融合方法、数据通信方法、装置及电子设备和非易失性可读存储介质
CN106407567B (zh) 一种rv减速器参数化设计建模方法
CN110287018A (zh) 批量任务编排方法及装置
CN105975434B (zh) 面向异构系统的数据传输优化方法
Zhou et al. Multi-GPU implementation of a 3D finite difference time domain earthquake code on heterogeneous supercomputers
CN113407352A (zh) 用于处理任务的方法、处理器、设备和可读存储介质
CN111625218B (zh) 一种自定义库开发的大数据处理方法及系统
CN105718601A (zh) 一种业务动态集成模型及其应用方法
CN103678632A (zh) 在数据系统中快速更新数据的系统及方法
Wu et al. Using hybrid MPI and OpenMP programming to optimize communications in parallel loop self-scheduling schemes for multicore PC clusters
CN115203126A (zh) 一种算子融合处理方法、装置、设备及存储介质
Ye et al. Hippie: A data-paralleled pipeline approach to improve memory-efficiency and scalability for large dnn training
CN108256182A (zh) 一种动态可重构fpga的布局方法
CN106776044A (zh) 硬件加速方法及系统、硬件加速器执行方法及系统
CN103942397A (zh) 基于幂函数的修形齿轮数字化建模方法
CN101393530A (zh) 基于超立方体结构的cmp任务分配方法
Mavriplis Viscous flow analysis using a parallel unstructured multigrid solver
Xu et al. Talos: A weighted speedup-aware device placement of deep learning models
CN103631659B (zh) 一种片上网络中面向通信能耗的调度优化方法
CN111652346A (zh) 一种基于分层优化范式的大规模图深度学习计算框架
CN110705872A (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
GR01 Patent grant
GR01 Patent grant