Loading...
Please wait, while we are loading the content...
Similar Documents
Directive-based tile abstraction to distribute loops on accelerators
| Content Provider | ACM Digital Library |
|---|---|
| Author | Vanderbruggen, Tristan Cavazos, John Liao, Chunhua Quinlan, Daniel |
| Abstract | Optimizing applications for the next generation of super-computers requires next generation compilers. These compilers need to provide an abstraction for the developer to describe the inner working of applications. And, next generation compilers need to be able to intelligently apply optimizations to a wide variety of algorithms solved by scientific applications. They need to optimize applications for any workload targeting any architecture. In this paper, we present an important component of any next generation supercomputer compiler that we call TileK. TileK is a tile abstraction used to generate distributed kernels from nested loops. It provides a high-level abstraction used to decompose the iteration space of loop nests. Its directives-based language enables an effective and efficient placement of multi-dimensional computations on the 3D topology of accelerators (e.g. graphics processing units, GPUs). We implemented both the tile abstraction and the kernel generator in ROSE Compiler. We used TileK to parallelize linear algebra kernels and stencils, targeting multicore CPUs (pThread) and GPUs (OpenCL). TileK enabled us to explore and evaluate a large optimization space of many versions of these kernels for varying input sizes. Our results shows that the selection of a given optimization for a specific input size is a challenging problem. |
| Starting Page | 53 |
| Ending Page | 62 |
| Page Count | 10 |
| File Format | |
| ISBN | 9781450349154 |
| DOI | 10.1145/3038228.3038238 |
| Language | English |
| Publisher | Association for Computing Machinery (ACM) |
| Publisher Date | 2017-02-04 |
| Publisher Place | New York |
| Access Restriction | Subscribed |
| Subject Keyword | Compiler Heterogeneous Language Source-to-source Gpgpu |
| Content Type | Text |
| Resource Type | Article |