Abstract
Taking full advantage of SIMD instructions in C programs still requires tedious and non-portable programming using intrinsics, despite considerable efforts spent developing auto-vectorization capabilities in recent decades. Whole Function Vectorization (WFV) is a recent technique for extending the use of SIMD across entire functions. WFV has so far only been used in data-parallel languages such as OpenCL and ISPC. We propose a vector-oriented programming framework that facilitates WFV directly in C. We show that our framework achieves competitive performance to Open CL and ISPC while maintaining C's original syntax and semantics. This allows C programmers to gain better performance for their applications by improving SIMD utilization, without stepping out of C.
Original language | English |
---|---|
Title of host publication | Proceedings - 2015 IEEE 29th International Parallel and Distributed Processing Symposium Workshops, IPDPSW 2015 |
Publisher | Institute of Electrical and Electronics Engineers Inc. |
Pages | 718-727 |
Number of pages | 10 |
ISBN (Electronic) | 0769555101, 9780769555102 |
DOIs | |
State | Published - 29 Sep 2015 |
Event | 29th IEEE International Parallel and Distributed Processing Symposium Workshops, IPDPSW 2015 - Hyderabad, India Duration: 25 May 2015 → 29 May 2015 |
Publication series
Name | Proceedings - 2015 IEEE 29th International Parallel and Distributed Processing Symposium Workshops, IPDPSW 2015 |
---|
Conference
Conference | 29th IEEE International Parallel and Distributed Processing Symposium Workshops, IPDPSW 2015 |
---|---|
Country/Territory | India |
City | Hyderabad |
Period | 25/05/15 → 29/05/15 |
Bibliographical note
Publisher Copyright:© 2015 IEEE.
Keywords
- C
- SIMD
- Whole Function Vectorization
ASJC Scopus subject areas
- Computer Networks and Communications
- Hardware and Architecture