Chapel With Polyhedral Transformation Using Autotuning
TuowenZhao and Mary Hall
The 3rd Annual Chapel Implementers and Users Workshop,2016
Chapel With Polyhedral Transformation Using Autotuning TuowenZhao - - PowerPoint PPT Presentation
Chapel With Polyhedral Transformation Using Autotuning TuowenZhao and Mary Hall The 3rd Annual Chapel Implementers and Users Workshop,2016 Loop Transformation Manipulation of loop nest Structure Schedule Prior work: manually
TuowenZhao and Mary Hall
The 3rd Annual Chapel Implementers and Users Workshop,2016
stencil computations with Chapel parallel iterators. ICS 2015
modulo unrolling in Chapel. PGAS 2014
proc mm(A:[]real,B:[]real, an:int,ambn:int,bm:int){ const D = {0..an-1, 0..bm-1}; // Domain var C : [D] real; // Domain mapped array forall (i,j) in D do { // Iterator C[i,j] = 0; for k in {0..ambn-1} do C[i, j] += A[i, k] * B[k,j]; } return C; }
subscripts
implementations for a specific target architecture
strategy (recipe may be generated by a compiler)
for(i = 0; i < an; i++) for(j = 0; j < bm; j++) { C[i][j]=0.0f; for(n = 0; n < ambn; n++) C[i][j] += A[i][n] * B[n][j]; }
variable
smooth and residual operators
for Stencils and Geometric Multigrid. PhD thesis. University of Utah
techniques that can be composed in complex sequences
combination of transformations under target architecture