This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
tiled_code_generator_dtiler [2014/12/11 19:44] yun created |
tiled_code_generator_dtiler [2017/04/19 13:31] (current) |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | Tiling is an important program transformation that is used to improve data locality and parallelization granularity. | + | ======Tiled Code Generator====== |
+ | Tiling is an important program transformation that is used to improve data locality and parallelization granularity. We provide a tiled code generator that produces tiled code with wavefront parallelization supported for the shared memory machine. | ||
+ | |||
+ | ===Usage=== | ||
+ | Let's use the classic matrix multiplication as an illustration example, whose alphabets code is the following: | ||
+ | <sxh alphabets; gutter: | ||
+ | affine matrix_product {P, Q, R|P>0 && Q>0 && R>0} | ||
+ | | ||
+ | float B {k,j| 0< | ||
+ | | ||
+ | using | ||
+ | float temp_C {i, | ||
+ | through | ||
+ | | ||
+ | {|k> | ||
+ | {|k==0} : 0; | ||
+ | | ||
+ | | ||
+ | . | ||
+ | </ | ||
+ | |||
+ | The tiled code generator is called through ScheduledC, therefore, the first step for the code generation is the same with ScheduledC -- specify spacetime map and memory map. |