理论教育 GPU架构与优化策略:应用与挑战

GPU架构与优化策略:应用与挑战

时间:2023-06-23 理论教育 版权反馈
【摘要】:随着GPU通用计算应用的推广及其应用领域的不断扩大,GPU架构的发展非常迅速。主流芯片厂商根据实际计算需求,不断发展自己的GPU架构来满足日益增长的市场和性能需求。NVIDIA已经发布了如Fermi、Kepler和Maxwell以及Pac-all架构的GPU,AMD也发布了Cypress、Cayman、GCN架构的GPU。这些GPU都具有不同的架构特点,对应的优化策略也有差异。这种GPU架构的日益多样性,对算法移植特别是性能移植提出了新的挑战。GPU这种统一的架构特点和线程组织调度方式,使性能移植成为可能。

GPU架构与优化策略:应用与挑战

随着GPU通用计算应用的推广及其应用领域的不断扩大,GPU架构的发展非常迅速。主流芯片厂商根据实际计算需求,不断发展自己的GPU架构来满足日益增长的市场和性能需求。NVIDIA已经发布了如Fermi、Kepler和Maxwell以及Pac-all架构的GPU,AMD也发布了Cypress、Cayman、GCN架构的GPU。这些GPU都具有不同的架构特点,对应的优化策略也有差异。这种GPU架构的日益多样性,对算法移植特别是性能移植提出了新的挑战。

幸运的是,虽然不同GPU架构在优化方法选择以及优化细节上会有不同,但是从整体上看,GPU架构又具有很好的统一性,即都是大规模细粒度并行处理器,且具有层次式的架构特点,这主要体现在四个方面:

978-7-111-56928-2-Chapter07-1.jpg在计算单元的组织上,GPU由多个CU(Compute Unit,计算单元)组成,每个CU又由多个PE(Processing Unit,处理部件)组成。

978-7-111-56928-2-Chapter07-1.jpg在计算单元的组织上,GPU由多个CU(Compute Unit,计算单元)组成,每个CU又由多个PE(Processing Unit,处理部件)组成。

978-7-111-56928-2-Chapter07-2.jpg从内存组织上,从只能被一个线程访问的私有内存,到能够被work-group内所有线程共享的本地内存,再到可被所有线程访问的全局内存。

978-7-111-56928-2-Chapter07-2.jpg从内存组织上,从只能被一个线程访问的私有内存,到能够被work-group内所有线程共享的本地内存,再到可被所有线程访问的全局内存。(www.daowen.com)

978-7-111-56928-2-Chapter07-3.jpg在线程调度上,GPU一般都采用静态顺序调度模式,线程和数据映射在GPU kernel启动之前就已经确定,线程以work-group为单位被硬件顺序调度。

978-7-111-56928-2-Chapter07-3.jpg在线程调度上,GPU一般都采用静态顺序调度模式,线程和数据映射在GPU kernel启动之前就已经确定,线程以work-group为单位被硬件顺序调度。

978-7-111-56928-2-Chapter07-4.jpg在编程方式上,都采用了Host+Device的编程模式,即GPU程序依然由CPU端控制,CPU设定开启线程的数目后,将计算任务发送到GPU端执行,线程组织也都采用了Grid-Block-Thread的层次式组织方式。GPU这种统一的架构特点和线程组织调度方式,使性能移植成为可能。Jia给出了在不同GPU计算平台上优化策略的选择及应用。

978-7-111-56928-2-Chapter07-4.jpg在编程方式上,都采用了Host+Device的编程模式,即GPU程序依然由CPU端控制,CPU设定开启线程的数目后,将计算任务发送到GPU端执行,线程组织也都采用了Grid-Block-Thread的层次式组织方式。GPU这种统一的架构特点和线程组织调度方式,使性能移植成为可能。Jia给出了在不同GPU计算平台上优化策略的选择及应用。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈