SKA 基于 FPGA 的谐波求和模块——优化非规则内存访问
分布式、并行与集群计算
2019-01-07 v2
摘要
平方公里阵列(SKA)将成为世界上最大的射电望远镜,将增强并推动大量科学项目,包括脉冲星搜索。频域加速搜索是搜寻双星脉冲星的一种高效方法。其重要组成部分是谐波求和模块,这也是本文的研究对象。谐波求和模块中的大多数操作对 FPGA 而言相对廉价。主要挑战是对片外内存的大量非连续且非规则的点访问。尽管谐波求和本身可能并非针对 FPGA 加速,但它是脉冲星搜索流水线的一部分,该流水线包含许多其他计算密集型模块,这些模块在 FPGA 上可高效执行。因此将谐波求和也置于 FPGA 上可避免板外通信,否则会破坏其他加速收益。本文研究了两类谐波求和方法:1)将中间数据存于片外内存;2)直接处理输入信号而不存储。对于第二类,提出并评估了两种数据缓存方法:1)预加载频繁访问的点;2)预加载用于生成一块输出点所需的所有必要点。采用 OpenCL 实现所提方法。在广泛的实验评估中,相同的 OpenCL 内核代码在 FPGA 板与 GPU 卡上进行了评测。关于所提预加载方法,对输入信号重排序的同时预加载所有必要点的方法快于所有其他方法。虽然在原始性能上单块 FPGA 板无法与 GPU 竞争,但在能耗方面,执行相同 NDRange 内核时 GPU 的能耗最高达 FPGA 的 2.6 倍。
引用
@article{arxiv.1805.12258,
title = {Harmonic-summing Module of SKA on FPGA--Optimising the Irregular Memory Accesses},
author = {Haomiao Wang and Prabu Thiagaraj and Oliver Sinnen},
journal= {arXiv preprint arXiv:1805.12258},
year = {2019}
}
备注
14 pages, 12 figures, 7 tables, 30 references