摘要 —IBM 神经计算机 (INC) 是一种高度灵活、可重新配置的并行处理系统,旨在作为新兴机器智能算法和计算神经科学的研究和开发平台。它由数百个可编程节点组成,主要基于 Xilinx 的现场可编程门阵列 (FPGA) 技术。节点以可扩展的 3d 网格拓扑互连。我们概述了 INC,强调了其独特功能,例如执行的计算类型和可用的通信模式的灵活性和可扩展性,从而实现了新的机器智能方法和学习策略,而这些方法和策略并不适合 GPU 优化的矩阵操作/SIMD 库。本文介绍了机器的架构,应用程序将在其他地方详细描述。
摘要背景:生物信息学工作流程经常使用自动基因组组装和蛋白质聚类工具。在大多数这些工具的核心中,执行时间的很大一部分用于确定两个序列之间的最佳局部比对。此任务使用 Smith-Waterman 算法执行,这是一种基于动态规划的方法。随着现代测序技术的出现以及基因组和蛋白质数据库的规模不断扩大,对更快的 Smith-Waterman 实现的需求应运而生。CPU 提供了多种 Smith-Waterman 算法的 SIMD 策略。然而,随着 HPC 设施向基于加速器的架构的转变,对高效的 GPU 加速策略的需求也随之而来。现有的基于 GPU 的策略要么针对特定类型的字符(核苷酸或氨基酸)进行了优化,要么仅针对少数应用用例进行了优化。结果:在本文中,我们提出了一种新的 GPU 架构序列比对策略 ADEPT,它与领域无关,支持来自基因组和蛋白质的序列比对。我们提出的策略使用 GPU 特定的优化,不依赖于序列的性质。我们通过实施 Smith-Waterman 算法并将其与类似的 CPU 策略以及每个领域中已知的最快 GPU 方法进行比较,证明了该策略的可行性。ADEPT 的驱动程序使其能够跨多个 GPU 进行扩展,并可以轻松集成到利用大规模计算系统的软件管道中。我们已经证明,基于 ADEPT 的 Smith-Waterman 算法在 Cori 超级计算机的单个 GPU 节点(8 个 GPU)上分别针对基于蛋白质和基于 DNA 的数据集展示了 360 GCUPS 和 497 GCUP 的峰值性能。总体而言,与相应的 SIMD CPU 实现相比,ADEPT 在节点到节点的比较中显示出 10 倍更快的性能。结论:ADEPT 表现出相当或更好的性能(下页继续)
摘要 - 经验动态建模(EDM)是一个非线性时间序列因果推理框架。由于计算成本,EDM的最新实现CPPEDM仅用于小型数据集。随着数据收集能力的增长,非常需要在大型数据集中识别因果关系。我们提出了MPEDM,这是针对以现代GPU为中心的超级计算机优化的EDM的平行分布式实现。我们改进了原始算法,以减少冗余计算并优化实现,以充分利用硬件资源,例如GPU和SIMD单元。作为用例,我们使用以单个神经元分辨率采样的整个动物大脑的数据集在AI桥接云基础架构(ABCI)上运行MPEDM,以识别整个大脑的动态因果模式。MPEDM比CPPEDM快1,530×,并且在512个节点的199秒内分析了包含101,729个神经元的数据集。这是迄今为止最大的EDM因果推论。
市场上有几种用于 FPGA 的商用软 IP 处理器:ARM Cortex M1 [3]、Altera NIOS [5] 和 Xilinx MicroBlaze [4]。尽管提供这些处理器的目的各不相同(前者是为了让 ARM 架构在更多的开发渠道上可用,后者则是想为使用相应 FPGA 的开发人员提供完整的数字设计系统),但它们的共同点在于都基于 RISC,并且每个内核的配置能力有限(例如可选的 FPU)。虽然 ρ-VEX [8] 是一种实现可重构和可扩展的软核 VLIW 处理器的非常实用的方法,但是并行性受到指令宽度的限制。[7] 提供了可扩展的并行性。该协处理器提供复杂的矢量化能力,但不能处理非 SIMD 类并行性。传输触发架构 (TTA) [6] 由于其数据流特性,在并行性方面是可扩展的和可伸缩的。此属性的缺点是缺乏使用更复杂的功能单元以及固有的存储能力来放宽调度问题的可能性。
HPSC 是一种现代的缓存一致性共享内存多核微处理器,具有八个应用处理核心,使用开放标准 64 位 RISC-V 指令集架构 (ISA) 实现 [5]。HPSC 集成了两个 SiFive X288 核心复合体,每个复合体由 4 个 X280 RISC-V 核心组成。X280 核心采用称为矢量单元的高级功能设计,符合 RISC-V 矢量扩展 (RVV) 标准。矢量单元具有 512 位矢量寄存器长度,支持可变矢量长度计算,最高可达 4096 位宽。RISC-V 矢量是一种强大且超高效的扩展,具有紧凑的代码大小、高性能能力,并且与其他 ISA 青睐的单指令多数据 (SIMD) 架构方法相比,片上 SoC 结构占用的面积有限。此外,RVV 可以在同一软件中使用不同的矢量长度,从而实现可扩展性、灵活性和未来兼容性。
HPSC是一种现代的高速缓存共享内存多核微处理器,使用开放标准64位RISC-V指令集架构(ISA)[5]实现了八个应用程序处理核心。HPSC集成了两个sifive x288核心复合物,每个复合物由4x x280 RISC-V核组成。X280核心设计的高级功能称为矢量单元,该功能符合RISC-V矢量扩展(RVV)标准。矢量单元具有512位矢量寄存器长度和可变矢量长度计算,最高为4096位。RISC-V向量是一种功能强大且高效的扩展名,具有紧凑的代码大小,高性能功能和ON-DIE SOC结构与单个指令多个数据(SIMD)体系结构方法相比,其他ISA偏爱的soc soc结构的区域有限。此外,RVV可以在同一软件中利用不同的向量长度,从而实现可伸缩性,灵活性和将来的兼容性。
摘要 - 基因组分析是对基因的研究,其中包括对基因组特征的识别,测量或比较。基因组学研究对我们的社会至关重要,因为它可以用于检测疾病,创建疫苗和开发药物和治疗方法。作为具有大量并行处理能力的一种通用加速器,GPU最近用于基因组学分析。开发基于GPU的硬件和软件框架用于基因组分析正在成为一个有希望的研究领域。为了支持这种类型的研究,需要基准,以具有代表性,并发和多种应用程序的应用程序。在这项工作中,我们创建了一个名为Genomics-GPU的基准套件,其中包含10种广泛使用的基因组分析应用。它涵盖了DNA和RNA的基因组比较,匹配和聚类。我们还调整了这些应用程序来利用CUDA动态并行性(CDP),这是一个支持动态GPU编程的最新高级功能,以进一步提高性能。我们的基准套件可以作为算法优化的基础,也可以促进GPU架构开发进行基因组学分析。索引术语 - 基因组学,生物信息学,基准测试,GPU,加速计算,基因组分析,计算机体系结构。I。研究基因组序列分析是指组织ISM的DNA序列的研究。该程序具有许多重要的应用,例如大流行爆发追踪,早期癌症检测[79],药物发育[43]和遗传疾病鉴定[87]。要通过通过四个字母(A,C,T和G)(也称为碱基或核苷酸)的字符串的形式将DNA分子通过分析生物体的基因组构成分析。确定碱基序列的过程称为基因组测序[30]。比较和发现生物学序列之间差异的过程称为序列比对[67]。过去十年中,基因组数据库的指数增长,需要在计算工具的帮助下进行大量数据。结果,已经开发了几种用于基因组分析的工具,例如BLAST [57]和GATK [58]。为了提高性能,某些基因组测序框架(例如Parasail [31]和KSW2 [53])采用了具有SIMD能力的CPU。他们利用SIMD指令提供的并行性来执行矩阵计算,通过在多个操作数中运行同一矢量命令。FPGASW [39]使用FPGA中的大量执行单元创建线性收缩期
摘要。SHA-3 被认为是最安全的标准哈希函数之一。它依赖于 Keccak-f[1 600] 置换,该置换对 1 600 位的内部状态进行操作,主要表示为 5 × 5 × 64 位矩阵。虽然现有实现通常以 32 位或 64 位的块顺序处理状态,但 Keccak-f[1 600] 置换可以通过并行化加速。本文首次通过 32 位和 64 位架构上的自定义向量扩展探索基于 RISC-V 的处理器中 Keccak-f[1 600] 并行化的全部潜力。我们分析了由五个不同步骤映射组成的 Keccak-f[1 600] 置换,并提出了十条自定义向量指令来加速计算。我们在 SystemVerilog 中描述的 SIMD 处理器中实现了这些扩展。我们将我们的设计性能与基于矢量化专用指令集处理器 (ASIP) 的现有架构进行了比较。我们表明,得益于我们精心选择的自定义矢量指令,我们的设计性能优于所有相关工作。
4. 学习多线程和数据流架构。 第一单元 - 并行处理简介(12 小时) 基本概念 – 并行的类型和级别 - 并行架构的分类 – 基本并行技术 - 共享内存多处理器 – 分布式内存多计算机 – 并行随机存取机 – VLSI 复杂度模型。 第二单元 - 处理器和内存层次结构(12 小时) 先进的处理器技术 – 超标量和矢量处理器 – 内存层次结构技术、虚拟内存技术 – 高速缓存内存组织 – 共享 – 内存组织。第三单元 — 流水线和超标量技术(12 小时) 线性流水线处理器 — 非线性流水线处理器 — 指令流水线设计 — 算术流水线设计 — 超标量流水线设计 第四单元 — 并行和可扩展架构(12 小时) 缓存一致性和同步机制 — 一致性问题 — 监听总线和基于目录的协议 — 矢量处理原理 矢量指令类型 — 矢量访问内存方案 — SIMD 计算机组织 — 实施模型 — CM2 — 架构延迟隐藏技术
lmbench基准BW_MEM测量已达到的内存副本性能。参数CP执行数组副本,而Bcopy参数使用Memcpy()标准函数的运行时GLIBC版本。GLIBC使用了高度优化的实现,例如使用SIMD,从而导致更高的性能。大小参数等于或小于给定级别的高速缓存大小,可以测量典型的loop或memcpy()类型操作的软件可实现的内存带宽。典型用途用于外部存储器带宽计算。带宽计算为字节读取和书面计数为1,这大约是流副本结果的一半。表3-1显示了所测得的带宽和与理论电线相比的效率。使用的电线速率是DDR MT/s速率倍宽度除以两个(读写副本都消耗了总线)。基准进一步允许使用-p参数创建并行线程。要获得最大的多核心存储器带宽,创建与可用于操作系统可用的核心相同的线程,对于AM62X Linux(-p 4)为4。