CN106897581B - 一种面向基因数据解读的可重构异构平台 - Google Patents
一种面向基因数据解读的可重构异构平台 Download PDFInfo
- Publication number
- CN106897581B CN106897581B CN201710055540.3A CN201710055540A CN106897581B CN 106897581 B CN106897581 B CN 106897581B CN 201710055540 A CN201710055540 A CN 201710055540A CN 106897581 B CN106897581 B CN 106897581B
- Authority
- CN
- China
- Prior art keywords
- data
- gene
- code segment
- gpu
- 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.)
- Active
Links
Classifications
-
- 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
- G06F9/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
-
- 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
- G16B25/00—ICT specially adapted for hybridisation; ICT specially adapted for gene or protein expression
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Molecular Biology (AREA)
- Biotechnology (AREA)
- Biophysics (AREA)
- Genetics & Genomics (AREA)
- General Engineering & Computer Science (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Biology (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Spectroscopy & Molecular Physics (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三者构成解读引擎。本发明能够为提高基因数据解读的精准性和可读性提供硬件支持,具有基因数据解读效率高、制造成本低、解读能耗低的优点。
Description
技术领域
本发明涉及基因测序技术,具体涉及一种面向基因数据解读的可重构异构平台。
背景技术
最近几年,随着下一代测序技术(Next Generation Sequence, 以下简称NGS)的广泛应用,基因测序的成本迅速下降,基因技术开始进入普及应用。NGS包括基因数据计算和基因数据解读两个步骤,其中基因数据计算是指对原始的基因测序数据进行去伪、去重等预处理,以便基因数据解读时使用,基因数据解读是指对基因数据计算处理后的基因数据在生物学、医学、健康保健等领域的科学含义进行分析、揭示和解释。
当前,一个制约基因技术临床应用发展的瓶颈是基因数据解读的精确性和可读性。目前基因数据解读的典型方法是基于一个人类参考基因,用测序生成并经基因数据计算处理后的基因数据,重构出某人的基因。然而,当前使用的参考基因,例如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进行处理;当代码段的任务类型为解读任务时,将代码段的指令和数据调度解读引擎进行处理并将计算结果通过基因解读结果输出单元输出。
优选地,所述FPGA包括交叉开关、IO控制单元和DSP,所述IO控制单元、DSP分别和交叉开关相连,所述IO控制单元与互联总线模块相连。
优选地,所述IO控制单元包括PCIE接口、DMA控制器、PIU外围接口部件和DDR控制器,所述交叉开关分别与DMA控制器、PIU外围接口部件和DDR控制器相连,所述DMA控制器、PIU外围接口部件之间相互连接,所述PCIE接口与DMA控制器相连,所述PCIE接口、DDR控制器分别与互联总线模块相连。
优选地,所述互联总线模块包括HCCLink总线模块和HNCLink总线模块,所述CPU、GPU和FPGA分别通过HCCLink总线模块和内存相连,且所述CPU、GPU和FPGA分别通过HNCLink总线模块和基因解读数据指令输入单元以及基因解读结果输出单元相连。
优选地,所述基因解读数据指令输入单元包括输入设备、通用接口模块、网络接口模块、多媒体输入接口模块、外部存储设备、传感器中的至少一种。
优选地,所述基因解读结果输出单元包括显示设备、通用接口模块、网络接口模块、多媒体输出接口模块、外部存储设备中的至少一种。
优选地,所述将代码段的指令和数据调度解读引擎进行处理的详细步骤包括:
B1)分别判断代码段是否为数字信号处理,是否为非图形图像类多媒体处理,是否为图形图像处理,如果三者都不是,则跳转执行步骤B7);否则,跳转执行步骤B2);
B2)判断代码段是否为图形图像处理,如果是图形图像处理,则跳转执行步骤B3);否则,跳转执行步骤B5);
B3)判断代码段分派到FPGA内的DSP上并且优化执行的总开销少于代码段分派到GPU上并且优化执行的总开销是否成立,所述代码段分派到FPGA内的DSP上并且优化执行的总开销包括CPU和FPGA之间交互数据和指令产生的通信开销、FPGA的访存开销以及FPGA的计算开销,所述代码段分派到GPU上并且优化执行的总开销包括CPU和GPU之间交互数据和指令产生的通信开销、GPU的访存开销以及GPU的计算开销,如果成立则跳转执行步骤B5);否则,跳转执行步骤B4);
B4)判断代码段是否是能耗优先,如果是能耗优先,则跳转执行步骤B5);否则,跳转执行步骤B7)
B5)判断代码段分派到FPGA内的DSP上并且优化执行的总开销少于代码段在CPU上执行的总开销是否成立,所述代码段在CPU上执行的总开销包括CPU的访存开销以及CPU的计算开销,如果成立则跳转执行步骤B6);否则,跳转执行步骤B8);
B6)将代码段的指令和数据调度FPGA内的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加GPU和内部集成有DSP的FPGA的异构平台,能够让设计人员开发各种基因数据解读应用流程,无需重新设计硬件系统;能够移植其它公开或商用基因数据解读应用软件,无需重新设计硬件系统;能够用异构编程语言(如OpenCL)来实现整个异构平台应用开发的一致性。
2、可扩展性好,本发明的异构平台为基于CPU加GPU和内部集成有DSP的FPGA的异构平台,能够根据应用需求的不同和变化,灵活地扩展和重构。
3、应用广泛,本发明的异构平台为基于CPU加GPU和内部集成有DSP的FPGA的异构平台,既能够作为本地基因数据解读的处理设备,又能够作为集群或云计算环境下基因数据解读的处理结点。
4、高可配,本发明的异构平台为基于CPU加GPU和内部集成有DSP的FPGA的异构平台,在软件方面,四种核心部件——CPU、FPGA、GPU和DSP都是可编程器件;在硬件方面,FPGA还能够在系统定型、生产和安装后,按需进行增量配置,即修改和/或增加功能;在应用集成方面,能够根据基因数据解读的各种应用要求,根据CPU、FPGA、GPU和DSP及其它硬件的优势特点,对系统各个部件的组织、规模和关联性来进行配置和使用,使各部件合理分工并协同工作,最大效率地优化应用流程。本发明系统为系统和应用设计师提供了良好的设计灵活性和增量配置能力,易于升级适应新的应用。
5、匹配基因数据解读的异构计算(heterogeneous computing)需求,本发明的异构平台为基于CPU加GPU和内部集成有DSP的FPGA的异构平台,能够很好地匹配和满足现在及将来基因数据解读中融合处理分析文本、图片、语音、音频、视频和其它电信号等各种结构化和非结构化数据的异构计算对硬件的需求。
6、高性能,本发明的异构平台为基于CPU加GPU和内部集成有DSP的FPGA的异构平台,能够从三个方面为高性能基因数据解读提供硬件支持:一,同时提供任务并行、数据并行和算法硬件加速所需硬件;二,同时提供控制任务、事务型任务、非数据密集型计算任务、数据密集型计算任务所需硬件;三,同时提供文本、图片、语音、音频、视频和其它电信号等融合处理分析所需硬件。
7、低成本,本发明的异构平台为基于CPU加GPU和内部集成有DSP的FPGA的异构平台,和现有的计算机集群或云计算平台相比,在提高性能的同时,能够降低设计、存储、网络、功耗、技术支持和维护上的成本。
8、低功耗,本发明的异构平台为基于CPU加GPU和内部集成有DSP的FPGA的异构平台,通过内部集成有DSP的FPGA的使用,分担CPU和GPU的部分工作,在提高性能和实现功能多样化的同时,降低了能耗。
附图说明
图1为本发明实施例异构平台的框架结构示意图。
图2为本发明实施例异构平台的引擎结构示意图。
图3为本发明实施例异构平台中FPGA的框架结构示意图。
图4为本发明实施例异构平台控制引擎的调度流程示意图。
图5为本发明实施例异构平台调度解读引擎的流程示意图。
图6为本发明实施例异构平台调度解读引擎判断是否适合GPU加速的流程示意图。
图例说明:1、异构处理器单元;11、控制引擎;12、解读引擎;2、互联总线模块;21、HCCLink总线模块;22、HNCLink总线模块;3、内存;4、基因解读数据指令输入单元;5、基因解读结果输出单元。
具体实施方式
如图1和图2所示,本实施例的面向基因数据解读的可重构异构平台包括异构处理器单元1、互联总线模块2、内存3、基因解读数据指令输入单元4和基因解读结果输出单元5,异构处理器单元1分别通过互联总线模块2与内存3、基因解读数据指令输入单元4、基因解读结果输出单元5相连,异构处理器单元1包括CPU(Central Processing Unit, 中央处理器)、GPU(Graphics Processing Unit, 图形处理器)和内部集成有DSP(Digital SignalProcessor, 数字信号处理器)的FPGA(Field Programmable Gate Array, 现场可编程门阵列),其中,CPU构成控制引擎11,CPU、GPU、FPGA三者构成解读引擎12,控制引擎11在通过基因解读数据指令输入单元4接收基因解读数据指令并分割为代码段,当代码段的任务类型为控制任务时,将代码段的指令和数据调度CPU进行处理;当代码段的任务类型为解读任务时,将代码段的指令和数据调度解读引擎12进行处理并将计算结果通过基因解读结果输出单元5输出。
本实施例中,CPU数量可以为一个或者多个,每个CPU包括一个或多个处理器核(Processor Core),GPU数量可以为一个或者多个,FPGA数量可以为一个或者多个,CPU、GPU和FPGA三者中任意个体之间能够基于互联总线模块2进行互联并交换数据和指令,而且能够基于互联总线模块2实现和内存3、基因解读数据指令输入单元4和基因解读结果输出单元5中的任意设备进行互联并交换数据和指令。毫无疑问,实现上述设备部件之间互联并交换数据和指令的总线形式并不局限于特定互联方式,可以根据需要采用各种具体的实现方式。
如图3所示,FPGA包括交叉开关(Crossbar)、IO控制单元和DSP,IO控制单元、DSP分别和交叉开关相连,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控制器、上述DSP之间的互连,为它们之间的数据和指令传输提供通路。
如图1所示,互联总线模块2包括HCCLink(Heterogeneous computing CacheCoherence Link,异构计算存储一致性互联)总线模块21和HNCLink(Heterogeneouscomputing Non-Coherence Link,异构计算非一致性互联)总线模块22,CPU、GPU和FPGA分别通过HCCLink总线模块21和内存3相连,且CPU、GPU和FPGA分别通过HNCLink总线模块22和基因解读数据指令输入单元4以及基因解读结果输出单元5相连。HCCLink总线模块21用于上述CPU、上述FPGA和上述GPU与上述DDR4存储器阵列之间进行互联并交换数据、指令。HNCLink总线模块22用于上述CPU、上述FPGA和上述GPU之间进行互联并交换控制指令;用于上述CPU、上述FPGA和上述GPU与上述输入/输出设备(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进行处理;当代码段的任务类型为解读任务时,将代码段的指令和数据调度解读引擎12进行处理并将计算结果通过基因解读结果输出单元5输出。
本实施例中,CPU的功能如下:用于调度控制一个或多个FPGA,和一个或多个FPGA交互数据和指令;用于调度控制一个或多个GPU,和一个或多个GPU交互数据和指令;用于和一个或多个存储器交互数据和指令;用于接收和处理一个或多个输入设备输入的数据和指令;用于发送数据和指令到一个或多个输出设备;在基因数据解读流程中,用于执行调度任务、事物型任务,用于和一个或多个FPGA及一个或多个GPU配合执行基因数据解读任务。
本实施例中,FPGA的功能如下:用于和一个或多个CPU交互数据和指令;可以用于调度控制一个或多个GPU,和一个或多个GPU交互数据和指令;用于调度控制内部集成的DSP,和内部集成的DSP交互数据和指令;用于和一个或多个存储器交互数据和指令;可以用于接收和处理一个或多个输入设备输入的数据和指令;可以用于发送数据和指令到一个或多个输出设备;在基因数据解读流程中,用于和一个或多个CPU及一个或多个GPU配合执行基因数据解读任务,可以用于执行调度任务、事物型任务。
本实施例中,GPU的功能如下:用于和一个或多个CPU交互数据和指令;可以用于和一个或多个FPGA交互数据和指令;用于和一个或多个存储器交互数据和指令;在基因数据解读流程中,用于和一个或多个FPGA及一个或多个CPU配合执行基因数据解读任务。
本实施例中,集成于FPGA内部的DSP的功能如下:用于和一个或多个CPU交互数据和指令;可以用于和一个或多个GPU交互数据和指令;用于和一个或多个存储器交互数据和指令;可以用于接收和处理一个或多个输入设备输入的数据和指令;可以用于发送数据和指令到一个或多个输出设备;在基因数据解读流程中,用于和一个或多个CPU及一个或多个GPU配合执行基因数据解读任务。
本实施例中,内存3的功能如下:用于存储一个或多个基因测序数据,基因测序数据为原始数据和/或压缩数据,压缩数据不限定压缩算法;用于存储一个或多个基因参考序列及其对应的一个或多个标记;用于存储一个或多个已知基因变异数据;用于存储和基因数据解读相关的其它输入数据;在基因数据解读流程中,用于存储中间结果和最终数据;不限定存储器种类,例如DDR3(Dual Data Rate 3),DDR4等。
本实施例中,基因解读数据指令输入单元4的功能如下:用于输入基因数据解读流程所需的数据和指令;不限定输入设备种类,例如键盘(Keyboard)、鼠标(Mouse)、轨迹球(Trackball)、触控板(touch pad)等输入设备,或者边界扫描(Joint Test Action 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 StateDrives,SSD)等外部存储设备,不限定输出数据和指令的形式,例如电信号、文本、图片、语音、音频、视频等和它们的任意组合。参见图1,基因解读数据指令输入单元4和基因解读结果输出单元5之间可以基于部分共同的设备实现,例如通用接口模块、网络接口模块、外部存储设备等。
如图4和图5所示,将代码段的指令和数据调度解读引擎12进行处理的详细步骤包括:
B1)分别判断代码段是否为数字信号处理,是否为非图形图像类多媒体处理,是否为图形图像处理,如果三者都不是,则跳转执行步骤B7);否则,跳转执行步骤B2);
B2)判断代码段是否为图形图像处理,如果是图形图像处理,则跳转执行步骤B3);否则,跳转执行步骤B5);
B3)判断代码段分派到FPGA内的DSP上并且优化执行的总开销少于代码段分派到GPU上并且优化执行的总开销是否成立,代码段分派到FPGA内的DSP上并且优化执行的总开销包括CPU和FPGA之间交互数据和指令产生的通信开销、FPGA的访存开销以及FPGA的计算开销,代码段分派到GPU上并且优化执行的总开销包括CPU和GPU之间交互数据和指令产生的通信开销、GPU的访存开销以及GPU的计算开销,如果成立则跳转执行步骤B5);否则,跳转执行步骤B4);
B4)判断代码段是否是能耗优先,如果是能耗优先,则跳转执行步骤B5);否则,跳转执行步骤B7)
B5)判断代码段分派到FPGA内的DSP上并且优化执行的总开销少于代码段在CPU上执行的总开销是否成立,代码段在CPU上执行的总开销包括CPU的访存开销以及CPU的计算开销,如果成立则跳转执行步骤B6);否则,跳转执行步骤B8);
B6)将代码段的指令和数据调度FPGA内的DSP处理,退出;
B7)判断代码段的基因解读是否适合GPU加速处理,如果代码段的基因解读适合GPU加速处理,则将代码段的指令和数据调度GPU处理,退出;否则,跳转执行步骤B8);
B8)将代码段的指令和数据调度CPU处理,退出。
如图6所示,步骤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 (7)
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指数字信号处理器,所述FPGA指现场可编程门阵列,所述控制引擎(11)在通过基因解读数据指令输入单元(4)接收基因解读数据指令并分割为代码段,当代码段的任务类型为控制任务时,将代码段的指令和数据调度CPU进行处理;当代码段的任务类型为解读任务时,将代码段的指令和数据调度解读引擎(12)进行处理并将计算结果通过基因解读结果输出单元(5)输出;
所述将代码段的指令和数据调度解读引擎(12)进行处理的详细步骤包括:
B1)分别判断代码段是否为数字信号处理,是否为非图形图像类多媒体处理,是否为图形图像处理,如果三者都不是,则跳转执行步骤B7);否则,跳转执行步骤B2);
B2)判断代码段是否为图形图像处理,如果是图形图像处理,则跳转执行步骤B3);否则,跳转执行步骤B5);
B3)判断代码段分派到FPGA内的DSP上并且优化执行的总开销少于代码段分派到GPU上并且优化执行的总开销是否成立,所述代码段分派到FPGA内的DSP上并且优化执行的总开销包括CPU和FPGA之间交互数据和指令产生的通信开销、FPGA的访存开销以及FPGA的计算开销,所述代码段分派到GPU上并且优化执行的总开销包括CPU和GPU之间交互数据和指令产生的通信开销、GPU的访存开销以及GPU的计算开销,如果成立则跳转执行步骤B5);否则,跳转执行步骤B4);
B4)判断代码段是否是能耗优先,如果是能耗优先,则跳转执行步骤B5);否则,跳转执行步骤B7)
B5)判断代码段分派到FPGA内的DSP上并且优化执行的总开销少于代码段在CPU上执行的总开销是否成立,所述代码段在CPU上执行的总开销包括CPU的访存开销以及CPU的计算开销,如果成立则跳转执行步骤B6);否则,跳转执行步骤B8);
B6)将代码段的指令和数据调度FPGA内的DSP处理,退出;
B7)判断代码段的基因解读是否适合GPU加速处理,如果代码段的基因解读适合GPU加速处理,则将代码段的指令和数据调度GPU处理,退出;否则,跳转执行步骤B8);
B8)将代码段的指令和数据调度CPU处理,退出。
2.根据权利要求1所述的面向基因数据解读的可重构异构平台,其特征在于:所述FPGA包括交叉开关、IO控制单元和DSP,所述IO控制单元、DSP分别和交叉开关相连,所述IO控制单元与互联总线模块(2)相连。
3.根据权利要求2所述的面向基因数据解读的可重构异构平台,其特征在于:所述IO控制单元包括PCIE接口、DMA控制器、PIU外围接口部件和DDR控制器,所述交叉开关分别与DMA控制器、PIU外围接口部件和DDR控制器相连,所述DMA控制器、PIU外围接口部件之间相互连接,所述PCIE接口与DMA控制器相连,所述PCIE接口、DDR控制器分别与互联总线模块(2)相连,所述PCIE接口指快速外部组件互联接口,所述DMA控制器指直接存储访问控制器,所述PIU指外围接口部件,所述DDR控制器指双数据速率控制器。
4.根据权利要求1所述的面向基因数据解读的可重构异构平台,其特征在于:所述互联总线模块(2)包括HCCLink总线模块(21)和HNCLink总线模块(22),所述CPU、GPU和FPGA分别通过HCCLink总线模块(21)和内存(3)相连,且所述CPU、GPU和FPGA分别通过HNCLink总线模块(22)和基因解读数据指令输入单元(4)以及基因解读结果输出单元(5)相连,所述HCCLink总线模块指异构计算存储一致性互联总线模块,所述HNCLink总线模块指异构计算非一致性互联总线模块。
5.根据权利要求1所述的面向基因数据解读的可重构异构平台,其特征在于:所述基因解读数据指令输入单元(4)包括输入设备、通用接口模块、网络接口模块、多媒体输入接口模块、外部存储设备、传感器中的至少一种。
6.根据权利要求1所述的面向基因数据解读的可重构异构平台,其特征在于:所述基因解读结果输出单元(5)包括显示设备、通用接口模块、网络接口模块、多媒体输出接口模块、外部存储设备中的至少一种。
7.根据权利要求1所述的面向基因数据解读的可重构异构平台,其特征在于:步骤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 |
---|---|---|---|
CN201710055540.3A CN106897581B (zh) | 2017-01-25 | 2017-01-25 | 一种面向基因数据解读的可重构异构平台 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710055540.3A CN106897581B (zh) | 2017-01-25 | 2017-01-25 | 一种面向基因数据解读的可重构异构平台 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106897581A CN106897581A (zh) | 2017-06-27 |
CN106897581B true CN106897581B (zh) | 2018-01-26 |
Family
ID=59198991
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710055540.3A Active CN106897581B (zh) | 2017-01-25 | 2017-01-25 | 一种面向基因数据解读的可重构异构平台 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106897581B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107451427A (zh) * | 2017-07-27 | 2017-12-08 | 江苏微锐超算科技有限公司 | 一种可重构基因比对的计算系统及加速平台 |
CN109240832B (zh) * | 2018-09-25 | 2022-04-19 | 中国电子科技集团公司电子科学研究院 | 一种硬件重构系统及方法 |
CN111506540B (zh) * | 2020-04-24 | 2021-11-30 | 中国电子科技集团公司第五十八研究所 | 一种硬件可编程异构多核片上系统 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030104426A1 (en) * | 2001-06-18 | 2003-06-05 | Linsley Peter S. | Signature genes in chronic myelogenous leukemia |
CA2610752A1 (en) * | 2005-06-03 | 2006-12-14 | Aviaradx, Inc. | Identification of tumors and tissues |
CN105046109B (zh) * | 2015-06-26 | 2018-06-29 | 四川云合创智科技有限公司 | 一种用于生物信息序列分析的加速平台 |
-
2017
- 2017-01-25 CN CN201710055540.3A patent/CN106897581B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN106897581A (zh) | 2017-06-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106886690B (zh) | 一种面向基因数据计算解读的异构平台 | |
Jia et al. | Scalable and programmable neural network inference accelerator based on in-memory computing | |
CN207895435U (zh) | 神经网络计算模组 | |
CN207731321U (zh) | 硬件加速器引擎 | |
US11070623B2 (en) | Methods and apparatus for iterative nonspecific distributed runtime architecture and its application to cloud intelligence | |
CN110197111A (zh) | 用于深度学习引擎的加速单元 | |
CN106897581B (zh) | 一种面向基因数据解读的可重构异构平台 | |
CN105190542B (zh) | 提供可伸缩计算结构的方法、计算设备和打印设备 | |
CN105630735A (zh) | 一种基于可重构计算阵列的协处理器 | |
CN105046109B (zh) | 一种用于生物信息序列分析的加速平台 | |
CN111626414A (zh) | 一种动态多精度神经网络加速单元 | |
KR102137802B1 (ko) | 분산처리용 인공신경망 연산 가속화 장치, 이를 이용한 인공신경망 가속화 시스템, 및 그 인공신경망의 가속화 방법 | |
JP2022519004A (ja) | ハイブリッド型量子コンピュータを含むシステム及び方法、量子情報技術の態様並びに/又は他の特徴 | |
Catthoor et al. | Very large-scale neuromorphic systems for biological signal processing | |
CN104915213B (zh) | 一种可重构系统的局部重构控制器 | |
CN107066802A (zh) | 一种面向基因数据计算的异构平台 | |
CN101833439B (zh) | 基于分合思想的并行计算硬件结构 | |
Geng et al. | A survey: Handling irregularities in neural network acceleration with fpgas | |
CN106897582B (zh) | 一种面向基因数据解读的异构平台 | |
Jia et al. | Exploiting approximate feature extraction via genetic programming for hardware acceleration in a heterogeneous microprocessor | |
CN104572519A (zh) | 一种用于多处理器的多端口访存控制器及其控制方法 | |
US20240320496A1 (en) | Methods and Apparatus For Packet Reorder Flow in a Neural Network Processing System | |
CN102253920A (zh) | 一种全互联路由结构动态可重构数据处理方法及处理器 | |
Maggioni et al. | GPU-based steady-state solution of the chemical master equation | |
Fox | Massively parallel neural computation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |