FPGA上的矩阵计算并行算法与高性能数据分布机制
需积分: 47 67 浏览量
更新于2024-08-07
收藏 6.92MB PDF 举报
"国防科学技术大学的博士学位论文,作者邬贵明,专业计算机科学与技术,指导教师窦勇,主要研究FPGA在矩阵计算中的并行算法与结构优化。"
这篇论文详细探讨了如何利用FPGA(Field-Programmable Gate Array,现场可编程门阵列)进行高效的大数据处理,特别是在高性能计算(High Performance Computing, HPC)领域。论文的核心是块循环数据分布机制,这是一种优化数据在多块FPGA之间分布和调度的方法,以提高计算效率。
块循环数据分布机制是将大数据集分割成多个小块,每个FPGA负责处理一部分数据块。论文中提到,每块FPGA被分配了一个迭代块,用于访问本地DRAM存储器中的数据。图4.12展示了两种调度方案,方案二通常优于方案一,因为它能更有效地利用外部存储器中按列存储的数据,减少数据传输的延迟。
在多FPGA环境中,通信协调至关重要。例如,在图4.12(B)的第1阶段,FPGA之间的依赖关系清晰可见,每个FPGA必须等待特定的其他FPGA完成其计算任务才能开始自己的计算。尽管存在这种依赖,但由于迭代块的计算时间主要集中在大块A22上,因此等待时间相对总计算时间较短,这使得并行计算成为可能,尤其在Region Four中,迭代块并行执行无需等待,效率更高。
论文还介绍了两个主要的创新点:
1. 提出了一种面向基本矩阵运算的FPGA设计方法,包括高存储效率的分块矩阵乘法并行结构。通过循环分块等优化手段,实现了数据传输和存储的优化,降低了存储需求,从O(b^2)降低到O(b),其中b为数据块大小。这种方法在实验中显示了优于现有工作的性能。
2. 设计了FPGA上的列选主元LU分解的细粒度流水线并行算法,以及用于实现该算法的线性阵列。该并行结构不仅能解决LU分解,还能扩展到下三角方程组求解和多右端项的线性方程组求解。线性阵列的并行结构在性能上优于相关工作和通用处理器的软件实现。
最后,论文还涉及了FPGA上的分块稠密矩阵分解并行算法和结构,以不选主元LU分解为例,提出了一种分治策略,结合循环分块和时空映射,实现高效的FPGA实现。
总体而言,这篇论文深入研究了FPGA在大规模矩阵计算中的应用,提供了优化的数据分布和调度策略,以及并行计算结构,对于提升大数据处理的效率和扩展性具有重要意义。
2017-10-18 上传
2017-10-18 上传
2017-10-18 上传
2018-06-19 上传
点击了解资源详情
点击了解资源详情
2024-12-01 上传
2024-12-01 上传
sun海涛
- 粉丝: 36
- 资源: 3843
最新资源
- Angular实现MarcHayek简历展示应用教程
- Crossbow Spot最新更新 - 获取Chrome扩展新闻
- 量子管道网络优化与Python实现
- Debian系统中APT缓存维护工具的使用方法与实践
- Python模块AccessControl的Windows64位安装文件介绍
- 掌握最新*** Fisher资讯,使用Google Chrome扩展
- Ember应用程序开发流程与环境配置指南
- EZPCOpenSDK_v5.1.2_build***版本更新详情
- Postcode-Finder:利用JavaScript和Google Geocode API实现
- AWS商业交易监控器:航线行为分析与营销策略制定
- AccessControl-4.0b6压缩包详细使用教程
- Python编程实践与技巧汇总
- 使用Sikuli和Python打造颜色求解器项目
- .Net基础视频教程:掌握GDI绘图技术
- 深入理解数据结构与JavaScript实践项目
- 双子座在线裁判系统:提高编程竞赛效率