C换金属:英特尔GPU上的高性能SIMD编程

2021-01-30 03:30:09

下载PDF摘要:SIMT执行模型通常用于常规GPU开发。 CUDA和OpenCL开发人员编写由编译器和硬件隐式并行化的标量代码。 但是,在英特尔GPU上,由于底层ISA是SIMD,并且无法充分利用重要的硬件功能,因此这种抽象具有深远的性能意义。 为了弥补这一性能差距,我们引入了C-For-Metal(CM),这是一个明确的SIMD编程框架,旨在在Intel GPU上提供接近金属的性能。 CM编程语言及其向量/矩阵类型提供了一个直观的界面来利用基础硬件功能,从而可以进行细粒度的寄存器管理,SIMD大小控制和跨通道数据共享。 实验结果表明,来自不同域的CM应用程序的性能要优于最著名的基于SIMT的OpenCL实施方案,在最新的Intel GPU上可以达到2.7倍的加速。