A Code Generation Framework for Targeting Optimized Library Calls for Multiple Platforms
Directive-based programming approaches such as OpenMP and OpenACC have gained popularity due to their ease of programming. These programming models typically involve adding compiler directives to code sections such as loops in order to parallelize them for execution on multicore CPUs or GPUs. Howeve...
Saved in:
Main Authors: | , , , , |
---|---|
Other Authors: | |
Format: | Article |
Language: | English |
Published: |
2015
|
Subjects: | |
Online Access: | https://hdl.handle.net/10356/81361 http://hdl.handle.net/10220/39223 |
Tags: |
Add Tag
No Tags, Be the first to tag this record!
|
Institution: | Nanyang Technological University |
Language: | English |
id |
sg-ntu-dr.10356-81361 |
---|---|
record_format |
dspace |
spelling |
sg-ntu-dr.10356-813612020-05-28T07:17:22Z A Code Generation Framework for Targeting Optimized Library Calls for Multiple Platforms Tan, Wen Jun Tang, Wai Teng Goh, Rick Siow Mong Turner, Stephen John Wong, Weng-Fai School of Computer Engineering OpenMP OpenACC Multicore CPU GPU Code generation Directive-based programming approaches such as OpenMP and OpenACC have gained popularity due to their ease of programming. These programming models typically involve adding compiler directives to code sections such as loops in order to parallelize them for execution on multicore CPUs or GPUs. However, one problem with this approach is that existing compilers generate code directly from the annotated sections and do not make use of hardware-specific architectural features. As a result, the generated code is unable to fully exploit the capabilities of the underlying hardware. Alternatively, we propose a code generation framework in which linear algebraic operations in the annotated codes are recognized, extracted and mapped to optimized vendor-provided platform-specific library calls. We demonstrate that such an approach can result in better performance in the generated code compared to those which are generated by existing compilers. This is substantiated by experimental results on multicore CPUs and GPUs. ASTAR (Agency for Sci., Tech. and Research, S’pore) Accepted version 2015-12-23T08:52:13Z 2019-12-06T14:29:15Z 2015-12-23T08:52:13Z 2019-12-06T14:29:15Z 2015 Journal Article Tan, W. J., Tang, W. T., Goh, R. S. M., Turner, S. J., & Wong, W.-F. (2015). A Code Generation Framework for Targeting Optimized Library Calls for Multiple Platforms. IEEE Transactions on Parallel and Distributed Systems, 26(7), 1789-1799. 1045-9219 https://hdl.handle.net/10356/81361 http://hdl.handle.net/10220/39223 10.1109/TPDS.2014.2329494 en IEEE Transactions on Parallel and Distributed Systems © 2015 IEEE. Personal use of this material is permitted. Permission from IEEE must be obtained for all other uses, in any current or future media, including reprinting/republishing this material for advertising or promotional purposes, creating new collective works, for resale or redistribution to servers or lists, or reuse of any copyrighted component of this work in other works. The published version is available at: [http://dx.doi.org/10.1109/TPDS.2014.2329494]. 12 p. application/pdf |
institution |
Nanyang Technological University |
building |
NTU Library |
country |
Singapore |
collection |
DR-NTU |
language |
English |
topic |
OpenMP OpenACC Multicore CPU GPU Code generation |
spellingShingle |
OpenMP OpenACC Multicore CPU GPU Code generation Tan, Wen Jun Tang, Wai Teng Goh, Rick Siow Mong Turner, Stephen John Wong, Weng-Fai A Code Generation Framework for Targeting Optimized Library Calls for Multiple Platforms |
description |
Directive-based programming approaches such as OpenMP and OpenACC have gained popularity due to their ease of programming. These programming models typically involve adding compiler directives to code sections such as loops in order to parallelize them for execution on multicore CPUs or GPUs. However, one problem with this approach is that existing compilers generate code directly from the annotated sections and do not make use of hardware-specific architectural features. As a result, the generated code is unable to fully exploit the capabilities of the underlying hardware. Alternatively, we propose a code generation framework in which linear algebraic operations in the annotated codes are recognized, extracted and mapped to optimized vendor-provided platform-specific library calls. We demonstrate that such an approach can result in better performance in the generated code compared to those which are generated by existing compilers. This is substantiated by experimental results on multicore CPUs and GPUs. |
author2 |
School of Computer Engineering |
author_facet |
School of Computer Engineering Tan, Wen Jun Tang, Wai Teng Goh, Rick Siow Mong Turner, Stephen John Wong, Weng-Fai |
format |
Article |
author |
Tan, Wen Jun Tang, Wai Teng Goh, Rick Siow Mong Turner, Stephen John Wong, Weng-Fai |
author_sort |
Tan, Wen Jun |
title |
A Code Generation Framework for Targeting Optimized Library Calls for Multiple Platforms |
title_short |
A Code Generation Framework for Targeting Optimized Library Calls for Multiple Platforms |
title_full |
A Code Generation Framework for Targeting Optimized Library Calls for Multiple Platforms |
title_fullStr |
A Code Generation Framework for Targeting Optimized Library Calls for Multiple Platforms |
title_full_unstemmed |
A Code Generation Framework for Targeting Optimized Library Calls for Multiple Platforms |
title_sort |
code generation framework for targeting optimized library calls for multiple platforms |
publishDate |
2015 |
url |
https://hdl.handle.net/10356/81361 http://hdl.handle.net/10220/39223 |
_version_ |
1681056479115739136 |