Polyhedral compilers and tensor compilers have achieved great success on accelerating respectively scientific computing kernels and deep learning networks. Although much work has been done to integrate techniques of the polyhedral model to tensor compilers for accelerating deep learning, leveraging the powerful auto-tuning ability of modern tensor compilers to accelerate more general scientific computing kernels is challenging and is still at its dawn. In this work, we introduce a method to accelerate a family of basic scientific computing kernels by fusing the polyhedral compiler Pluto and the tensor compiler TVM to generate efficient implementations target on the heterogeneous CPU/GPU platform. The fusion is done by firstly applying Pluto to generate a new polyhedral model of the loop to enable rectangular tiling and expose parallelism, and then by converting the new model, optimized further by padding/shifting to avoid conditionals, to a valid and efficient tensor compute in TVM. Experiments on 18 typical scientific computing kernels show that our method achieves \(4.94\times \) speedup on average over a typical polyhedral compiler PPCG on GPU.

错误:搜索内容不能为空,请输入英文关键词
错误:关键词超出字数限制,请精简
高级检索

Accelerating Scientific Computing Kernels by Fusing the Polyhedral and Tensor Compilers

  • Qingzhi Liu,
  • Changbo Chen,
  • Hanwen Dai

摘要

Polyhedral compilers and tensor compilers have achieved great success on accelerating respectively scientific computing kernels and deep learning networks. Although much work has been done to integrate techniques of the polyhedral model to tensor compilers for accelerating deep learning, leveraging the powerful auto-tuning ability of modern tensor compilers to accelerate more general scientific computing kernels is challenging and is still at its dawn. In this work, we introduce a method to accelerate a family of basic scientific computing kernels by fusing the polyhedral compiler Pluto and the tensor compiler TVM to generate efficient implementations target on the heterogeneous CPU/GPU platform. The fusion is done by firstly applying Pluto to generate a new polyhedral model of the loop to enable rectangular tiling and expose parallelism, and then by converting the new model, optimized further by padding/shifting to avoid conditionals, to a valid and efficient tensor compute in TVM. Experiments on 18 typical scientific computing kernels show that our method achieves \(4.94\times \) speedup on average over a typical polyhedral compiler PPCG on GPU.