13.07.2015 Views

KernelGen - GPU Technology Conference

KernelGen - GPU Technology Conference

KernelGen - GPU Technology Conference

SHOW MORE
SHOW LESS
  • No tags were found...

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>KernelGen</strong> loops analysis pipeline.KerenlGen takes part of loop analysis into runtime, in order to process only really used loops, anddo it better with help of additional information available from the execution context. Introducedruntime overhead is neglectible, if the loop is invoked frequently.1. Loop analysis 2. Codegen & optimize for <strong>GPU</strong>1.1. Load LLVM IR for loop (or nested loops stack)1.2. Substitute addresses of global variables from runtime1.3. Substitute pointer and integer parameters1.4. Run polly preopt passes1.5. Check the loop is eligible for polyhedral analysis1.6. Create loop ISL description2.1. Generate <strong>GPU</strong>-specific LLVM IRfrom the resulting CLooG AST2.2. Compute the <strong>GPU</strong> grid and stridesfor parallel loops2.3. Run standard LLVM IR optimizations2.4. Codegen LLVM IR to PTX withNVPTX backend1.7. Use CLooG to find parallel loops in ISL representation61 / 75

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!