随着近年来图形处理器(GPU)性能的飞速发展,GPU在计算机并行计算等相关领域尤其是在大规模的科学计算中发挥着极其重要的作用,采用CPU与GPU协作来加速大规模科学计算也成为今后高性能计算发展的必然趋势,因此基于CPU-GPU的并行计算模型日趋成为国内外高性能计算领域的热点研究方向,目前已经提出了许多基于CPU-GPU的并行计算模型,但多数是由GPU或者CPU单独进行计算,未能充分发挥CPU与GPU的整体性能。本文依据CPU与GPU的自身特点以及它们在并行计算中各自的优势,提出了一种基于CPU-GPU协作的计算模型,设计了一种任务调度机制,使得CPU与GPU能同时参与对任务的计算,并给出了协调策略,使得数据能在CPU与GPU上动态划分,实现各处理器上的负载均衡,与传统模型相比,更加高效地利用现有资源,该模型还提出了一种针对大规模任务的数据划分方法,有效解决了GPU无法一次容纳所有数据的问题,该模型的任务调度机制和划分方法适用于诸多典型应用,如矩阵运算、图像处理和文本处理等大规模并行计算,并设计了面向用户的接口模型,实现了内部并行对用户的透明,使用户能够方便有效地实现其并行需求。GPU的优化编程是GPU通用计算的核心部分之一,因此本文在提出的计算模型基础上,实现了3种典型应用,分析并结合应用算法的特点,设计了有效的并行算法,采用各种并行优化编程技术,试验结果表明模型给出的策略以及采用的优化编程方法是可行有效的。
本文来源: https://www.lw50.cn/article/5fcda3d91b04571872b30441.html