CN111584011B - 面向基因比对的细粒度并行负载特征抽取分析方法及系统 - Google Patents

面向基因比对的细粒度并行负载特征抽取分析方法及系统 Download PDF

Info

Publication number
CN111584011B
CN111584011B CN202010278219.3A CN202010278219A CN111584011B CN 111584011 B CN111584011 B CN 111584011B CN 202010278219 A CN202010278219 A CN 202010278219A CN 111584011 B CN111584011 B CN 111584011B
Authority
CN
China
Prior art keywords
module
task
counting module
parallel
gene
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
CN202010278219.3A
Other languages
English (en)
Other versions
CN111584011A (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.)
Institute of Computing Technology of CAS
Original Assignee
Institute of Computing Technology of CAS
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 Institute of Computing Technology of CAS filed Critical Institute of Computing Technology of CAS
Priority to CN202010278219.3A priority Critical patent/CN111584011B/zh
Publication of CN111584011A publication Critical patent/CN111584011A/zh
Application granted granted Critical
Publication of CN111584011B publication Critical patent/CN111584011B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16BBIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
    • G16B50/00ICT programming tools or database systems specially adapted for bioinformatics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0862Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0877Cache access modes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30036Instructions to perform operations on packed data, e.g. vector, tile or matrix operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements
    • G06F9/30141Implementation provisions of register files, e.g. ports
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16BBIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
    • G16B30/00ICT specially adapted for sequence analysis involving nucleotides or amino acids
    • G16B30/10Sequence alignment; Homology search
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16BBIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
    • G16B50/00ICT programming tools or database systems specially adapted for bioinformatics
    • G16B50/50Compression of genetic data
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Biotechnology (AREA)
  • Evolutionary Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Biophysics (AREA)
  • Databases & Information Systems (AREA)
  • Bioethics (AREA)
  • Analytical Chemistry (AREA)
  • Proteomics, Peptides & Aminoacids (AREA)
  • Chemical & Material Sciences (AREA)
  • Genetics & Genomics (AREA)
  • Mathematical Physics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Complex Calculations (AREA)

Abstract

本发明提出一种面向基因比对的细粒度并行负载特征抽取分析方法及系统。本发明抽取的这些负载特征着眼于设计细节,以较细的粒度来分析基因比对的应用,从而使得加速器的结构更具有针对性、效率更高。很多加速器设计均着眼于应用的整体层面,着重刻画应用的“粗粒度”的特征,而定制结构的设计最终还是要落在细节上。此外,这些细粒度的负载特征常常出现在多个基准程序或者应用软件中,本文对这些“共性”部分进行归纳和抽象,对并行模式相同的特征给出统一的设计方案指导,提升了结构设计方法的通用性。

Description

面向基因比对的细粒度并行负载特征抽取分析方法及系统
技术领域
本发明涉及计算机系统结构设计领域和生物基因数据处理领域,并特别涉及对基因比对应用中具有共性的核心部分(基准程序)进行细粒度负载特征的抽取和分析。
背景技术
随着生物技术的高速发展,其日新月异的突破正在引发农业、医药等方面新一轮的产业革命,将会深刻地改变未来人类社会的生产生活方式。而生物信息学(Bioinformatics)是生物技术研究的必要手段和重大前沿领域之一,它是随着生命科学和计算机科学的迅猛发展,生命科学和计算机科学相结合形成的一门新学科,通过综合利用生物学,计算机科学和信息技术而揭示大量而复杂的生物数据所赋有的生物学奥秘。基因测序技术作为探索生命奥秘的重要手段,已经成为了生物信息学研究的重要分支,在物种鉴别、基因检测、疾病诊断等方面有着广泛的应用,基因测序技术的飞速发展为精准医疗奠定了坚实的基础。
二代测序成本的不断下降导致测序数据爆炸式增长,而基因序列比对作为基因测序的必要环节以及基因数据处理流程的性能瓶颈,其与测序仪之间的速度差距就成为了一个重大的挑战。由于计算和访存方面的特殊特征,又由于现有处理器平台与应用特征之间存在矛盾,比对应用在通用处理器上效率低下,需要设计一种新的定制化的结构,来满足这种日益增长的性能和功耗的需求。现有的对基因比对应用加速的方法大都着眼于应用的整体层面,刻画了应用的“粗粒度”的特征,而定制结构的设计最终还要落在细节上,只有将应用更“细粒度”的局部特征发掘出来并与结构设计相匹配,才能更有针对性、更高效。
发明内容
针对目前传统处理器的能力无法满足基因比对应用日益增长的需求,以及一些新的定制化的专用加速结构设计主要着眼于应用的整体层面,只刻画应用的“粗粒度”特征,加速效果有限的问题,本发明提出了基因比对应用中存在的一些共性的核心部分,称之为“基准程序”,并深入基准程序的局部,找出其在计算和访存方面的细粒度并行模式,并给出与之相应的并行结构设计的方案,用以指导后续的加速器结构设计。
针对现有技术的不足,本发明提出一种面向基因比对的细粒度并行负载特征抽取分析方法,其中
步骤1、获取待分析的基因向量和对应的待执行的分析任务,该分析任务由多个子任务构成,按顺序从该分析任务中选择子任务,作为当前任务;
步骤2、判断该当前任务是否属于计算任务,若是则执行步骤3,否则执行步骤4;
步骤3、通过并发数据通路对该基因向量执行该当前任务,得到该基因向量的子分析结果;
步骤4、判断该当前任务是否属于中间数据的临时存储任务,若是,则为临时任务数据提供向量寄存器和/或预取缓存,否则执行步骤5;
步骤5、判断该当前任务是否属于对某一局部连续地址空间内的内存访问任务,若是,则在片上存储器内缓存连续地址或采用多端口片上存储器对局部访存数据进行缓存,否则执行步骤6;
步骤6、判定该当前任务属于指被访问的数据结构超出片上存储资源的大跨度访存任务,利用片上缓存预取该数据结构或并行访问该数据结构,按顺序从该分析任务中选择下一个子任务,作为当前任务,再次执行步骤2,直到执行子任务全部执行完毕,输出该分析任务的分析结果。
所述的面向基因比对的细粒度并行负载特征抽取分析方法,其中该步骤2包括:
步骤21、构建基于FM-index索引的反向计数模块,该计数模块用于通过控制循环迭代的条件确定目标碱基的区间位置;构建用于确定参考序列中目标碱基精确位置的位置判定模块;通过逆补序列的反向计数构建正向计数模块。
所述的面向基因比对的细粒度并行负载特征抽取分析方法,其中该步骤2包括:
步骤22、通过调用该反向计数模块和/或位置判定模块和/或正向计数模块,为基因向量的每个元素单独设计运算器,并行完成该计算任务中的映射操作;通过调用该反向计数模块和/或位置判定模块和/或正向计数模块,以树状结构实现基因向量归约,并发完成该计算任务中的归约操作;通过调用该反向计数模块和/或位置判定模块和/或正向计数模块,以为基因向量的每对元素单独设计运算器,并行完成该计算任务中的组合操作;通过调用正向计数模块,以上层的并行分支以及下层的并行汇合构成的,每一层都通过不同功能单元实现操作的并发结构,并行完成该计算任务中的分支-汇合操作;通过调用正向计数模块,以定制的数据通路替代软件实现的指令开销和中间数据存取开销,并行完成该计算任务中的链式操作。
所述的面向基因比对的细粒度并行负载特征抽取分析方法,其中该步骤2包括:
步骤23、通过调用该反向计数模块和/或位置判定模块和/或正向计数模块,按位存储该基因向量,并行调整基因向量每一位的索引值,完成该计算任务中的双向移位操作;通过调用该反向计数模块和/或位置判定模块,利用寄存器直连,直接在向量寄存器中按位取出所需元素并送至相应位置进行处理,完成该计算任务中的按位取值操作;通过调用该反向计数模块和/或位置判定模块和/或正向计数模块,将索引之后的所有碱基都转换为一个固定碱基值,然后进行并发的Rank数据处理,最后从处理结果中减去该固定碱基值的累计值,完成该计算任务中的边界掩藏操作。
所述的面向基因比对的细粒度并行负载特征抽取分析方法,其中该基因向量为经过BWT算法压缩的向量。
本发明还提出了一种面向基因比对的细粒度并行负载特征抽取分析系统,包括:
模块1、获取待分析的基因向量和对应的待执行的分析任务,该分析任务由多个子任务构成,按顺序从该分析任务中选择子任务,作为当前任务;
模块2、判断该当前任务是否属于计算任务,若是则执行模块3,否则执行模块4;
模块3、通过并发数据通路对该基因向量执行该当前任务,得到该基因向量的子分析结果;
模块4、判断该当前任务是否属于中间数据的临时存储任务,若是,则为临时任务数据提供向量寄存器和/或预取缓存,否则执行模块5;
模块5、判断该当前任务是否属于对某一局部连续地址空间内的内存访问任务,若是,则在片上存储器内缓存连续地址或采用多端口片上存储器对局部访存数据进行缓存,否则执行模块6;
模块6、判定该当前任务属于指被访问的数据结构超出片上存储资源的大跨度访存任务,利用片上缓存预取该数据结构或并行访问该数据结构,按顺序从该分析任务中选择下一个子任务,作为当前任务,再次执行模块2,直到执行子任务全部执行完毕,输出该分析任务的分析结果。
所述的面向基因比对的细粒度并行负载特征抽取分析系统,其中该模块2包括:
模块21、构建基于FM-index索引的反向计数模块,该计数模块用于通过控制循环迭代的条件确定目标碱基的区间位置;构建用于确定参考序列中目标碱基精确位置的位置判定模块;通过逆补序列的反向计数构建正向计数模块。
所述的面向基因比对的细粒度并行负载特征抽取分析系统,其中该模块2包括:
模块22、通过调用该反向计数模块和/或位置判定模块和/或正向计数模块,为基因向量的每个元素单独设计运算器,并行完成该计算任务中的映射操作;通过调用该反向计数模块和/或位置判定模块和/或正向计数模块,以树状结构实现基因向量归约,并发完成该计算任务中的归约操作;通过调用该反向计数模块和/或位置判定模块和/或正向计数模块,以为基因向量的每对元素单独设计运算器,并行完成该计算任务中的组合操作;通过调用正向计数模块,以上层的并行分支以及下层的并行汇合构成的,每一层都通过不同功能单元实现操作的并发结构,并行完成该计算任务中的分支-汇合操作;通过调用正向计数模块,以定制的数据通路替代软件实现的指令开销和中间数据存取开销,并行完成该计算任务中的链式操作。
所述的面向基因比对的细粒度并行负载特征抽取分析系统,其中该模块2包括:
模块23、通过调用该反向计数模块和/或位置判定模块和/或正向计数模块,按位存储该基因向量,并行调整基因向量每一位的索引值,完成该计算任务中的双向移位操作;通过调用该反向计数模块和/或位置判定模块,利用寄存器直连,直接在向量寄存器中按位取出所需元素并送至相应位置进行处理,完成该计算任务中的按位取值操作;通过调用该反向计数模块和/或位置判定模块和/或正向计数模块,将索引之后的所有碱基都转换为一个固定碱基值,然后进行并发的Rank数据处理,最后从处理结果中减去该固定碱基值的累计值,完成该计算任务中的边界掩藏操作。
所述的面向基因比对的细粒度并行负载特征抽取分析系统,其中该基因向量为经过BWT算法压缩的向量。
由以上方案可知,本发明的优点在于:
本发明抽取的这些负载特征着眼于设计细节,以较细的粒度来分析基因比对的应用,从而使得加速器的结构更具有针对性、效率更高。很多加速器设计均着眼于应用的整体层面,着重刻画应用的“粗粒度”的特征,而定制结构的设计最终还是要落在细节上。此外,这些细粒度的负载特征常常出现在多个基准程序或者应用软件中,本文对这些“共性”部分进行归纳和抽象,对并行模式相同的特征给出统一的设计方案指导,这在一定程度上也提升了结构设计方法的通用性。
附图说明
图1是“映射”模式(a)程序片段示例和(b)并行结构图;
图2是“归约”模式(a)程序片段示例和(b)并行结构图;
图3是“组合”模式(a)程序片段示例和(b)并行结构图;
图4是“分支-汇合”模式(a)程序片段示例和(b)并行结构图;
图5是“链式”模式(a)程序片段示例和(b)并行结构图;
图6是“双向移位”模式(a)程序片段示例和(b)并行结构图;
图7是“按位取值”模式(a)程序片段示例和(b)并行结构图;
图8是“边界隐藏”模式(a)程序片段示例和(b)并行结构图;
图9是“中间寄存”模式及其结构图;
图10是小范围访存模式说明图;
图11是小范围访存并行结构图。
具体实施方式
本发明针对基因比对应用中存在的共性的核心部分,分析出了一些局部特征,并针对这些特征挖掘和抽取出了负载在计算和访存方面的细粒度并行模式,以为基因比对应用进行定制化的结构设计优化提供指导。
所述的“基准程序”指的是从众多基因比对应用中剥离出来的几个具有共性的核心算法的实现。基于对应用的分析和归纳,本发明将“正向计数(Counting-F)”、“反向计数(Counting-B)”和“位置判定(Determining)”等过程抽象出来,并通过函数合并、输入输出统一设计、多线程设计等手段,设计了基于BWT的序列比对领域中三种通用的基本操作,称之为“基准程序”。其中,BWT为Burrows–Wheeler transform算法(巴罗斯-惠勒变换算法),BWT算法可以根据文本数据中有重复字符串的特点,对原始数据进行特定的变换,从而使得新字符串中的连续(相邻)出现重复字符的频率增加,配合一些压缩算法能让数据达到更高的压缩比。
所述的“细粒度并行模式”分为计算和访存两方面,计算方面的并行模式在“字级(Word-level)”和“位级(Bit-level)”两个层面进行抽象。“字级”层面的模式以不定长度的“字”为逻辑单位,体现“个体”的潜在并行特征;“位级”层面的模式则打破“字”的概念,深入数据结构的最底层,也就是“比特位”,根据负载行为在位运算上的表现,对位运算的潜在并行性进行探索。访存方面的并行模式则主要体现在非规则访问和访问跨度上。表1展示了本文抽象出的应用细粒度特征以及它们在三种基准程序中的分布情况,字级特征包括“映射(Map)”、“归约(Reduce)”、“组合(Combine)”、“分支-汇合(Fork-join)”、“链式(Chain)”等五种,位级特征包括“双向移位(Bi-direction Shift)”、“按位取值(Shift-load)”、“边界掩藏(Boundary Mask)”等三种,访存特征包括“中间寄存(Intermediate Registration)”、“小范围访存(Narrow-span Access)”、“大跨度访存(Large-span Access)”等三种。
表1:
为让本发明的上述特征和效果能阐述的更明确易懂,下文特举实施例,并配合说明书附图作详细说明如下。
字级计算特征:
映射(Map)。图1(a)所示为“映射”模式的原始串行实现,在比对基准程序中,存在大量的这种片段,对于向量X,需要对其每个元素依次施加某种操作(示例中为“取反”),得到新的向量Z。其中向量X是对待处理数据,这里可以理解为原始基因数据及其衍生的数据(处理后)这些特征在基因比对计算中广泛存在。
对于这种模式,可以通过如图1(b)的结构设计实现向量的并行操作。为向量X的每个元素单独设计运算器“M”,使之能够同步完成而不再需要一个一个串行执行,时间复杂度从O(N)降至O(1)。
归约(Reduce)。图2(a)所示为“归约”模式的原始串行实现,对于向量X,需要在其各个元素之间施加某种操作(示例中为“加法”),最终这些元素“归约”为一个值,这种计算模式也是经常出现在比对算法中的。
对于这种模式,可以通过如图2(b)的树状结构实现向量归约的并发操作。对向量X中的元素两两同时进行运算,层层归约,时间复杂度从O(N)降至O(logN)。
组合(Combine)。图3(a)所示为“组合”模式的原始串行实现,对于向量X、Y,需要在其对应元素之间施加某种操作(示例中为“加法”),得到新的向量Z,这种计算模式是在比对算法中经常出现的。
对于这种模式,可以通过如图3(b)的并发结构实现向量“组合”的操作。设计一组可同时执行的运算器“C”,每个运算器的输入为向量X、Y中的每对元素,将原始的软件串行执行用并发结构代替,时间复杂度从O(N)降至O(1)。
分支-汇合(Fork-join)。图4(a)所示为“分支-汇合”模式的原始串行实现,对于操作数X,需要首先对其实施不同的操作(分支,如示例中的“自加”和“移位”),而后对这些操作结果再进行后续的操作(汇合,如示例中的“加法”),最终得到新的值Z,这也是比对算法中经常出现的一种计算模式。
对于这种模式,可以通过如图4(b)的并发结构实现,其中包含上层的并行分支以及下层的并行汇合,每一层都通过不同功能单元实现操作的并发处理,代替将原始的软件串行执行,时间复杂度从O(N)降至O(1)。
链式(Chain)。图5(a)所示为“链式”模式的原始串行实现,对于操作数X,需要将其与一组常量进行一连串的运算(示例所示为“加法”),最终得到新的值Z,此模式出现在“正向计数”中。
对于这种模式,可以通过如图5(b)的结构实现,这种结构的优点是通过定制的数据通路替代软件实现的指令开销和中间数据存取开销。
位级计算特征:
本文充分利用应用负载数据结构按位存储的特性,将这一在通用处理器(按字节处理)上的劣势转化为结构定制可利用的优势,充分发掘位操作或者位运算的可并发特征或者频繁出现的可定制模式,从而指导按位处理的结构设计。
双向移位(Bi-direction Shift)。图6(a)所示为“双向移位”模式的原始串行实现,对于操作数X首先需要对其向某方向进行移位操作,之后在对其进行反方向的移位操作。这种模式也是基因比对应用特有的,如示例中所示的地址转换过程,由于FM-index输入为BWT序列的索引(碱基序号),而BWT Rank的读取需要知道当前索引所在Rank的起始内存地址,这就需要一次从“碱基索引”到“内存地址”的地址转换,得益于按位存储的特点,只需对碱基索引值进行“先右移后左移”的操作。FM-index是一种对压缩数据进行索引的算法。数据用BWT等算法进行压缩,FM-index可以直接在压缩数据上进行索引,效率高。
对于这种模式,可以通过如图6(b)的结构实现,这种结构利用寄存器直连,直接对向量寄存器中所有元素赋值。示例中“先右移7位,再左移4位”来求得内存地址值,需要多拍操作以及中间寄存,但从寄存器级来看,最终结果只是“将向量中从右至左第4号元素赋值为原向量第七号元素,其他元素清零”,这样在一拍之内就可以完成地址转换。
按位取值(Shift-load)。图7(a)所示为“按位取值”模式的原始串行实现,对于向量X,需要依次取出其所有元素或者部分元素的值,分别存放在不同寄存器内,以便后续分别进行计算。在比对算法中会有很多地方出现这一模式,因为按位存储的方式决定了很多数据结构(向量)中同时存放着A、C、G、T四种碱基的信息,而某些计算需要将这些信息分别取出或者只取出部分,原始软件实现方式一般会通过串行执行的循环迭代来依次取出这些值,而每个迭代中需要先对向量进行“移位”操作,再进行“按位与”来取出相应位置上的元素。
对于这种模式,可以通过如图7(b)的结构实现,这种结构利用寄存器直连,直接在向量寄存器中按位取出所需元素并送至相应位置进行处理,替代原有的移位、按位与等多次操作,时间复杂度从O(N)降至O(1)。
边界掩藏(Boundary Mask)。在计算BWT Rank中各碱基的局部频数时,需要对整块Rank序列进行扫描,如图8(a)所示过程,扫描的起始位置为Rank数据的起始位置,是确定的,但扫描的终止位置是不确定的,因为输入的索引值(Idx)可能落在Rank中的任意碱基位置,而且由于碱基按位存储的特点,索引并不是以字节为单位,而是以2比特位为单位,这种不定长度的遍历为结构设计带来很大困难。
为了将串行执行的Rank遍历替换为并发处理,图8(b)给出了对这种模式的结构设计方法,其主要思想是将“不确定”转化为“确定”,不论索引值落在哪个位置,都对固定长度的整个Rank数据进行处理,最后再“减去”从索引位置到Rank末尾这一段的累计值,而这个累计值(我们称之为边界处理)是这种得来的:在整个Rank数据处理之前先对Rank数据进行边界掩藏,即将索引之后的所有碱基都转换为某一个固定碱基值(如‘A’),然后进行并发的Rank数据处理,最后从结果中减去相应个数(从索引到末尾位置)的碱基‘A’的累计值,便得到最终结果。其中位置的控制是用比较器对索引位置(示例中为125)与所有位置进行比较实现的,比较结果控制“二选一”选择器,索引位置之前的仍保持原来碱基不变,索引位置之后的置为固定碱基‘A’。通过这种方法,将原始循环遍历的串行实现替代为并发操作,时间复杂度从O(N)降至O(1)。
访存特征:
上面介绍了存在潜在并发特征的计算模式,除此之外,本文对负载中出现较频繁的访存特征(Memory-level Characterization)也进行了分析,抽象出几种可并发访存的访存模式,指导定制内存系统的设计。
中间寄存(Intermediate Registration)。定制数据通路的不同处理阶段(Stage)之间往往需要中间数据的临时存储(寄存),需要根据中间数据的特征定制相应的中间寄存器。本文将分两种情况讨论这种数据,第一种情况如图9(a)所示,中间数据为向量,因此需要为其提供宽度合适的向量寄存器来提高传递效率,例如基准程序中参考序列访问后返回的Rank向量的中间寄存。第二种情况如图9(b)所示,由于结构设计需要,对前一阶段的数据进行预取,减小下一阶段等待时间,此时需要根据预取数据量在两个阶段之间设计合适容量的预取缓存,例如read流的预取和缓存。
小范围访存(Narrow-span Acees)。小范围访存是比对应用中较有特色的一种访存模式,在正向计数实现中频繁出现。所谓“小范围”是指在某一时间段或整个程序执行过程中,对某一局部连续地址空间内的内存访问,这种局部地址空间访问虽然不一定带有访存局部性特征,甚至是无规则访问,但其访问往往被限制在“一块”体量较小的数据结构之内,例如正向计数中对频数查找表的访问。虽然对查找表的访问是无规则的,但是这种数据块占用内存空间较小却又被频繁访问,因此可以通过片上存储的方式来减小片外访存的开销。
小范围访存可以是顺序访存或者无规则访存,图10(a)所示局部顺序访存在执行过程中前后访问地址是连续的,图10(b)所示局部无规则访存地址空间虽被限制在一定范围内,但其访问顺序并无规则。然而,不论顺序访存还是无规则访存,其地址范围是被局限在小范围的,因此都可以在片上存储器内缓存。而若前后访问并无依赖关系,则具备可并行访存的特征,本文利用图11(a)所示的多端口片上存储器对此种局部访存数据进行缓存,存储器内部通过存储体分组的方式减少存储体冲突,数据按地址顺序交错散列在不同存储体上,这样通过多端口并发读可以实现片上访存的并发执行。当可并发的访存请求数目较多时,为了减小较多端口的设计复杂度,可以通过片上存储器的复制,达到多存储器同时响应并发请求的效果,如图11(b)所示,局部数据也需要复制多份分别存储在各存储器内,但因为数据量小,这种方式并不会带来很大开销。
大跨度访存(Large-span Access)。相比于小范围访存,本文所称大跨度访存是指被访问的数据结构需占用大量内存空间,例如所有基准程序中对参考序列的访问。对此数据结构的访问地址跨度较大,受片上资源限制,这种数据结构无法完全贮存于片上存储器中,必须置于主存内进行片外访存。当然,对于有规则的顺序访问(例如read流的读取),仍然可以利用预取技术和片上缓存来掩藏频繁片外访问的延迟开销。但是,对于无规则的大跨度访存(典型例子就是参考序列的访问),最有效的方式将是提高访存并发度,充分利用内存带宽,提升吞吐率。
本发明着眼于分析和挖掘应用的细粒度特征,分别从计算和访存方面抽取了应用中频繁出现的热点模块,表2描述了这些模块在三个基准测试程序中的分布,这些模块在原始软件实现中都为串行实现,运行效率低,本发明从硬件结构设计的角度挖掘了它们潜在的可并发特性,归类抽象出了几类计算和访存模式,并分别针对不同模式的特点提出了并行结构的设计思路,指导基因比对应用加速结构设计,表2为对这些模式的概括。
表2:
以下为与上述方法实施例对应的系统实施例,本实施方式可与上述实施方式互相配合实施。上述实施方式中提到的相关技术细节在本实施方式中依然有效,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在上述实施方式中。
本发明还提出了一种面向基因比对的细粒度并行负载特征抽取分析系统,包括:
模块1、获取待分析的基因向量和对应的待执行的分析任务,该分析任务由多个子任务构成,按顺序从该分析任务中选择子任务,作为当前任务;
模块2、判断该当前任务是否属于计算任务,若是则执行模块3,否则执行模块4;
模块3、通过并发数据通路对该基因向量执行该当前任务,得到该基因向量的子分析结果;
模块4、判断该当前任务是否属于中间数据的临时存储任务,若是,则为临时任务数据提供向量寄存器和/或预取缓存,否则执行模块5;
模块5、判断该当前任务是否属于对某一局部连续地址空间内的内存访问任务,若是,则在片上存储器内缓存连续地址或采用多端口片上存储器对局部访存数据进行缓存,否则执行模块6;
模块6、判定该当前任务属于指被访问的数据结构超出片上存储资源的大跨度访存任务,利用片上缓存预取该数据结构或并行访问该数据结构,按顺序从该分析任务中选择下一个子任务,作为当前任务,再次执行模块2,直到执行子任务全部执行完毕,输出该分析任务的分析结果。
所述的面向基因比对的细粒度并行负载特征抽取分析系统,其中该模块2包括:
模块21、构建基于FM-index索引的反向计数模块,该计数模块用于通过控制循环迭代的条件确定目标碱基的区间位置;构建用于确定参考序列中目标碱基精确位置的位置判定模块;通过逆补序列的反向计数构建正向计数模块。
所述的面向基因比对的细粒度并行负载特征抽取分析系统,其中该模块2包括:
模块22、通过调用该反向计数模块和/或位置判定模块和/或正向计数模块,为基因向量的每个元素单独设计运算器,并行完成该计算任务中的映射操作;通过调用该反向计数模块和/或位置判定模块和/或正向计数模块,以树状结构实现基因向量归约,并发完成该计算任务中的归约操作;通过调用该反向计数模块和/或位置判定模块和/或正向计数模块,以为基因向量的每对元素单独设计运算器,并行完成该计算任务中的组合操作;通过调用正向计数模块,以上层的并行分支以及下层的并行汇合构成的,每一层都通过不同功能单元实现操作的并发结构,并行完成该计算任务中的分支-汇合操作;通过调用正向计数模块,以定制的数据通路替代软件实现的指令开销和中间数据存取开销,并行完成该计算任务中的链式操作。
所述的面向基因比对的细粒度并行负载特征抽取分析系统,其中该模块2包括:
模块23、通过调用该反向计数模块和/或位置判定模块和/或正向计数模块,按位存储该基因向量,并行调整基因向量每一位的索引值,完成该计算任务中的双向移位操作;通过调用该反向计数模块和/或位置判定模块,利用寄存器直连,直接在向量寄存器中按位取出所需元素并送至相应位置进行处理,完成该计算任务中的按位取值操作;通过调用该反向计数模块和/或位置判定模块和/或正向计数模块,将索引之后的所有碱基都转换为一个固定碱基值,然后进行并发的Rank数据处理,最后从处理结果中减去该固定碱基值的累计值,完成该计算任务中的边界掩藏操作。
所述的面向基因比对的细粒度并行负载特征抽取分析系统,其中该基因向量为经过BWT算法压缩的向量。

Claims (6)

1.一种面向基因比对的细粒度并行负载特征抽取分析方法,其特征在于,
步骤1、获取待分析的基因向量和对应的待执行的分析任务,该分析任务由多个子任务构成,按顺序从该分析任务中选择子任务,作为当前任务;
步骤2、判断该当前任务是否属于计算任务,若是则执行步骤3,否则执行步骤4;
步骤3、通过并发数据通路对该基因向量执行该当前任务,得到该基因向量的子分析结果;
步骤4、判断该当前任务是否属于中间数据的临时存储任务,若是,则为临时任务数据提供向量寄存器和/或预取缓存,否则执行步骤5;
步骤5、判断该当前任务是否属于对某一局部连续地址空间内的内存访问任务,若是,则在片上存储器内缓存连续地址或采用多端口片上存储器对局部访存数据进行缓存,否则执行步骤6;
步骤6、判定该当前任务属于指被访问的数据结构超出片上存储资源的大跨度访存任务,利用片上缓存预取该数据结构或并行访问该数据结构,按顺序从该分析任务中选择下一个子任务,作为当前任务,再次执行步骤2,直到执行子任务全部执行完毕,输出该分析任务的分析结果;
该步骤2包括:
步骤21、构建基于FM-index索引的反向计数模块,该计数模块用于通过控制循环迭代的条件确定目标碱基的区间位置;构建用于确定参考序列中目标碱基精确位置的位置判定模块;通过逆补序列的反向计数构建正向计数模块;
步骤22、通过调用该反向计数模块和/或位置判定模块和/或正向计数模块,为基因向量的每个元素单独设计运算器,并行完成该计算任务中的映射操作;通过调用该反向计数模块和/或位置判定模块和/或正向计数模块,以树状结构实现基因向量归约,并发完成该计算任务中的归约操作;通过调用该反向计数模块和/或位置判定模块和/或正向计数模块,以为基因向量的每对元素单独设计运算器,并行完成该计算任务中的组合操作;通过调用正向计数模块,以上层的并行分支以及下层的并行汇合构成的,每一层都通过不同功能单元实现操作的并发结构,并行完成该计算任务中的分支-汇合操作;通过调用正向计数模块,以定制的数据通路替代软件实现的指令开销和中间数据存取开销,并行完成该计算任务中的链式操作。
2.根据权利要求1所述的面向基因比对的细粒度并行负载特征抽取分析方法,其特征在于,该步骤2包括:
步骤23、通过调用该反向计数模块和/或位置判定模块和/或正向计数模块,按位存储该基因向量,并行调整基因向量每一位的索引值,完成该计算任务中的双向移位操作;通过调用该反向计数模块和/或位置判定模块,利用寄存器直连,直接在向量寄存器中按位取出所需元素并送至相应位置进行处理,完成该计算任务中的按位取值操作;通过调用该反向计数模块和/或位置判定模块和/或正向计数模块,将索引之后的所有碱基都转换为一个固定碱基值,然后进行并发的Rank数据处理,最后从处理结果中减去该固定碱基值的累计值,完成该计算任务中的边界掩藏操作。
3.根据权利要求1或2所述的面向基因比对的细粒度并行负载特征抽取分析方法,其特征在于,该基因向量为经过BWT算法压缩的向量。
4.一种面向基因比对的细粒度并行负载特征抽取分析系统,其特征在于,
模块1、获取待分析的基因向量和对应的待执行的分析任务,该分析任务由多个子任务构成,按顺序从该分析任务中选择子任务,作为当前任务;
模块2、判断该当前任务是否属于计算任务,若是则执行模块3,否则执行模块4;
模块3、通过并发数据通路对该基因向量执行该当前任务,得到该基因向量的子分析结果;
模块4、判断该当前任务是否属于中间数据的临时存储任务,若是,则为临时任务数据提供向量寄存器和/或预取缓存,否则执行模块5;
模块5、判断该当前任务是否属于对某一局部连续地址空间内的内存访问任务,若是,则在片上存储器内缓存连续地址或采用多端口片上存储器对局部访存数据进行缓存,否则执行模块6;
模块6、判定该当前任务属于指被访问的数据结构超出片上存储资源的大跨度访存任务,利用片上缓存预取该数据结构或并行访问该数据结构,按顺序从该分析任务中选择下一个子任务,作为当前任务,再次执行模块2,直到执行子任务全部执行完毕,输出该分析任务的分析结果;
该模块2包括:
模块21、构建基于FM-index索引的反向计数模块,该计数模块用于通过控制循环迭代的条件确定目标碱基的区间位置;构建用于确定参考序列中目标碱基精确位置的位置判定模块;通过逆补序列的反向计数构建正向计数模块;
模块22、通过调用该反向计数模块和/或位置判定模块和/或正向计数模块,为基因向量的每个元素单独设计运算器,并行完成该计算任务中的映射操作;通过调用该反向计数模块和/或位置判定模块和/或正向计数模块,以树状结构实现基因向量归约,并发完成该计算任务中的归约操作;通过调用该反向计数模块和/或位置判定模块和/或正向计数模块,以为基因向量的每对元素单独设计运算器,并行完成该计算任务中的组合操作;通过调用正向计数模块,以上层的并行分支以及下层的并行汇合构成的,每一层都通过不同功能单元实现操作的并发结构,并行完成该计算任务中的分支-汇合操作;通过调用正向计数模块,以定制的数据通路替代软件实现的指令开销和中间数据存取开销,并行完成该计算任务中的链式操作。
5.根据权利要求4所述的面向基因比对的细粒度并行负载特征抽取分析系统,其特征在于,该模块2包括:
模块23、通过调用该反向计数模块和/或位置判定模块和/或正向计数模块,按位存储该基因向量,并行调整基因向量每一位的索引值,完成该计算任务中的双向移位操作;通过调用该反向计数模块和/或位置判定模块,利用寄存器直连,直接在向量寄存器中按位取出所需元素并送至相应位置进行处理,完成该计算任务中的按位取值操作;通过调用该反向计数模块和/或位置判定模块和/或正向计数模块,将索引之后的所有碱基都转换为一个固定碱基值,然后进行并发的Rank数据处理,最后从处理结果中减去该固定碱基值的累计值,完成该计算任务中的边界掩藏操作。
6.根据权利要求4或5所述的面向基因比对的细粒度并行负载特征抽取分析系统,其特征在于,该基因向量为经过BWT算法压缩的向量。
CN202010278219.3A 2020-04-10 2020-04-10 面向基因比对的细粒度并行负载特征抽取分析方法及系统 Active CN111584011B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010278219.3A CN111584011B (zh) 2020-04-10 2020-04-10 面向基因比对的细粒度并行负载特征抽取分析方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010278219.3A CN111584011B (zh) 2020-04-10 2020-04-10 面向基因比对的细粒度并行负载特征抽取分析方法及系统

Publications (2)

Publication Number Publication Date
CN111584011A CN111584011A (zh) 2020-08-25
CN111584011B true CN111584011B (zh) 2023-08-29

Family

ID=72122757

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010278219.3A Active CN111584011B (zh) 2020-04-10 2020-04-10 面向基因比对的细粒度并行负载特征抽取分析方法及系统

Country Status (1)

Country Link
CN (1) CN111584011B (zh)

Citations (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10105412A (ja) * 1996-09-30 1998-04-24 Hitachi Ltd 主記憶の効率的アクセスを実現するオブジェクト生成方法
EP1190382A2 (en) * 1999-05-19 2002-03-27 Whitehead Institute For Biomedical Research A method and relational database management system for storing, comparing, and displaying results produced by analyses of gene array data
WO2002073504A1 (en) * 2001-03-14 2002-09-19 Gene Logic, Inc. A system and method for retrieving and using gene expression data from multiple sources
WO2005010148A2 (en) * 2003-06-19 2005-02-03 Exelixis, Inc. Marks as modifiers of the pten pathway and methods of use
CN1952897A (zh) * 2005-10-18 2007-04-25 中国科学院计算技术研究所 一种基于数据流分析的访存合并优化方法
CN101346724A (zh) * 2005-11-26 2009-01-14 吉恩安全网络有限责任公司 清除干扰遗传数据,并使用遗传数据进行预测的方法和体系
CN103502468A (zh) * 2009-10-21 2014-01-08 生物纳米基因公司 用于单分子全基因组分析的方法和相关装置
WO2015000284A1 (zh) * 2013-07-05 2015-01-08 中国科学院数学与系统科学研究院 一种测序序列映射方法及系统
WO2017048647A1 (en) * 2015-09-19 2017-03-23 Microsoft Technology Licensing, Llc Implicit program order
CN107273204A (zh) * 2016-04-08 2017-10-20 华为技术有限公司 用于基因分析的资源分配方法和装置
JP2017224191A (ja) * 2016-06-16 2017-12-21 株式会社日立製作所 Dna配列解析装置、dna配列解析方法及びdna配列解析システム
WO2018000174A1 (zh) * 2016-06-28 2018-01-04 深圳大学 面向存储的dna序列的并行快速匹配方法及其系统
CN107609350A (zh) * 2017-09-08 2018-01-19 厦门极元科技有限公司 一种二代测序数据分析平台的数据处理方法
CN108664767A (zh) * 2018-05-21 2018-10-16 广州金域医学检验中心有限公司 测序建库的引物序列处理方法、装置、设备及存储介质
CN109155149A (zh) * 2016-03-29 2019-01-04 瑞泽恩制药公司 遗传变体-表型分析系统和使用方法
CN109785905A (zh) * 2018-12-18 2019-05-21 中国科学院计算技术研究所 一种面向基因比对算法的加速装置
TW201931181A (zh) * 2018-01-05 2019-08-01 國立交通大學 用於基因定序資料的資料處理方法及系統
CN110363272A (zh) * 2018-04-11 2019-10-22 中兴通讯股份有限公司 一种数据处理方法、装置及存储介质
CN110619595A (zh) * 2019-09-17 2019-12-27 华中科技大学 一种基于多fpga加速器互联的图计算优化方法
CN110825433A (zh) * 2019-10-30 2020-02-21 电子科技大学 一种边缘控制设备设计方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7058636B2 (en) * 2000-01-03 2006-06-06 Dirk Coldewey Method for prefetching recursive data structure traversals
US7926046B2 (en) * 2005-12-13 2011-04-12 Soorgoli Ashok Halambi Compiler method for extracting and accelerator template program
EP2994749A4 (en) * 2013-01-17 2017-07-19 Edico Genome Corp. Bioinformatics systems, apparatuses, and methods executed on an integrated circuit processing platform
US9600442B2 (en) * 2014-07-18 2017-03-21 Intel Corporation No-locality hint vector memory access processors, methods, systems, and instructions

Patent Citations (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10105412A (ja) * 1996-09-30 1998-04-24 Hitachi Ltd 主記憶の効率的アクセスを実現するオブジェクト生成方法
EP1190382A2 (en) * 1999-05-19 2002-03-27 Whitehead Institute For Biomedical Research A method and relational database management system for storing, comparing, and displaying results produced by analyses of gene array data
WO2002073504A1 (en) * 2001-03-14 2002-09-19 Gene Logic, Inc. A system and method for retrieving and using gene expression data from multiple sources
WO2005010148A2 (en) * 2003-06-19 2005-02-03 Exelixis, Inc. Marks as modifiers of the pten pathway and methods of use
CN1952897A (zh) * 2005-10-18 2007-04-25 中国科学院计算技术研究所 一种基于数据流分析的访存合并优化方法
CN101346724A (zh) * 2005-11-26 2009-01-14 吉恩安全网络有限责任公司 清除干扰遗传数据,并使用遗传数据进行预测的方法和体系
CN103502468A (zh) * 2009-10-21 2014-01-08 生物纳米基因公司 用于单分子全基因组分析的方法和相关装置
WO2015000284A1 (zh) * 2013-07-05 2015-01-08 中国科学院数学与系统科学研究院 一种测序序列映射方法及系统
WO2017048647A1 (en) * 2015-09-19 2017-03-23 Microsoft Technology Licensing, Llc Implicit program order
CN109155149A (zh) * 2016-03-29 2019-01-04 瑞泽恩制药公司 遗传变体-表型分析系统和使用方法
CN107273204A (zh) * 2016-04-08 2017-10-20 华为技术有限公司 用于基因分析的资源分配方法和装置
JP2017224191A (ja) * 2016-06-16 2017-12-21 株式会社日立製作所 Dna配列解析装置、dna配列解析方法及びdna配列解析システム
WO2018000174A1 (zh) * 2016-06-28 2018-01-04 深圳大学 面向存储的dna序列的并行快速匹配方法及其系统
CN107609350A (zh) * 2017-09-08 2018-01-19 厦门极元科技有限公司 一种二代测序数据分析平台的数据处理方法
TW201931181A (zh) * 2018-01-05 2019-08-01 國立交通大學 用於基因定序資料的資料處理方法及系統
CN110363272A (zh) * 2018-04-11 2019-10-22 中兴通讯股份有限公司 一种数据处理方法、装置及存储介质
CN108664767A (zh) * 2018-05-21 2018-10-16 广州金域医学检验中心有限公司 测序建库的引物序列处理方法、装置、设备及存储介质
CN109785905A (zh) * 2018-12-18 2019-05-21 中国科学院计算技术研究所 一种面向基因比对算法的加速装置
CN110619595A (zh) * 2019-09-17 2019-12-27 华中科技大学 一种基于多fpga加速器互联的图计算优化方法
CN110825433A (zh) * 2019-10-30 2020-02-21 电子科技大学 一种边缘控制设备设计方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于Hash索引的高通量基因序列比对并行加速技术研究;王文迪等;《计算机研究与发展》;20131130;第50卷(第11期);第2463-2471页 *

Also Published As

Publication number Publication date
CN111584011A (zh) 2020-08-25

Similar Documents

Publication Publication Date Title
US6113650A (en) Compiler for optimization in generating instruction sequence and compiling method
EP0450658B1 (en) Parallel pipelined instruction processing system for very long instruction word
US7769982B2 (en) Data processing apparatus and method for accelerating execution of subgraphs
Li et al. Accelerating binarized neural networks via bit-tensor-cores in turing gpus
Rios et al. Exploring parallel multi-GPU local search strategies in a metaheuristic framework
Jiang et al. Boyi: A systematic framework for automatically deciding the right execution model of OpenCL applications on FPGAs
CN1662904A (zh) 具有级联simd结构的数字信号处理器
Hou et al. A framework for the automatic vectorization of parallel sort on x86-based processors
Houtgast et al. An efficient gpuaccelerated implementation of genomic short read mapping with bwamem
Jiang et al. CUDAMPF: a multi-tiered parallel framework for accelerating protein sequence search in HMMER on CUDA-enabled GPU
Conficconi et al. An energy-efficient domain-specific architecture for regular expressions
Jiang et al. Optimizing small channel 3D convolution on GPU with tensor core
CN112395548A (zh) 通过指令用于动态编程的处理器及配置该处理器的方法
Zhang et al. A novel parallel approach of radix sort with bucket partition preprocess
CN111584011B (zh) 面向基因比对的细粒度并行负载特征抽取分析方法及系统
Chen et al. A just-in-time customizable processor
US20230385258A1 (en) Dynamic random access memory-based content-addressable memory (dram-cam) architecture for exact pattern matching
Awan et al. Gpu-arraysort: A parallel, in-place algorithm for sorting large number of arrays
US20230205534A1 (en) Address manipulation using indices and tags
Mohammadi et al. Energy efficient on-demand dynamic branch prediction models
Heidorn et al. Efficient Mapping of CNNs onto Tightly Coupled Processor Arrays.
CN111798923B (zh) 基因比对的细粒度负载特征分析方法、装置与存储介质
WO2022110567A1 (zh) 一种针对粗粒度可重构结构的数据重用消除访存冲突方法
Titopoulos et al. IndexMAC: A Custom RISC-V Vector Instruction to Accelerate Structured-Sparse Matrix Multiplications
Park et al. Accelerating smith-waterman alignment workload with scalable vector computing

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