Extending Polly with Automatic GPGPU Code Generation

Yabin Hu

Abstract

Polly provides primary infrastructure of automatic parallelization for LLVM. In this project, I propose to extend Polly to support GPGPU code generation. The generated LLVM IR can be compiled or jitted to execute on modern heterogeneous platform, composed of CPU and GPU.

Additional Information

TODO list:

  1. Find a new schedule to meet the needs of GPU's multi-level parallel archietecture.
  2. Add llvm.codegen to LLVM
  3. Primary ptx codegen
  4. Memory copy between CPU and GPU

 

Code samples