학술논문

Vectorization-Aware Loop Optimization with User-Defined Code Transformations
Document Type
Conference
Source
2017 IEEE International Conference on Cluster Computing (CLUSTER) CLUSTER Cluster Computing (CLUSTER), 2017 IEEE International Conference on. :685-692 Sep, 2017
Subject
Computing and Processing
Vector processors
Program processors
Optimization
Kernel
Mathematical model
Cache memory
Computer architecture
Vectorization-aware loop optimization
user-defined code transformaiton
Xevolver
Language
ISSN
2168-9253
Abstract
The cost of maintaining an application code would significantly increase if the application code is branched into multiple versions, each of which is optimized for a different architecture. In this work, default and vector versions of a realworld application code are refactored to be a single version, and the differences between the versions are expressed as userdefined code transformations. As a result, application developers can maintain only the single version, and transform it to its vector version just before the compilation. Although code optimizations for a vector processor are sometimes different from those for other processors, application developers can enjoy the performance of the vector processor without increasing the code complexity. Evaluation results demonstrate that vectorizationaware loop optimization for a vector processor can be expressed as user-defined code transformation rules, and thereby significantly improve the performance of a vector processor without major code modifications.