CN106886690A - 一种面向基因数据计算解读的异构平台 - Google Patents
一种面向基因数据计算解读的异构平台 Download PDFInfo
- Publication number
- CN106886690A CN106886690A CN201710055557.9A CN201710055557A CN106886690A CN 106886690 A CN106886690 A CN 106886690A CN 201710055557 A CN201710055557 A CN 201710055557A CN 106886690 A CN106886690 A CN 106886690A
- Authority
- CN
- China
- Prior art keywords
- data
- code segment
- gpu
- gene
- cpu
- 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
- 108090000623 proteins and genes Proteins 0.000 title claims abstract description 179
- 230000015654 memory Effects 0.000 claims abstract description 63
- 238000005265 energy consumption Methods 0.000 claims abstract description 18
- 238000011282 treatment Methods 0.000 claims description 40
- 230000003993 interaction Effects 0.000 claims description 32
- 238000012545 processing Methods 0.000 claims description 29
- 238000000034 method Methods 0.000 claims description 19
- 238000004364 calculation method Methods 0.000 claims description 18
- 238000004891 communication Methods 0.000 claims description 18
- 230000006870 function Effects 0.000 claims description 15
- 230000002093 peripheral effect Effects 0.000 claims description 13
- 230000001133 acceleration Effects 0.000 claims description 12
- 230000008901 benefit Effects 0.000 abstract description 4
- 238000004519 manufacturing process Methods 0.000 abstract description 4
- 241001269238 Data Species 0.000 description 18
- 238000005516 engineering process Methods 0.000 description 12
- 230000008569 process Effects 0.000 description 9
- 238000012163 sequencing technique Methods 0.000 description 8
- 238000013461 design Methods 0.000 description 6
- 238000003860 storage Methods 0.000 description 6
- 101100498818 Arabidopsis thaliana DDR4 gene Proteins 0.000 description 4
- 238000011161 development Methods 0.000 description 4
- 230000018109 developmental process Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000007774 longterm Effects 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 239000007787 solid Substances 0.000 description 3
- 241000894007 species Species 0.000 description 3
- RTZKZFJDLAIYFH-UHFFFAOYSA-N Diethyl ether Chemical compound CCOCC RTZKZFJDLAIYFH-UHFFFAOYSA-N 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 239000000306 component Substances 0.000 description 2
- 230000004927 fusion Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 238000012070 whole genome sequencing analysis Methods 0.000 description 2
- PEDCQBHIVMGVHV-UHFFFAOYSA-N Glycerine Chemical compound OCC(O)CO PEDCQBHIVMGVHV-UHFFFAOYSA-N 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000036760 body temperature Effects 0.000 description 1
- 230000019771 cognition Effects 0.000 description 1
- 238000004040 coloring Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 239000008358 core component Substances 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 230000008571 general function Effects 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000008821 health effect Effects 0.000 description 1
- 238000009532 heart rate measurement Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000004513 sizing Methods 0.000 description 1
- 239000004575 stone Substances 0.000 description 1
- 230000033772 system development Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16B—BIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
- G16B50/00—ICT programming tools or database systems specially adapted for bioinformatics
-
- 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16B—BIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
- G16B30/00—ICT specially adapted for sequence analysis involving nucleotides or amino acids
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Evolutionary Biology (AREA)
- Spectroscopy & Molecular Physics (AREA)
- Medical Informatics (AREA)
- General Health & Medical Sciences (AREA)
- Biophysics (AREA)
- Software Systems (AREA)
- Biotechnology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- General Engineering & Computer Science (AREA)
- Proteomics, Peptides & Aminoacids (AREA)
- Analytical Chemistry (AREA)
- Chemical & Material Sciences (AREA)
- General Physics & Mathematics (AREA)
- Bioethics (AREA)
- Databases & Information Systems (AREA)
- Apparatus Associated With Microorganisms And Enzymes (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种面向基因数据计算解读的异构平台,包括异构处理器单元、互联总线模块、内存、基因计算解读数据指令输入单元和基因计算解读结果输出单元,所述异构处理器单元分别通过互联总线模块与内存、基因计算解读数据指令输入单元、基因计算解读结果输出单元相连,所述异构处理器单元包括CPU、GPU、DSP和FPGA,其中CPU构成控制引擎,CPU、GPU、FPGA三者构成计算引擎,CPU、GPU、DSP三者构成解读引擎。本发明能够为提高基因数据计算的实时性和准确性、提高基因数据解读的精准性和可读性提供硬件支持,具有基因数据计算解读效率高、制造成本低、计算解读能耗低的优点。
Description
技术领域
本发明涉及基因测序技术,具体涉及一种面向基因数据计算解读的异构平台。
背景技术
最近几年,随着下一代测序技术(Next Generation Sequence, 以下简称NGS)的广泛应用,基因测序的成本迅速下降,基因技术开始进入普及应用。NGS包括基因数据计算和基因数据解读两个步骤,其中基因数据计算是指对原始的基因测序数据进行去伪、去重等预处理,以便基因数据解读时使用,基因数据解读是指对基因数据计算处理后的基因数据在生物学、医学、健康保健等领域的科学含义进行分析、揭示和解释。
基因技术临床应用发展存在两个方面的瓶颈:一个制约基因技术临床应用发展的瓶颈是基因数据的海量性。基于技术的原因,NGS生成的原始基因数据的单样本数据量非常大,比如全基因组(Whole-Genome Sequencing, WGS)的单样本数据达100G以上,因此基因单样本数据的计算就已经是高输入/输出密集和高计算密集型任务;再加上基因技术的快速普及,导致测序生成的原始基因数据的总量成指数增长。所以,对基因数据进行实时的、准确的计算和传送变得非常困难,面临着巨大的挑战。为此,目前典型的方法是在拥有数量更多、性能更强的高性能处理器的计算机集群上,运用基于多线程技术的软件进行处理。但是,这种***的缺点是:一方面,它在存储、功耗、技术支持和维护上的成本高;另一方面,在保证准确性的前提下,它能获得的并行计算加速性能仍然难以满足上述挑战的需求;更主要的是,测序生成的原始基因数据的增加已经远超摩尔定律,所以,这种方法已经缺乏持续性。另一个制约基因技术临床应用发展的瓶颈是基因数据解读的精确性和可读性。目前基因数据解读的典型方法是基于一个人类参考基因,用测序生成并经基因数据计算处理后的基因数据,重构出某人的基因。然而,当前使用的参考基因,例如GRCh38,是基于有限的样本,既不足以代表整个人类的多样性,又不完备,在探测个体基因里的独特变异时,标准的基因信息学流程会导致偏差,而且缺乏与其它生物、医学信息的深度交叉分析。此外,基因数据解读还基本停留在专业领域,面向非专业的大众,缺乏可读性,即缺乏对基因数据直接的生物意义和间接的健康影响的通俗易懂、形式多样的解读。
目前,计算机***中常见的处理器类型有中央处理器(Central ProcessingUnit, 简称CPU)、现场可编程门阵列(Field Programmable Gate Array, 简称FPGA)、图形处理器(Graphics Processing Unit, 简称 GPU)和数字信号处理器(Digital SignalProcessor, 简称DSP)。目前的高性能CPU通常都包括多个处理器核(Processor Core),从硬件上支持多线程,但是其设计目标还是面向通用应用程序,而相对于特殊的计算,通用应用程序的并行性较小,需要较复杂的控制和较低的性能目标。因此,CPU片上的硬件资源主要还是用于实现复杂的控制而不是计算,没有为特殊功能包含专门的硬件,能够支持的计算并行度不高。FPGA是一种半定制电路,优点有:基于FPGA进行***开发,设计周期短、开发费用低;功耗低;生产后可重新修改配置,设计灵活性高,设计风险小。缺点是:实现同样的功能,FPGA一般来说比专用集成电路(Application Specific Integrated Circuit,ASIC)的速度要慢,比ASIC电路面积要大。随着技术的发展和演进,FPGA向更高密度、更大容量、更低功耗和集成更多硬核知识产权(Intellectual Property, IP)的方向发展,FPGA的缺点在缩小,而优点在放大。相比于CPU,FPGA可以用硬件描述语言来定制实现、修改和增加并行计算。GPU最初是一种专门用于图像处理的微处理器,能够从硬件上支持纹理映射和多边形着色等图形计算基本任务。由于图形学计算涉及一些通用数学计算,比如矩阵和向量运算,而GPU拥有高度并行化的架构,因此,随着相关软硬件技术的发展,GPU计算技术日益兴起,即GPU不再局限于图形处理,还被开发用于线性代数、信号处理、数值仿真等并行计算,可以提供数十倍乃至于上百倍于CPU的性能。但是目前的GPU存在2个问题:一是,受限于GPU的硬件结构特性,很多并行算法不能在GPU上有效地执行;二是,GPU运行中会产生大量热量,能耗较高。DSP是一种用数字方法对各种信号进行快速分析、变换、滤波、检测、调制、解调等运算处理的微处理器。为此,DSP在芯片内部结构上做了特殊的优化,比如硬件实现高速、高精度的乘法等。随着数字时代的到来,DSP广泛应用于智能设备、资源勘探、数字控制、生物医学、航天航空等各个领域,具有功耗低、精度高、可进行二维与多维处理等特点。综上所述,以上四种计算器件各有特点,又各有局限性。但是,针对前述基因技术临床应用发展存在的两个方面的瓶颈,如何利用上述处理器来构建混合架构平台以实现海量基因数据的计算解读,则已经成为一项亟待解决的关键技术问题。
发明内容
本发明要解决的技术问题:针对现有技术的上述问题,提供一种能够为提高基因数据计算的实时性和准确性、提高基因数据解读的精准性和可读性提供硬件支持,基因数据计算解读效率高、制造成本低、计算解读能耗低的面向基因数据计算解读的异构平台。
为了解决上述技术问题,本发明采用的技术方案为:
一种面向基因数据计算解读的异构平台,包括异构处理器单元、互联总线模块、内存、基因计算解读数据指令输入单元和基因计算解读结果输出单元,所述异构处理器单元分别通过互联总线模块与内存、基因计算解读数据指令输入单元、基因计算解读结果输出单元相连,所述异构处理器单元包括CPU、GPU、DSP和FPGA,其中CPU构成控制引擎,所述CPU、GPU、FPGA三者构成计算引擎,所述CPU、GPU、DSP三者构成解读引擎,所述控制引擎在通过基因计算解读数据指令输入单元接收基因计算解读数据指令并分割为代码段,当代码段的任务类型为控制任务时,将代码段的指令和数据调度CPU进行处理;当代码段的任务类型为计算任务时,将代码段的指令和数据调度计算引擎进行处理并将计算结果通过基因计算解读结果输出单元输出;当代码段的任务类型为解读任务时,将代码段的指令和数据调度解读引擎进行处理并将计算结果通过基因计算解读结果输出单元输出。
优选地,所述FPGA包括交叉开关、IO控制单元和加速器单元,所述IO控制单元、加速器单元分别和交叉开关相连,所述加速器单元包括用于实现隐马尔可夫模型计算硬件加速的隐马尔可夫模型计算加速器、用于实现哈希计算硬件加速的哈希函数计算加速器两者中的至少一种,所述IO控制单元与互联总线模块相连。
优选地,所述IO控制单元包括PCIE接口、DMA控制器、PIU***接口部件和DDR控制器,所述交叉开关分别与DMA控制器、PIU***接口部件和DDR控制器相连,所述DMA控制器、PIU***接口部件之间相互连接,所述PCIE接口与DMA控制器相连,所述PCIE接口、DDR控制器分别与互联总线模块相连。
优选地,所述互联总线模块包括HCCLink总线模块和HNCLink总线模块,所述CPU、GPU、DSP和FPGA分别通过HCCLink总线模块和内存相连,且所述CPU、GPU、DSP和FPGA分别通过HNCLink总线模块和基因计算解读数据指令输入单元以及基因计算解读结果输出单元相连。
优选地,所述基因计算解读数据指令输入单元包括输入设备、通用接口模块、网络接口模块、多媒体输入接口模块、外部存储设备、传感器中的至少一种。
优选地,所述基因计算解读结果输出单元包括显示设备、通用接口模块、网络接口模块、多媒体输出接口模块、外部存储设备中的至少一种。
优选地,所述将代码段的指令和数据调度计算引擎进行处理的详细步骤包括:
A1)分别判断代码段是否能进行指令并行执行,是否能进行流水线执行,是否能进行数据并行执行,如果三者均不能,则跳转执行步骤A7),退出;否则,跳转执行步骤A2);
A2)判断代码段是否只能进行数据并行执行,如果只能进行数据并行执行,则跳转执行步骤A3);否则,跳转执行步骤A6);
A3)判断代码段分派到FPGA上优化执行(即并行执行,下同)的总开销少于代码段分派到GPU上优化执行的总开销是否成立,所述代码段分派到FPGA上优化执行的总开销包括CPU和FPGA之间交互数据和指令产生的通信开销、FPGA的访存开销以及FPGA的计算开销,所述代码段分派到GPU上优化执行的总开销包括CPU和GPU之间交互数据和指令产生的通信开销、GPU的访存开销以及GPU的计算开销,如果成立则跳转执行步骤A6);否则,跳转执行步骤A4);
A4)判断代码段是否是能耗优先,如果是能耗优先,则跳转执行步骤A6);否则,跳转执行步骤A5);
A5)判断代码段的基因计算是否适合GPU加速处理,如果适合GPU加速处理,则跳转执行步骤A8);否则,跳转执行步骤A7);
A6)综合利用FPGA所有可能的加速方法,所述加速方法包括指令并行、流水线、数据并行中的至少一种,判断代码段分派到FPGA上并且优化执行的总开销少于代码段在CPU上执行的总开销是否成立,如果成立,则跳转执行步骤A9),否则,跳转执行步骤A7);
A7)将代码段的指令和数据调度CPU处理,退出;
A8)将代码段的指令和数据调度GPU处理,退出;
A9)将代码段的指令和数据调度FPGA处理,退出。
优选地,步骤A5)的详细步骤包括:
A5.1)判断代码段的基因计算是否能进行数据并行执行,如果能进行数据并行执行,则跳转执行步骤A5.2);否则,跳转执行步骤A7);
A5.2)判断代码段分派到GPU上优化执行的总开销少于代码段在CPU上执行的总开销是否成立,所述代码段分派到GPU上优化执行的总开销包括CPU和GPU之间交互数据和指令产生的通信开销、GPU的访存开销以及GPU的计算开销,所述代码段在CPU上执行的总开销包括CPU的访存开销以及CPU的计算开销,如果成立则跳转执行步骤A8);否则,跳转执行步骤A7)。
优选地,所述将代码段的指令和数据调度解读引擎进行处理的详细步骤包括:
B1)分别判断代码段是否为数字信号处理,是否为非图形图像类多媒体处理,是否为图形图像处理,如果三者都不是,则跳转执行步骤B7);否则,跳转执行步骤B2);
B2)判断代码段是否为图形图像处理,如果是图形图像处理,则跳转执行步骤B3);否则,跳转执行步骤B5);
B3)判断代码段分派到DSP上并且优化执行的总开销少于代码段分派到GPU上并且优化执行的总开销是否成立,所述代码段分派到DSP上并且优化执行的总开销包括CPU和DSP之间交互数据和指令产生的通信开销、DSP的访存开销以及DSP的计算开销,所述代码段分派到GPU上并且优化执行的总开销包括CPU和GPU之间交互数据和指令产生的通信开销、GPU的访存开销以及GPU的计算开销,如果成立则跳转执行步骤B5);否则,跳转执行步骤B4);
B4)判断代码段是否是能耗优先,如果是能耗优先,则跳转执行步骤B5);否则,跳转执行步骤B7)
B5)判断代码段分派到DSP上并且优化执行的总开销少于代码段在CPU上执行的总开销是否成立,所述代码段在CPU上执行的总开销包括CPU的访存开销以及CPU的计算开销,如果成立则跳转执行步骤B6);否则,跳转执行步骤B8);
B6)将代码段的指令和数据调度DSP处理,退出;
B7)判断代码段的基因解读是否适合GPU加速处理,如果代码段的基因解读适合GPU加速处理,则将代码段的指令和数据调度GPU处理,退出;否则,跳转执行步骤B8);
B8)将代码段的指令和数据调度CPU处理,退出。
优选地,步骤B7)的详细步骤包括:
B7.1)判断代码段是否为图形图像处理,如果是图形图像处理,则跳转执行步骤B7.3);否则,跳转执行步骤B7.2);
B7.2)判断代码段是否能进行数据并行执行,如果能进行数据并行执行,则跳转执行步骤B7.3);否则,跳转执行步骤B8);
B7.3)判断代码段分派到GPU上并且优化执行的总开销少于代码段在CPU上执行的总开销是否成立,所述代码段分派到GPU上并且优化执行的总开销包括CPU和GPU之间交互数据和指令产生的通信开销、GPU的访存开销以及GPU的计算开销,所述代码段在CPU上执行的总开销包括CPU的访存开销以及CPU的计算开销,如果成立则跳转执行步骤B7.4);否则,跳转执行步骤B8);
B7.4)将代码段的指令和数据调度GPU处理,退出。
本发明面向基因数据计算解读的异构平台具有下述优点:
1、平台化,本发明的异构平台为基于CPU加FPGA、GPU和DSP的异构平台,能够让设计人员开发各种基因数据计算、基因数据解读和基因数据计算解读应用流程,无需重新设计硬件***;能够移植其它公开或商用基因数据计算、基因数据解读和基因数据计算解读应用软件,无需重新设计硬件***;能够用异构编程语言(如OpenCL)来实现整个异构平台应用开发的一致性。
2、可扩展性好,本发明的异构平台为基于CPU加FPGA、GPU和DSP的异构平台,能够根据应用需求的不同和变化,灵活地扩展和重构。
3、应用广泛,本发明的异构平台为基于CPU加FPGA、GPU和DSP的异构平台,既能够作为本地基因数据计算、基因数据解读和基因数据计算解读的处理设备,又能够作为集群或云计算环境下基因数据计算、基因数据解读和基因数据计算解读的处理结点。
4、高可配,本发明的异构平台为基于CPU加FPGA、GPU和DSP的异构平台,在软件方面,四种核心部件——CPU、FPGA、GPU和DSP都是可编程器件;在硬件方面,FPGA还能够在***定型、生产和安装后,按需进行增量配置,即修改和/或增加功能;在应用集成方面,能够根据基因数据计算解读的各种应用要求,根据CPU、FPGA、GPU和DSP及其它硬件的优势特点,对***各个部件的组织、规模和关联性来进行配置和使用,使各部件合理分工并协同工作,最大效率地优化应用流程。本发明***为***和应用设计师提供了良好的设计灵活性和增量配置能力,易于升级适应新的应用。
5、匹配基因数据计算解读的异构计算(heterogeneous computing)需求,本发明的异构平台为基于CPU加FPGA、GPU和DSP的异构平台,能够很好地匹配和满足现在及将来基因数据计算解读中融合处理分析文本、图片、语音、音频、视频和其它电信号等各种结构化和非结构化数据的异构计算对硬件的需求。
6、高性能,本发明的异构平台为基于CPU加FPGA、GPU和DSP的异构平台,能够从三个方面为高性能基因数据计算解读提供硬件支持:一,同时提供任务并行、数据并行和算法硬件加速所需硬件;二,同时提供控制任务、事务型任务、非数据密集型计算任务、数据密集型计算任务所需硬件;三,同时提供文本、图片、语音、音频、视频和其它电信号等融合处理分析所需硬件。
7、低成本,本发明的异构平台为基于CPU加FPGA、GPU和DSP的异构平台,和完全用软件处理基因数据计算解读的、现有的计算机集群或云计算平台相比,在提高性能的同时,能够降低设计、存储、网络、功耗、技术支持和维护上的成本。
8、低功耗,本发明的异构平台为基于CPU加FPGA、GPU和DSP的异构平台,通过FPGA和DSP的使用,分担CPU和GPU的部分工作,在提高性能和实现功能多样化的同时,降低了能耗。
附图说明
图1为本发明实施例异构平台的框架结构示意图。
图2为本发明实施例异构平台的引擎结构示意图。
图3为本发明实施例异构平台中FPGA的框架结构示意图。
图4为本发明实施例异构平台控制引擎的调度流程示意图。
图5为本发明实施例异构平台调度计算引擎的流程示意图。
图6为本发明实施例异构平台调度计算引擎判断是否适合GPU加速的流程示意图。
图7为本发明实施例异构平台调度解读引擎的流程示意图。
图8为本发明实施例异构平台调度解读引擎判断是否适合GPU加速的流程示意图。
图例说明:1、异构处理器单元;11、控制引擎;12、计算引擎;13、解读引擎;2、互联总线模块;21、HCCLink总线模块;22、HNCLink总线模块;3、内存;4、基因计算解读数据指令输入单元;5、基因计算解读结果输出单元。
具体实施方式
如图1和图2所示,本实施例的面向基因数据计算解读的异构平台包括异构处理器单元1、互联总线模块2、内存3、基因计算解读数据指令输入单元4和基因计算解读结果输出单元5,异构处理器单元1分别通过互联总线模块2与内存3、基因计算解读数据指令输入单元4、基因计算解读结果输出单元5相连,异构处理器单元1包括CPU(Central ProcessingUnit, 中央处理器)、GPU(Graphics Processing Unit, 图形处理器)、DSP(DigitalSignal Processor, 数字信号处理器)和FPGA(Field Programmable Gate Array, 现场可编程门阵列),其中,CPU构成控制引擎11,CPU、GPU、FPGA三者构成计算引擎12,CPU、GPU、DSP三者构成解读引擎13,控制引擎11在通过基因计算解读数据指令输入单元4接收基因计算解读数据指令并分割为代码段,当代码段的任务类型为控制任务时,将代码段的指令和数据调度CPU进行处理;当代码段的任务类型为计算任务时,将代码段的指令和数据调度计算引擎12进行处理并将计算结果通过基因计算解读结果输出单元5输出;当代码段的任务类型为解读任务时,将代码段的指令和数据调度解读引擎13进行处理并将计算结果通过基因计算解读结果输出单元5输出。
本实施例中,CPU数量可以为一个或者多个,每个CPU包括一个或多个处理器核(Processor Core),GPU数量可以为一个或者多个,DSP数量可以为一个或者多个,FPGA数量可以为一个或者多个,CPU、GPU、DSP和FPGA四者中任意个体之间能够基于互联总线模块2进行互联并交换数据和指令,而且能够基于互联总线模块2实现和内存3、基因计算解读数据指令输入单元4和基因计算解读结果输出单元5中的任意设备进行互联并交换数据和指令。毫无疑问,实现上述设备部件之间互联并交换数据和指令的总线形式并不局限于特定互联方式,可以根据需要采用各种具体的实现方式。
如图3所示,FPGA包括交叉开关(Crossbar)、IO控制单元和加速器单元,IO控制单元、加速器单元分别和交叉开关相连,加速器单元包括用于实现隐马尔可夫模型计算硬件加速的隐马尔可夫模型(Hidden Markov Model,HMM)计算加速器、用于实现哈希计算硬件加速的哈希函数(Hash function)计算加速器两者,IO控制单元与互联总线模块2相连。本实施例中,交叉开关具体采用高级可扩展接口(Advanced eXtensible Interface,AXI)交叉开关。此外,加速器单元也可以根据需要选择单个隐马尔可夫模型计算加速器、或单个哈希函数计算加速器、或者同时采用更多其他类似的硬件加速器,以用于硬件加速实现其它计算。
如图3所示,IO控制单元包括PCIE(Peripheral Component InterconnectExpress,快速外部组件互联)接口、DMA(Direct Memory Access,直接存储访问)控制器、PIU(Peripheral Interface Unit,***接口部件)***接口部件和DDR控制器,交叉开关分别与DMA控制器、PIU***接口部件和DDR控制器相连,DMA控制器、PIU***接口部件之间相互连接,PCIE接口与DMA控制器相连,PCIE接口、DDR控制器分别与互联总线模块2相连。DDR控制器用于DDR访问,为大容量数据提供存储,本实施例中DDR控制器具体采用DDR4控制器。上述PCIE接口、上述DMA控制器、上述PIU合作用于在上述FPGA和上述CPU之间,以及在上述FPGA和上述GPU之间,传输数据和指令;上述交叉开关用于上述DMA控制器、上述PIU***接口部件、上述DDR控制器、上述隐马尔可夫模型计算加速器、上述哈希函数计算加速器和上述其它加速器之间的互连,为它们之间的数据和指令传输提供通路。
如图1所示,互联总线模块2包括HCCLink(Heterogeneous computing CacheCoherence Link,异构计算存储一致性互联)总线模块21和HNCLink(Heterogeneouscomputing Non-Coherence Link,异构计算非一致性互联)总线模块22,CPU、GPU、DSP和FPGA分别通过HCCLink总线模块21和内存3相连,且CPU、GPU、DSP和FPGA分别通过HNCLink总线模块22和基因计算解读数据指令输入单元4以及基因计算解读结果输出单元5相连。HCCLink总线模块21用于上述CPU、上述FPGA、上述GPU和上述DSP与上述DDR4存储器阵列之间进行互联并交换数据、指令。HNCLink总线模块22用于上述CPU、上述FPGA、上述GPU和上述DSP之间进行互联并交换控制指令;用于上述CPU、上述FPGA、上述GPU和上述DSP与上述输入/输出设备(I/O)之间进行互联并交换数据、指令。
本实施例中,内存3为DDR4存储器阵列(Memory Array)。
本实施例中,基因计算解读数据指令输入单元4包括输入设备、通用接口模块、网络接口模块、多媒体输入接口模块、外部存储设备、传感器中的至少一种。本实施例中,输入设备包括键盘、鼠标、轨迹球和触控板中的至少一种,通用接口模块包括边界扫描接口模块、通用串行总线接口模块中的至少一种,网络接口模块包括以太网接口模块、长期演进LTE接口模块、Wi-Fi接口模块、蓝牙接口模块中的至少一种,多媒体输入接口模块包括模拟音频输入接口、数字音频输入接口、视频输入接口中的至少一种,外部存储设备包括闪存FLASH、固态硬盘SSD中的至少一种,传感器包括温度传感器、心率测量传感器、指纹传感器中的至少一种。
本实施例中,基因计算解读结果输出单元5包括显示设备、通用接口模块、网络接口模块、多媒体输出接口模块、外部存储设备中的至少一种。本实施例中,显示设备包括阴极射线管CRT、液晶显示器LCD、发光二极管LED中的至少一种,通用接口模块包括边界扫描接口模块、通用串行总线接口模块中的至少一种,网络接口模块包括以太网接口模块、长期演进LTE接口模块、Wi-Fi接口模块、蓝牙接口模块中的至少一种,多媒体输出接口模块包括模拟音频输出接口、数字音频输出接口、视频输出接口中的至少一种,外部存储设备包括闪存FLASH、固态硬盘SSD中的至少一种。
如图4所示,控制引擎11在通过基因计算解读数据指令输入单元4接收基因计算解读数据指令并分割为代码段,然后根据代码段的任务类型对CPU、GPU、FPGA三者构成的计算引擎12,CPU、GPU、DSP三者构成的解读引擎13进行综合调度:当代码段的任务类型为控制任务时,将代码段的指令和数据调度CPU进行处理;当代码段的任务类型为计算任务时,将代码段的指令和数据调度计算引擎12进行处理并将计算结果通过基因计算解读结果输出单元5输出;当代码段的任务类型为解读任务时,将代码段的指令和数据调度解读引擎13进行处理并将计算结果通过基因计算解读结果输出单元5输出。
本实施例中,CPU的功能如下:用于调度控制一个或多个FPGA,和一个或多个FPGA交互数据和指令;用于调度控制一个或多个GPU,和一个或多个GPU交互数据和指令;用于调度控制一个或多个DSP,和一个或多个DSP交互数据和指令;用于和一个或多个存储器交互数据和指令;用于接收和处理一个或多个输入设备输入的数据和指令;用于发送数据和指令到一个或多个输出设备;在基因数据计算流程中,用于执行调度任务、事物型任务,用于和一个或多个FPGA及一个或多个GPU配合执行基因数据计算任务;在基因数据解读流程中,用于执行调度任务、事物型任务,用于和一个或多个DSP及一个或多个GPU配合执行基因数据解读任务;在基因数据计算解读流程中,用于执行调度任务、事物型任务,用于和一个或多个FPGA及一个或多个GPU配合执行基因数据计算任务,用于和一个或多个DSP及一个或多个GPU配合执行基因数据解读任务。
本实施例中,FPGA的功能如下:用于和一个或多个CPU交互数据和指令;可以用于调度控制一个或多个GPU,和一个或多个GPU交互数据和指令;可以用于调度控制一个或多个DSP,和一个或多个DSP交互数据和指令;用于和一个或多个存储器交互数据和指令;可以用于接收和处理一个或多个输入设备输入的数据和指令;可以用于发送数据和指令到一个或多个输出设备;在基因数据计算流程中,用于和一个或多个CPU及一个或多个GPU配合执行基因数据计算任务,可以用于执行调度任务、事物型任务;在基因数据解读流程中,可以用于执行调度任务、事物型任务,可以用于和一个或多个DSP及一个或多个GPU配合执行基因数据解读任务;在基因数据计算解读流程中,用于和一个或多个CPU及一个或多个GPU配合执行基因数据计算任务,可以用于和一个或多个DSP及一个或多个GPU配合执行基因数据解读任务,可以用于执行调度任务、事物型任务。
本实施例中,GPU的功能如下:用于和一个或多个CPU交互数据和指令;可以用于和一个或多个FPGA交互数据和指令;可以用于和一个或多个DSP交互数据和指令;用于和一个或多个存储器交互数据和指令;在基因数据计算流程中,用于和一个或多个FPGA及一个或多个CPU配合执行基因数据计算任务;在基因数据解读流程中,用于和一个或多个DSP及一个或多个CPU配合执行基因数据解读任务;在基因数据计算解读流程中,用于和一个或多个FPGA及一个或多个CPU配合执行基因数据计算任务,用于和一个或多个DSP及一个或多个CPU配合执行基因数据解读任务。
本实施例中,DSP的功能如下:用于和一个或多个CPU交互数据和指令;可以用于和一个或多个FPGA交互数据和指令;可以用于和一个或多个GPU交互数据和指令;用于和一个或多个存储器交互数据和指令;可以用于接收和处理一个或多个输入设备输入的数据和指令;可以用于发送数据和指令到一个或多个输出设备;在基因数据解读流程中,用于和一个或多个CPU及一个或多个GPU配合执行基因数据解读任务;在基因数据计算解读流程中,用于和一个或多个CPU及一个或多个GPU配合执行基因数据解读任务。
本实施例中,内存3的功能如下:用于存储一个或多个基因测序数据,基因测序数据为原始数据和/或压缩数据,压缩数据不限定压缩算法;用于存储一个或多个基因参考序列及其对应的一个或多个标记;用于存储一个或多个已知基因变异数据;用于存储和基因数据计算相关的其它输入数据;用于存储和基因数据解读相关的其它输入数据;用于存储和基因数据计算解读相关的其它输入数据;在基因数据计算流程中,用于存储中间结果和最终数据;在基因数据解读流程中,用于存储中间结果和最终数据;在基因数据计算解读流程中,用于存储中间结果和最终数据;不限定存储器种类,例如DDR3(Dual Data Rate 3),DDR4等。
本实施例中,基因计算解读数据指令输入单元4的功能如下:用于输入基因数据计算流程所需的数据和指令;用于输入基因数据解读流程所需的数据和指令;用于输入基因数据计算解读流程所需数据和指令;不限定输入设备种类,例如键盘(Keyboard)、鼠标(Mouse)、轨迹球(Trackball)、触控板(touch pad)等输入设备,或者边界扫描(Joint TestAction Group,JTAG),通用串行总线(Universal Serial Bus,USB)等通用接口,或者以太网(Ethernet)、长期演进(Long Term Evolution,LTE)、无线保真(Wireless-Fidelity,Wi-Fi)、蓝牙(Bluetooth)等网络端口,或者模拟音频输入接口(如3.5mm立体声小三芯接口)、数字音频输入接口(如索尼和飞利浦数字接口Sony/Philips Digital Interface,S/PDIF)、视频输入接口(如高清晰度多媒体接口High Definition Multimedia Interface,HDMI)等多媒体接口,或者闪存(FLASH)、固态硬盘(Solid State Drives,SSD)等外部存储设备,或者温度传感器(测量体温)、光学传感器(测量心率)、指纹传感器(采集指纹)等传感器(Sensor);不限定输入数据和指令的形式,例如电信号、文本、图片、语音、音频、视频等和它们的任意组合。
本实施例中,基因计算解读结果输出单元5的功能如下:用于输出基因数据计算流程所生成的数据和指令;用于输出基因数据解读流程所生成的数据和指令;用于输出基因数据计算解读流程所生成的数据和指令;不限定输出设备种类,例如阴极射线管(CRT)、液晶显示器(LCD)、发光二极管(LED)等显示设备,或者JTAG、USB等通用接口设备,或者Ethernet、LTE、Wi-Fi、Bluetooth等网络端口,或者模拟音频输出接口(如3.5mm立体声小三芯接口)、数字音频输出接口(如S/PDIF)、视频输出接口(如HDMI)等多媒体接口;或者固态硬盘(Solid State Drives,SSD)等外部存储设备,不限定输出数据和指令的形式,例如电信号、文本、图片、语音、音频、视频等和它们的任意组合。参见图1,基因计算解读数据指令输入单元4和基因计算解读结果输出单元5之间可以基于部分共同的设备实现,例如通用接口模块、网络接口模块、外部存储设备等。
如图4和图5所示,将代码段的指令和数据调度计算引擎12进行处理的详细步骤包括:
A1)分别判断代码段是否能进行指令并行执行,是否能进行流水线执行,是否能进行数据并行执行,如果三者均不能,则跳转执行步骤A7),退出;否则,跳转执行步骤A2);
A2)判断代码段是否只能进行数据并行执行,如果只能进行数据并行执行,则跳转执行步骤A3);否则,跳转执行步骤A6);
A3)判断代码段分派到FPGA上优化执行(即并行执行,下同)的总开销少于代码段分派到GPU上优化执行的总开销是否成立,代码段分派到FPGA上优化执行的总开销包括CPU和FPGA之间交互数据和指令产生的通信开销、FPGA的访存开销以及FPGA的计算开销,代码段分派到GPU上优化执行的总开销包括CPU和GPU之间交互数据和指令产生的通信开销、GPU的访存开销以及GPU的计算开销,如果成立则跳转执行步骤A6);否则,跳转执行步骤A4);
A4)判断代码段是否是能耗优先,如果是能耗优先,则跳转执行步骤A6);否则,跳转执行步骤A5);
A5)判断代码段的基因计算是否适合GPU加速处理,如果适合GPU加速处理,则跳转执行步骤A8);否则,跳转执行步骤A7);
A6)综合利用FPGA所有可能的加速方法,加速方法包括指令并行、流水线、数据并行中的至少一种,判断代码段分派到FPGA上并且优化执行的总开销少于代码段在CPU上执行的总开销是否成立,如果成立,则跳转执行步骤A9),否则,跳转执行步骤A7);
A7)将代码段的指令和数据调度CPU处理,退出;
A8)将代码段的指令和数据调度GPU处理,退出;
A9)将代码段的指令和数据调度FPGA处理,退出。
如图6所示,步骤A5)的详细步骤包括:
A5.1)判断代码段的基因计算是否能进行数据并行执行,如果能进行数据并行执行,则跳转执行步骤A5.2);否则,跳转执行步骤A7);
A5.2)判断代码段分派到GPU上优化执行的总开销少于代码段在CPU上执行的总开销是否成立,代码段分派到GPU上优化执行的总开销包括CPU和GPU之间交互数据和指令产生的通信开销、GPU的访存开销以及GPU的计算开销,代码段在CPU上执行的总开销包括CPU的访存开销以及CPU的计算开销,如果成立则跳转执行步骤A8);否则,跳转执行步骤A7)。
如图4和图7所示,将代码段的指令和数据调度解读引擎13进行处理的详细步骤包括:
B1)分别判断代码段是否为数字信号处理,是否为非图形图像类多媒体处理,是否为图形图像处理,如果三者都不是,则跳转执行步骤B7);否则,跳转执行步骤B2);
B2)判断代码段是否为图形图像处理,如果是图形图像处理,则跳转执行步骤B3);否则,跳转执行步骤B5);
B3)判断代码段分派到DSP上并且优化执行的总开销少于代码段分派到GPU上并且优化执行的总开销是否成立,代码段分派到DSP上并且优化执行的总开销包括CPU和DSP之间交互数据和指令产生的通信开销、DSP的访存开销以及DSP的计算开销,代码段分派到GPU上并且优化执行的总开销包括CPU和GPU之间交互数据和指令产生的通信开销、GPU的访存开销以及GPU的计算开销,如果成立则跳转执行步骤B5);否则,跳转执行步骤B4);
B4)判断代码段是否是能耗优先,如果是能耗优先,则跳转执行步骤B5);否则,跳转执行步骤B7)
B5)判断代码段分派到DSP上并且优化执行的总开销少于代码段在CPU上执行的总开销是否成立,代码段在CPU上执行的总开销包括CPU的访存开销以及CPU的计算开销,如果成立则跳转执行步骤B6);否则,跳转执行步骤B8);
B6)将代码段的指令和数据调度DSP处理,退出;
B7)判断代码段的基因解读是否适合GPU加速处理,如果代码段的基因解读适合GPU加速处理,则将代码段的指令和数据调度GPU处理,退出;否则,跳转执行步骤B8);
B8)将代码段的指令和数据调度CPU处理,退出。
如图8所示,步骤B7)的详细步骤包括:
B7.1)判断代码段是否为图形图像处理,如果是图形图像处理,则跳转执行步骤B7.3);否则,跳转执行步骤B7.2);
B7.2)判断代码段是否能进行数据并行执行,如果能进行数据并行执行,则跳转执行步骤B7.3);否则,跳转执行步骤B8);
B7.3)判断代码段分派到GPU上并且优化执行的总开销少于代码段在CPU上执行的总开销是否成立,所述代码段分派到GPU上并且优化执行的总开销包括CPU和GPU之间交互数据和指令产生的通信开销、GPU的访存开销以及GPU的计算开销,所述代码段在CPU上执行的总开销包括CPU的访存开销以及CPU的计算开销,如果成立则跳转执行步骤B7.4);否则,跳转执行步骤B8);
B7.4)将代码段的指令和数据调度GPU处理,退出。
综上所述,本实施例的面向基因数据计算解读的异构平台能够以更低的成本,满足高性能基因数据计算的实时性和准确性要求,满足高认知基因数据解读的精准性和可读性要求。
以上所述仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种面向基因数据计算解读的异构平台,其特征在于:包括异构处理器单元(1)、互联总线模块(2)、内存(3)、基因计算解读数据指令输入单元(4)和基因计算解读结果输出单元(5),所述异构处理器单元(1)分别通过互联总线模块(2)与内存(3)、基因计算解读数据指令输入单元(4)、基因计算解读结果输出单元(5)相连,所述异构处理器单元(1)包括CPU、GPU、DSP和FPGA,其中CPU构成控制引擎(11),所述CPU、GPU、FPGA三者构成计算引擎(12),所述CPU、GPU、DSP三者构成解读引擎(13),所述控制引擎(11)在通过基因计算解读数据指令输入单元(4)接收基因计算解读数据指令并分割为代码段,当代码段的任务类型为控制任务时,将代码段的指令和数据调度CPU进行处理;当代码段的任务类型为计算任务时,将代码段的指令和数据调度计算引擎(12)进行处理并将计算结果通过基因计算解读结果输出单元(5)输出;当代码段的任务类型为解读任务时,将代码段的指令和数据调度解读引擎(13)进行处理并将计算结果通过基因计算解读结果输出单元(5)输出。
2.根据权利要求1所述的面向基因数据计算解读的异构平台,其特征在于:所述FPGA包括交叉开关、IO控制单元和加速器单元,所述IO控制单元、加速器单元分别和交叉开关相连,所述加速器单元包括用于实现隐马尔可夫模型计算硬件加速的隐马尔可夫模型计算加速器、用于实现哈希计算硬件加速的哈希函数计算加速器两者中的至少一种,所述IO控制单元与互联总线模块(2)相连。
3.根据权利要求2所述的面向基因数据计算解读的异构平台,其特征在于:所述IO控制单元包括PCIE接口、DMA控制器、PIU***接口部件和DDR控制器,所述交叉开关分别与DMA控制器、PIU***接口部件和DDR控制器相连,所述DMA控制器、PIU***接口部件之间相互连接,所述PCIE接口与DMA控制器相连,所述PCIE接口、DDR控制器分别与互联总线模块(2)相连。
4.根据权利要求1所述的面向基因数据计算解读的异构平台,其特征在于:所述互联总线模块(2)包括HCCLink总线模块(21)和HNCLink总线模块(22),所述CPU、GPU、DSP和FPGA分别通过HCCLink总线模块(21)和内存(3)相连,且所述CPU、GPU、DSP和FPGA分别通过HNCLink总线模块(22)和基因计算解读数据指令输入单元(4)以及基因计算解读结果输出单元(5)相连。
5.根据权利要求1所述的面向基因数据计算解读的异构平台,其特征在于:所述基因计算解读数据指令输入单元(4)包括输入设备、通用接口模块、网络接口模块、多媒体输入接口模块、外部存储设备、传感器中的至少一种。
6.根据权利要求1所述的面向基因数据计算解读的异构平台,其特征在于:所述基因计算解读结果输出单元(5)包括显示设备、通用接口模块、网络接口模块、多媒体输出接口模块、外部存储设备中的至少一种。
7.根据权利要求1所述的面向基因数据计算解读的异构平台,其特征在于:所述将代码段的指令和数据调度计算引擎(12)进行处理的详细步骤包括:
A1)分别判断代码段是否能进行指令并行执行,是否能进行流水线执行,是否能进行数据并行执行,如果三者均不能,则跳转执行步骤A7),退出;否则,跳转执行步骤A2);
A2)判断代码段是否只能进行数据并行执行,如果只能进行数据并行执行,则跳转执行步骤A3);否则,跳转执行步骤A6);
A3)判断代码段分派到FPGA上优化执行(即并行执行,下同)的总开销少于代码段分派到GPU上优化执行的总开销是否成立,所述代码段分派到FPGA上优化执行的总开销包括CPU和FPGA之间交互数据和指令产生的通信开销、FPGA的访存开销以及FPGA的计算开销,所述代码段分派到GPU上优化执行的总开销包括CPU和GPU之间交互数据和指令产生的通信开销、GPU的访存开销以及GPU的计算开销,如果成立则跳转执行步骤A6);否则,跳转执行步骤A4);
A4)判断代码段是否是能耗优先,如果是能耗优先,则跳转执行步骤A6);否则,跳转执行步骤A5);
A5)判断代码段的基因计算是否适合GPU加速处理,如果适合GPU加速处理,则跳转执行步骤A8);否则,跳转执行步骤A7);
A6)综合利用FPGA所有可能的加速方法,所述加速方法包括指令并行、流水线、数据并行中的至少一种,判断代码段分派到FPGA上并且优化执行的总开销少于代码段在CPU上执行的总开销是否成立,如果成立,则跳转执行步骤A9),否则,跳转执行步骤A7);
A7)将代码段的指令和数据调度CPU处理,退出;
A8)将代码段的指令和数据调度GPU处理,退出;
A9)将代码段的指令和数据调度FPGA处理,退出。
8.根据权利要求7所述的面向基因数据计算解读的异构平台,其特征在于:步骤A5)的详细步骤包括:
A5.1)判断代码段的基因计算是否能进行数据并行执行,如果能进行数据并行执行,则跳转执行步骤A5.2);否则,跳转执行步骤A7);
A5.2)判断代码段分派到GPU上优化执行的总开销少于代码段在CPU上执行的总开销是否成立,所述代码段分派到GPU上优化执行的总开销包括CPU和GPU之间交互数据和指令产生的通信开销、GPU的访存开销以及GPU的计算开销,所述代码段在CPU上执行的总开销包括CPU的访存开销以及CPU的计算开销,如果成立则跳转执行步骤A8);否则,跳转执行步骤A7)。
9.根据权利要求1所述的面向基因数据计算解读的异构平台,其特征在于:所述将代码段的指令和数据调度解读引擎(13)进行处理的详细步骤包括:
B1)分别判断代码段是否为数字信号处理,是否为非图形图像类多媒体处理,是否为图形图像处理,如果三者都不是,则跳转执行步骤B7);否则,跳转执行步骤B2);
B2)判断代码段是否为图形图像处理,如果是图形图像处理,则跳转执行步骤B3);否则,跳转执行步骤B5);
B3)判断代码段分派到DSP上并且优化执行的总开销少于代码段分派到GPU上并且优化执行的总开销是否成立,所述代码段分派到DSP上并且优化执行的总开销包括CPU和DSP之间交互数据和指令产生的通信开销、DSP的访存开销以及DSP的计算开销,所述代码段分派到GPU上并且优化执行的总开销包括CPU和GPU之间交互数据和指令产生的通信开销、GPU的访存开销以及GPU的计算开销,如果成立则跳转执行步骤B5);否则,跳转执行步骤B4);
B4)判断代码段是否是能耗优先,如果是能耗优先,则跳转执行步骤B5);否则,跳转执行步骤B7)
B5)判断代码段分派到DSP上并且优化执行的总开销少于代码段在CPU上执行的总开销是否成立,所述代码段在CPU上执行的总开销包括CPU的访存开销以及CPU的计算开销,如果成立则跳转执行步骤B6);否则,跳转执行步骤B8);
B6)将代码段的指令和数据调度DSP处理,退出;
B7)判断代码段的基因解读是否适合GPU加速处理,如果代码段的基因解读适合GPU加速处理,则将代码段的指令和数据调度GPU处理,退出;否则,跳转执行步骤B8);
B8)将代码段的指令和数据调度CPU处理,退出。
10.根据权利要求9所述的面向基因数据计算解读的异构平台,其特征在于:步骤B7)的详细步骤包括:
B7.1)判断代码段是否为图形图像处理,如果是图形图像处理,则跳转执行步骤B7.3);否则,跳转执行步骤B7.2);
B7.2)判断代码段是否能进行数据并行执行,如果能进行数据并行执行,则跳转执行步骤B7.3);否则,跳转执行步骤B8);
B7.3)判断代码段分派到GPU上并且优化执行的总开销少于代码段在CPU上执行的总开销是否成立,所述代码段分派到GPU上并且优化执行的总开销包括CPU和GPU之间交互数据和指令产生的通信开销、GPU的访存开销以及GPU的计算开销,所述代码段在CPU上执行的总开销包括CPU的访存开销以及CPU的计算开销,如果成立则跳转执行步骤B7.4);否则,跳转执行步骤B8);
B7.4)将代码段的指令和数据调度GPU处理,退出。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710055557.9A CN106886690B (zh) | 2017-01-25 | 2017-01-25 | 一种面向基因数据计算解读的异构平台 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710055557.9A CN106886690B (zh) | 2017-01-25 | 2017-01-25 | 一种面向基因数据计算解读的异构平台 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106886690A true CN106886690A (zh) | 2017-06-23 |
CN106886690B CN106886690B (zh) | 2018-03-09 |
Family
ID=59175921
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710055557.9A Active CN106886690B (zh) | 2017-01-25 | 2017-01-25 | 一种面向基因数据计算解读的异构平台 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106886690B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108153190A (zh) * | 2017-12-20 | 2018-06-12 | 福建新大陆电脑股份有限公司 | 一种人工智能微处理器 |
CN109785905A (zh) * | 2018-12-18 | 2019-05-21 | 中国科学院计算技术研究所 | 一种面向基因比对算法的加速装置 |
CN110333946A (zh) * | 2019-05-14 | 2019-10-15 | 王娅雯 | 一种基于人工智能cpu数据处理***及方法 |
CN110427262A (zh) * | 2019-09-26 | 2019-11-08 | 深圳华大基因科技服务有限公司 | 一种基因数据分析方法及异构调度平台 |
CN110659112A (zh) * | 2018-06-29 | 2020-01-07 | 中车株洲电力机车研究所有限公司 | 算法调度方法及*** |
CN111160546A (zh) * | 2019-12-31 | 2020-05-15 | 深圳云天励飞技术有限公司 | 一种数据处理*** |
CN111506540A (zh) * | 2020-04-24 | 2020-08-07 | 中国电子科技集团公司第五十八研究所 | 一种硬件可编程异构多核片上*** |
CN113268270A (zh) * | 2021-06-07 | 2021-08-17 | 中科计算技术西部研究院 | 一种针对成对隐马尔可夫模型的加速方法、***及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120117318A1 (en) * | 2010-11-05 | 2012-05-10 | Src Computers, Inc. | Heterogeneous computing system comprising a switch/network adapter port interface utilizing load-reduced dual in-line memory modules (lr-dimms) incorporating isolation memory buffers |
CN102902511A (zh) * | 2011-12-23 | 2013-01-30 | 同济大学 | 并行信息处理*** |
CN103020002A (zh) * | 2012-11-27 | 2013-04-03 | 中国人民解放军信息工程大学 | 可重构多处理器*** |
CN103310125A (zh) * | 2012-03-06 | 2013-09-18 | 宁康 | 基于gpgpu和多核cpu硬件的高性能元基因组数据分析*** |
CN104021042A (zh) * | 2014-06-18 | 2014-09-03 | 哈尔滨工业大学 | 基于arm、dsp及fpga的异构多核处理器及任务调度方法 |
-
2017
- 2017-01-25 CN CN201710055557.9A patent/CN106886690B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120117318A1 (en) * | 2010-11-05 | 2012-05-10 | Src Computers, Inc. | Heterogeneous computing system comprising a switch/network adapter port interface utilizing load-reduced dual in-line memory modules (lr-dimms) incorporating isolation memory buffers |
CN102902511A (zh) * | 2011-12-23 | 2013-01-30 | 同济大学 | 并行信息处理*** |
CN103310125A (zh) * | 2012-03-06 | 2013-09-18 | 宁康 | 基于gpgpu和多核cpu硬件的高性能元基因组数据分析*** |
CN103020002A (zh) * | 2012-11-27 | 2013-04-03 | 中国人民解放军信息工程大学 | 可重构多处理器*** |
CN104021042A (zh) * | 2014-06-18 | 2014-09-03 | 哈尔滨工业大学 | 基于arm、dsp及fpga的异构多核处理器及任务调度方法 |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108153190A (zh) * | 2017-12-20 | 2018-06-12 | 福建新大陆电脑股份有限公司 | 一种人工智能微处理器 |
CN110659112A (zh) * | 2018-06-29 | 2020-01-07 | 中车株洲电力机车研究所有限公司 | 算法调度方法及*** |
CN109785905A (zh) * | 2018-12-18 | 2019-05-21 | 中国科学院计算技术研究所 | 一种面向基因比对算法的加速装置 |
CN109785905B (zh) * | 2018-12-18 | 2021-07-23 | 中国科学院计算技术研究所 | 一种面向基因比对算法的加速装置 |
CN110333946A (zh) * | 2019-05-14 | 2019-10-15 | 王娅雯 | 一种基于人工智能cpu数据处理***及方法 |
CN110427262A (zh) * | 2019-09-26 | 2019-11-08 | 深圳华大基因科技服务有限公司 | 一种基因数据分析方法及异构调度平台 |
CN110427262B (zh) * | 2019-09-26 | 2020-05-15 | 深圳华大基因科技服务有限公司 | 一种基因数据分析方法及异构调度平台 |
CN111160546A (zh) * | 2019-12-31 | 2020-05-15 | 深圳云天励飞技术有限公司 | 一种数据处理*** |
CN111506540A (zh) * | 2020-04-24 | 2020-08-07 | 中国电子科技集团公司第五十八研究所 | 一种硬件可编程异构多核片上*** |
CN113268270A (zh) * | 2021-06-07 | 2021-08-17 | 中科计算技术西部研究院 | 一种针对成对隐马尔可夫模型的加速方法、***及装置 |
CN113268270B (zh) * | 2021-06-07 | 2022-10-21 | 中科计算技术西部研究院 | 一种针对成对隐马尔可夫模型的加速方法、***及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN106886690B (zh) | 2018-03-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106886690B (zh) | 一种面向基因数据计算解读的异构平台 | |
CN110197111B (zh) | 用于深度学习引擎的加速单元 | |
CN110197276B (zh) | 用于深度学习加速的数据体雕刻器 | |
Yu et al. | A deep learning prediction process accelerator based FPGA | |
CN108647368A (zh) | 基于fpga的动态部分重构***及方法 | |
CN107066802A (zh) | 一种面向基因数据计算的异构平台 | |
CN106897581B (zh) | 一种面向基因数据解读的可重构异构平台 | |
EP3000030A2 (en) | Methods and apparatus for iterative nonspecific distributed runtime architecture and its application to cloud intelligence | |
CN112580792B (zh) | 一种神经网络多核张量处理器 | |
CN105046109A (zh) | 一种用于生物信息序列分析的加速平台 | |
CN117195989B (zh) | 向量处理器、神经网络加速器、芯片及电子设备 | |
WO2023092620A1 (zh) | 基于risc-v的三维互联众核处理器架构及其工作方法 | |
Huang et al. | IECA: An in-execution configuration CNN accelerator with 30.55 GOPS/mm² area efficiency | |
Geng et al. | A survey: Handling irregularities in neural network acceleration with fpgas | |
Zhang et al. | Exploring HW/SW co-design for video analysis on CPU-FPGA heterogeneous systems | |
Zhou et al. | GCNear: A hybrid architecture for efficient GCN training with near-memory processing | |
Jia et al. | Exploiting approximate feature extraction via genetic programming for hardware acceleration in a heterogeneous microprocessor | |
Huang et al. | EvoX: A Distributed GPU-accelerated Framework for Scalable Evolutionary Computation | |
CN106897582B (zh) | 一种面向基因数据解读的异构平台 | |
Jain et al. | Optimizing distributed dnn training using cpus and bluefield-2 dpus | |
Vijayaraghavan et al. | MPU-BWM: Accelerating sequence alignment | |
Li et al. | HeteroYARN: a heterogeneous FPGA-accelerated architecture based on YARN | |
CN103942235B (zh) | 针对大规模数据集交叉比较的分布式计算***和方法 | |
Su et al. | Computing infrastructure construction and optimization for high-performance computing and artificial intelligence | |
Qureshi et al. | Genome sequence alignment-design space exploration for optimal performance and energy architectures |
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 |