Portable and Efficient Auto-vectorized Bytecode: a Look at the Interaction between Static and JIT CompilersReport as inadecuate




Portable and Efficient Auto-vectorized Bytecode: a Look at the Interaction between Static and JIT Compilers - Download this document for free, or read online. Document in PDF available to download.

1 ALF - Amdahl-s Law is Forever Inria Rennes – Bretagne Atlantique , IRISA-D3 - ARCHITECTURE

Abstract : Heterogeneity is a confirmed trend of computing systems. Bytecode formats and just-in-time compilers have been proposed to deal with the diversity of the platforms. By hiding architectural details and giving software developers a unified view of the machine, they help improve portability and manage the complexity of large software. Independently, careful exploitation of SIMD instructions has become crucial for the performance of many applications. However, auto-vectorizing compilers need detailed information about the architectural features of the processor to generate efficient code. We propose to reconcile the use of architecture neutral bytecode formats with the need to generate highly efficient vectorized native code. We make three contributions. 1 We show that vectorized bytecode is a viable approach that can deliver portable performance in the presence of SIMD extensions, while incurring only minor penalty when SIMD is not supported. In other words, the information that a loop can be vectorized is the vectorized loop itself. 2 We analyze the interaction between the static and just-in-time compilers and we derive conditions to deliver performance. 3 We add vectorization capabilities to the CLI port of the GCC compiler.





Author: Erven Rohou -

Source: https://hal.archives-ouvertes.fr/



DOWNLOAD PDF




Related documents