UNIDAPT Group (UNIversal aDAPTation) pioneers and promotes radically new practical techniques to overcome the complexity of current and future architectures, compilers, operating systems and programming environments. We are working on creating self-tuning intelligent adaptive systems, automating and improving architecture and compiler design (particularly for future heterogeneous multi-core systems), optimizing and parallelizing applications to improve performance, power consumption, size and fault-tolerance, reduce cost and time to market based on machine learning, artificial intelligence, statistical methods and biologically inspired techniques. This is critical to be able to continue innovation in science and industry (bioinformatics, medicine, physics, chemistry,
finances, gaming, etc) that demands ever-increasing computing resources while placing strict requirements on systems.
UNIDAPT group was created by Dr. Grigori Fursin as a part of the Alchemy group (INRIA), has close interaction with research groups of Prof. Michael O'Boyle (University of Edinburgh), Prof. Olivier Temam (INRIA), colleagues from IBM and is always open to collaborations to move forward the research on adaptive computing. We always welcome highly-motivated English-speaking students, post-docs, researchers and engineers from all over the world (working language in UNIDAPT Group is English) for short-term and long-term collaboration, visits and internships. We are also interested in remote collaboration on software developments. Here you can find information about available positions.
We are currently extending the following topics (based on our previous research since 1999):
- Changing the design of current compilers to make them modular, self-tuning and adaptive [ MILEPOST GCC, Interactive Compilation Interface ] ;
- Extending our machine learning techniques based on probabilistic search, predictive modeling, program static and dynamic features, and off-line training to find good program optimizations (to improve execution time, code size, power consumption, fault-taulerance, etc) and tune default compiler optimization heuristics (and create intelligent self-tuning compilers) [ MILEPOST GCC, CCC framework , Open64 ICI ] ;
- Extending our collective optimization techniques to enable global optimization knowledge reuse among different program, contexts, architectures [ CCC framework, MiDataSets ] ;
- Developing split-compilation techniques to find good balance between static and dynamic optimizations using predictive modeling, off-line and on-line traning and program features [ MILEPOST GCC and CIL backend ] ;
- Extending our run-time adaptation techniques to make static programs continuously adaptable to different constraints and architectures [ UNIDAPT framework ] ;
- Extending benchmarking techniques with multiple datasets to enable realistic performance evaluation [ MiDataSets ] ;
- Combining polyhederal and traditional optimization with machine learning to overcome the limitations of current compiler transformations [ MILEPOST GCC, Interactive Compilation Interface and GRAPHITE, CCC framework ] ;
- Developing adaptive libraries based on static multiversioning and intelligent run-time selection of versions (using off-line training and predictive modelling based on the function input) [ UNIDAPT framework ] ;
- Extending our run-time adaptation techniques to enable program adaptation on multi-core heterogeneous systems using machine learning[ UNIDAPT framework ] ;
We are currently seeking a Compiler and Performance Engineer to work with us in the MILEPOST project until at least July 2009 and collaborators to extend MILEPOST GCC.
We are also interested in the following general research topics:
- Future self-tuning systems and programming environments based on machine learning, artificial intelligence, statistical methods and biologically inspired techniques ;
- Practical iterative and adaptive modular fault-tolerant self-tuning compilers ;
- Split-compilation to find good balance between static and dynamic optimizations ;
- Continuous static and dynamic collective optimization, parallelization and adaptation ;
- Architecture design space exploration and run-time adaptation ;
- Realistic performance evaluation and benchmarking ;
- Polyhedral optimizations to overcome the limitations of current compiler transformations ;
We have a fruitful collaboration with both academia and industry:
- INRIA/IRISA (France), University of Edinburgh (UK), Imperial College (UK), UPC (Spain), UIUC (USA), University of Delaware (USA), Ghent University (Belgium), ICT (China)
- IBM, ARC (UK), CAPS Enterprise (France), AMD (USA), STMicro, NXP (Netherlands), ARM (UK)
Here you can find UNIDAPT software developments and publications to support this research.
If you would like to discuss research, collaboration, visits, internships, grant proposals, funding and sponsorships, etc, please don't hesitate to contact us.