论文部分内容阅读
对于如何提升系统计算性能和改善能效比,传统的解决方案主要是依靠处理器优化,这无疑会进一步增加处理器负载。这些年,一种结合GPU、FPGA和DSP的异构计算方案正逐渐流行起来,由于它们包含大量并行计算硬件资源且往往具有较低的工作频率,因此在提升系统性能和功耗比上具有较大的优势。伴随着异构并行计算需求的增长,其硬件支撑的系统中加入了越来越多的计算模块,硬件模块之间时常会出现互相影响的情况。另一方面,不同的应用软件行为其执行效率在不同单元上实现往往效果会有很大的差别,如何合理利用情况各异的硬件资源,致力于实现标准化异构编程模型的OpenCL得到广泛关注。 本文主要讨论在云服务器下构建一套基于FPGA的OpenCL异构加速平台。由于目前FPGA对OpenCL支持的应用生态上还不够完善,且传统的FPGA异构计算解决方案都是基于现有的OpenCL参考设计平台,在特定应用需求下这种方式往往会对开发有一定程度的限制。针对这类问题,本文通过定制化FPGA实现了一个支持OpenCL的异构加速平台,并通过OpenCL异构编程测试和验证了该平台的可行性。 另一方面,云服务器下的应用开发环境复杂,如何使OpenCL异构加速平台具备良好的可扩展性、可维护性和可配置性,对于改善系统可用性有很大的帮助。针对这类问题和需求,本文针对平台实现了一套支撑系统,该系统下可以对异构平台实现远程监控、远程媒体设备管理、动态扩展和在线配置升级等,有效的支撑了异构加速平台的正常运转。 本文最后通过矩阵乘法运算实例对整个OpenCL平台进行了测试和验证,并通过增加内核工作量和优化内存移动等方式验证了其OpenCL在Stratix V FPGA上的计算性能,结果表明OpenCL在云服务器FPGA异构加速平台及其支撑系统支持下,具有良好的可用性且取得较好性能。