随着科学技术水平的高速发展,人类社会在不知不觉中已经迈入了大数据时代。当前,科学研究与实际应用的众多领域对于计算机系统的运算性能要求越来越高。在这种背景之下,传统以cpu为核心的计算机系统愈发显得力不从心,搭载了多种不同处理单元的异构计算平台脱颖而出。cpu-gpu异构系统是当前异构计算研究领域的主流之一,OpenCL框架大大降低了异构系统应用程序开发的难度,基于OpenCL框架的cpu-gpu异构系统在许多领域中都得到了广泛应用。cpu-gpu异构系统作为一种创建高性能计算平台的有效方法,人们密切关注着各种常见测试实例在该系统内的实际运行数据。本文首先利用基准测试集SHOC(The Scalable Heter Ogeneous Computing)对OpenCL环境下的cpu-gpu异构系统进行了测评,在分析测评数据之后总结了限制系统整体性能的原因,然后分析并提出了OpenCL环境下cpu-gpu异构系统的优化方法,最后利用这些优化方法实现了单精度浮点矩阵乘法与256bin图像直方图这两个不同类型的典型应用,实验结果证明了这些优化方法的有效性。本文的主要研究工作如下:(1)使用SHOC基准测试套件对OpenCL环境下的cpu-gpu异构系统进行了测评,在分析实验数据之后发现了cpu与gpu之间的数据通信过程对于异构系统整体性能的重大影响。(2)分析并提出了OpenCL环境下cpu-gpu异构系统的优化方法。本文首先分析了编写OpenCL内核过程中常用的一些优化方法,然后针对cpu与gpu间的数据传输过程提出了对应的通信优化方法,最后针对异构系统内部运算资源的浪费问题提出了cpu与gpu混合计算的优化方法。(3)实现了单精度浮点矩阵乘法这个科学计算领域中典型的计算密集型应用。通过分析矩阵乘法算法的特点并采用相应的优化方法,最终使该应用在OpenCL环境下的cpu-gpu异构系统内得到了高效的实施。(4)实现了256bin图像直方图这个图像处理领域中常见的访存密集型应用。通过分析图像直方图算法的特点并结合本文提出的优化方法,设计了该算法在OpenCL环境下cpu-gpu异构系统内高度优化的实现方式,并通过试验对比证明了这些优化方法的有效性。
暂无评论