大家做高性能计算的朋友,想必对CPU的执行模式已经非常熟悉了吧。当代高级些的CPU一般采用超标量流水线,使得毗邻几条相互独立的指令能够并行执行——这称为指令集并行(ILP,Instruction-Level Parallelism);而像x86引入的SSE(Streaming SIMD Extension)、AVX(Advanced Vector Extension),以及ARM的NEON技术都属于数据级并行(Data-Level Parallelism)。而GPGPU的执行与CPU比起来还是有不少差异的。这里,为了能够让大家更好地理解、并使用OpenCL,想谈谈当前主流用于超算的GPGPU的执行模式。
下面主要针对nVidia的Fermi架构以及AMD的TeraScale3(Radeon HD 6900系列)和GCN架构进行分析。
参考资料:
NVIDIA’s Next Generation CUDATM Compute Architecture: Fermi [1]
AMD Accelerated Parallel Processing OpenCL Programming Guide [2] (可能需要FQ)
AMD 超算专用卡演义 [3]
时间: 2024-10-11 21:26:21