Compiler Auto-Vectorization with Imitation Learning
Mendis, Charith, Yang, Cambridge, Pu, Yewen, Amarasinghe, Dr.Saman, Carbin, Michael
–Neural Information Processing Systems
Modern microprocessors are equipped with single instruction multiple data (SIMD) or vector instruction sets which allow compilers to exploit fine-grained data level parallelism. To exploit this parallelism, compilers employ auto-vectorization techniques to automatically convert scalar code into vector code. Larsen & Amarasinghe (2000) first introduced superword level parallelism (SLP) based vectorization, which is one form of vectorization popularly used by compilers. Current compilers employ hand-crafted heuristics and typically only follow one SLP vectorization strategy which can be suboptimal. Recently, Mendis & Amarasinghe (2018) formulated the instruction packing problem of SLP vectorization by leveraging an integer linear programming (ILP) solver, achieving superior runtime performance.
Neural Information Processing Systems
Mar-19-2020, 02:45:56 GMT
- Technology: