Split Vectorisation Using Gcc and Mono
We would like to establish a collaboration among the following parters to stir research on split vectorization using GCC and Mono, passing static anaylsis results from an offline static compiler to an online/JIT tool.
Background
The current static toolchain of static languages suffers from major deficiencies, stemming from lack of information at pre-processing time. One of these deficiencies is lack of (detailed) information about the target platform, and its spedific simd capabilities. Split compilation is one direction that attempts to leverage machine-independent optimization as much as possible, deferring the machine-dependent part for when we know (more about) the actual target. (See "Split Compilation: an Application to Just-in-Time Vectorization", P. Lesnicki et al., GREPS PACT Workshop 2007). Another relevant reference on Liquid SIMD: Abstracting SIMD Hardware Using Lightweight Dynamic Mapping , HPCA 2007.
Partners
- INRIA Saclay (Albert Cohen) and Rennes (Erven Rohou)
- IBM Haifa (Ayal Zaks)
- Embedded Systems Lab, Thales Research & Technology (Sami Yehia)
Sami's Research Interests
The Embedded System Lab at Thales Research and Technology study performance embedded systems in the domains of aerospace, defense and security. Typically we address both signal processing applications like radar, sonar and electronic warfare and image processing like in video surveillance, motion detection and pattern (facial/intruder) recognition applications. Because of the nature of the domains (defense/aerospace), those systems are most of the time subject to high performance, huge data processing and hard real time constraints.
Current research
My current research work address the following issues:
- Customization in mutlicore architecture (in cooperation with INRIA/ALCHEMY): Specialization brings new challenge in parallelization because of its heterogeneous nature. Our research strives to bring multipurpose/multi-faceted solutions for cost effective specialization in parallel architectures.
- Programmable accelerators: Looking for patterns of acceleration and adequacy of current SIMD and accelerator architectures to those patterns.
- Application and benchmarking: since our architectures basically addresses specific domains we want to put together representative benchmarks in these domain (mainly signal and image processing) to allow better characterized research in parallel processing as well as customization.
Interests in this cooperation
The embedded systems lab relies on both proprietary SIMD accelerators and existing parallel architectures that may lack of vectorizing compilers to the target. Also small changes in the SIMD architecture may require rewriting of Assembly code or full compiler tool chain. Our aim in this cooperation is to investigate the use of split compilation for the SIMD architectures we develop and have a platform independent SIMD compiling environment.
Relevant publications
- Nathan Clark, Amir Hormati, Scott Mahlke, Sami Yehia, and Krisztian Flautner, Liquid SIMD: Abstracting SIMD Hardware Using Lightweight Dynamic Mapping, International Symposium on High-Performance Computer Architecture (HPCA), February 2007
Adaptive Compilation
Adaptive compilation
- Home page
- Kick-off Meeting
- Research Areas
- Call For Funding (Feb 2008)
- Context-Aware Optimization and Run-Time Adaptation of Sequential Libraries for Multi-Core Systems
- Barcelona Meeting (June 2008)
- Using Adaptive Compilation to Produce High Performance Sparse Computations
- Split Compilation and Code Specialization
- Split Vectorisation Using Gcc and Mono
- Value-Based Optimisation
- Performance Counter-Based Power and Temperature Prediction
- Paris Meeting (November 2008)
- Related Research Groups and Activities
- Paphos Meeting (January 2009)
- Munich Meeting (June 2009)
