面向数据流结构的SIMD优化方法

 2022-06-25 22:50:14

论文总字数:30723字

摘 要

在这个数据规模爆炸性增长的时代,数据流结构依靠其本身优越的数据并行性和低能耗比在高性能计算机中崭露头角,但面向如Stencil和FFT在内的典型科学应用时,传统的数据流结构执行单元利用率不高,数据传输速率限制性能增长。

本文通过对科学计算的核心程序中处理的数据进行分析,发现他们具有明显的分块特征,操作相同但独立空间中的数据之间没有直接依赖关系,具有很高的并行计算潜力。利用这一特点,本文提出了一种面向数据流结构的SIMD优化方法--独立子空间SIMD优化方法,该方法能提高数据计算通量,提升执行单元的利用率。同时设计统一的SIMD访存消息,降低片上网络传输压力,将复杂的访存操作简化。

为提升数据传输效率以满足该优化方法的需求,本文还设计并实现了支持SIMD模式的DMAC,支持带步长的三维数据传输功能并实现双缓冲机制。测试结果表明,在三种传输情况下,相比普通的DMAC,支持SIMD-4模式和双缓冲机制的DMAC在传输效率和部件占用率上能得到明显提升。

关键词:数据流,SIMD,DMAC

Abstract

In an era of explosive growth of the data scale, the dataflow structure gains its popularity depending on its superior data parallelism and low energy consumption ratio in high performance computers. However, for typical scientific applications such as Stencil and FFT, the execution unit of the traditional dataflow structure is not highly efficient and the data transmission rate limits efficiency growth.

The data processed in the core program of scientific computing has distinct block characteristic, same data operations, and there is no direct dependency between the data in the independent space, which has a high potential for parallel computing. Using these characteristics, a SIMD optimization method is proposed, called independent subspace SIMD optimization method for dataflow structure. This method improves the flux of data calculation and the utilization of the execution unit. At the same time, a unified SIMD access message is designed to reduce the transmission pressure on the network and simplify the complex access memory operation.

To enhance the efficiency of data transmission to meet the needs of this optimization method, a DMAC supporting SIMD mode is designed, which supports the three-dimension data transmission function with step size and implements double buffering mechanism. The test results show that in the three transmission cases, compared to the ordinary DMAC, the DMAC supporting the SIMD-4 mode and the double buffering mechanism can significantly improve the transmission efficiency and the component occupancy rate.

KEY WORDS: dataflow, SIMD, DMAC

目录

摘要 I

Abstract II

第一章 引言 1

1.1 研究背景与意义 1

1.2 国内外研究现状 1

1.3 论文的研究内容 1

1.4 本文的组织结构 2

第二章 数据流处理器的介绍 3

2.1 数据流计算模式 3

2.1.1 数据流相关工作 3

2.1.2 粗粒度数据流 3

2.1.3 细粒度数据流 5

2.2 SPU处理器架构 7

2.2.1 SPU处理器整体架构 7

2.2.2 SPU的执行模式 7

2.3 传统数据流结构面临的挑战 8

2.4 本章小结 9

第三章 独立子空间SIMD优化 10

3.1 数据并行的传统解决方式 10

3.1.1 传统数据复用方法 10

3.1.2 无SIMD结构的方式 10

3.1.3 SIMD相关工作 11

3.1.4 一般SIMD方法分析 11

3.2 独立子空间SIMD结构 12

3.2.1 独立子空间划分 12

3.2.2 SIMD优化方法 13

3.2.3 优化方法的测试 14

3.3 本章小结 16

第四章 支持SIMD模式的DMAC的设计及实现 17

4.1 DMAC功能分析 17

4.2 DMAC设计与实现 18

4.2.1 DMAC所采用的外部连接协议 18

4.2.2 总体设计及实现 19

4.2.3 状态机设计及实现 22

4.3 本章小结 24

第五章 DMAC的测试及分析 25

5.1 测试环境及设置 25

5.2 模型分析 25

5.3 结果分析 27

5.4 本章小结 33

第六章 总结与展望 34

6.1 总结 34

6.2 展望 34

致谢 35

参考文献 36

引言

研究背景与意义

面对大规模的科学计算,我国的高性能计算机令全世界人们瞩目,以浮点运算性能Linpack作为测量标准,神威太湖之光、天河二号在最新的TOP500中占据前两名。不过当把高性能计算机应用于实际的科学计算时,结果却不尽如人意。在以如Stencil[1]、FFT[2]在内的操作为应用核心时,程序所能用到的浮点性能只占很小的部分[3],其原因来自于Stencil和FFT大多是计算稀疏或者访存不规则的,而标准测试程序主要包含矩阵或向量操作,这使得系统计算效率上有很大的鸿沟。然而随着E级时代的到来,这种性能的浪费会随着计算量的暴增而变为一个巨大的挑战。在现有的发展趋势下,随着计算峰值的提高,效率之间的差距也在不断拉大。

为了解决上述的问题,数据流结构的发展带来了新的突破口。数据流中指令的执行不依靠程序计数器,而是通过操作数是否到达进行就绪判断,没有传统设计中复杂的执行部件,无需乱序逻辑、保留站等控制逻辑,因而硬件用于计算的比例很大,具有很好的能效比。

国内外研究现状

国内外数据流结构的研究成果众多,如Texas大学提出的万亿次运算可靠智能自适应的处理系统TRIPS和Stanford大学开发的流体系结构原型芯片Imagine等。针对特定应用进行结构优化,专用型体系结构可以从根本上更好的发挥硬件的计算性能。不同于传统的指令驱动的冯·诺依曼体系结构,依靠数据驱动的数据流体系结构更能发掘出计算的并行性,在诸如NDN[4]、CNN[5, 6]甚至信号处理[7]和天气模型[8]在内的多个领域表现出了高性能和适用性。

剩余内容已隐藏,请支付后下载全文,论文总字数:30723字

您需要先支付 80元 才能查看全部内容!立即支付

该课题毕业论文、开题报告、外文翻译、程序设计、图纸设计等资料可联系客服协助查找;