TY - GEN
T1 - An approach to customization of compiler directives for application-specific code transformations
AU - Xiao, Xiong
AU - Hirasawa, Shoichi
AU - Takizawa, Hiroyuki
AU - Kobayashi, Hiroaki
N1 - Publisher Copyright:
© 2014 IEEE.
PY - 2014/11/6
Y1 - 2014/11/6
N2 - High-performance computing (HPC) applications have been specialized for their target systems to achieve high performances. Hence, their performances are not portable to other systems. This performance portability problem leads to higher costs for maintaining HPC applications, because the life of an HPC application is usually much longer than that of an HPC system. Therefore, an HPC application needs to be migrated to a new system. Compiler directives can ease such application migration with minor modification of the original code. However, existing compiler directives cannot always satisfy users' requirements. In some cases, customizing the compiler directives for application-specific code transformations is required in order to achieve a high performance as well as high performance portability by using different performance optimizations for individual systems. This paper proposes a mechanism that allows programmers to customize existing compiler directives. To describe the specification of the customized directives, such as directive names, clauses, and their arguments, this paper also presents an XML-based format for customizing directives. The evaluation results show that the proposed approach can customize OpenMP directives to generate multiple code versions that are executed in different ways. With auto-tuning techniques, it is expected that programmers can select the best code version.
AB - High-performance computing (HPC) applications have been specialized for their target systems to achieve high performances. Hence, their performances are not portable to other systems. This performance portability problem leads to higher costs for maintaining HPC applications, because the life of an HPC application is usually much longer than that of an HPC system. Therefore, an HPC application needs to be migrated to a new system. Compiler directives can ease such application migration with minor modification of the original code. However, existing compiler directives cannot always satisfy users' requirements. In some cases, customizing the compiler directives for application-specific code transformations is required in order to achieve a high performance as well as high performance portability by using different performance optimizations for individual systems. This paper proposes a mechanism that allows programmers to customize existing compiler directives. To describe the specification of the customized directives, such as directive names, clauses, and their arguments, this paper also presents an XML-based format for customizing directives. The evaluation results show that the proposed approach can customize OpenMP directives to generate multiple code versions that are executed in different ways. With auto-tuning techniques, it is expected that programmers can select the best code version.
UR - http://www.scopus.com/inward/record.url?scp=84917731877&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=84917731877&partnerID=8YFLogxK
U2 - 10.1109/MCSoC.2014.23
DO - 10.1109/MCSoC.2014.23
M3 - Conference contribution
AN - SCOPUS:84917731877
T3 - Proceedings - 2014 IEEE 8th International Symposium on Embedded Multicore/Manycore SoCs, MCSoC 2014
SP - 99
EP - 106
BT - Proceedings - 2014 IEEE 8th International Symposium on Embedded Multicore/Manycore SoCs, MCSoC 2014
PB - Institute of Electrical and Electronics Engineers Inc.
T2 - 2014 8th IEEE International Symposium on Embedded Multicore/Manycore SoCs, MCSoC 2014
Y2 - 23 September 2014 through 25 September 2014
ER -