From cTuning.org
Line 8: | Line 8: | ||
{{CMenu:CTools|}} | {{CMenu:CTools|}} | ||
- | ' | + | <div align="left" style="background-color:#FF7F7F"> |
+ | * After long thinking and discussions with cTuning community, we may expect to get a new version of cTuning in Fall, 2011. Please, stay tuned through Grigori Fursin's [http://twitter.com/grigori_fursin twitter] or [[Community|cTuning mailing lists]]. | ||
+ | * 2 new reference journal publications with more scientific aspects/details on cTuning.org are now available online: [http://fursin.net/wiki/index.php5?title=Research:Dissemination#FT2010 collective optimization (ACM TACO'10)] and [http://fursin.net/wiki/index.php5?title=Research:Dissemination#FKMP2011 machine learning enabled self-tuning compiler for multi-objective optimizations (IJPP'11)] | ||
+ | * 2 open calls for papers related to cTuning.org: [http://cTuning.org/workshop-smart2011 SMART 2011 (@ CGO 2011)] and ADAPT 2011 (@ PLDI 2011) | ||
+ | </div> | ||
cTuning CC is a free, open source compiler collection that combines multiple tools and techniques including [[CTools:MilepostGCC|MILEPOST GCC]], [[CTools:ICI|ICI]], [[CTools:CCC|CCC framework]], [[CDatabase|cTuning web-services and Collective Optimization Database]] and [[CTools:CBench|cBench]] as the first practical step toward self-tuning, adaptive computing systems based on industrial tools, empirical techniques, transparent collective optimization, statistical analysis and machine learning. cTuning CC is a wrapper around any compiler such as [http://gcc.gnu.org GCC], [http://llvm.org LLVM], [http://www.open64.net Open64], [http://www.pathscale.com Path64], etc that can transparently invoke machine learning mode to correlate program features of a compiled program with the ones stored in the [http://cTuning.org/cdatabase Collective Optimization Database] and suggest better optimizations for multi-objective criteria such as improving execution time, compilation time, code size, etc (using optimization space frontier detection). | cTuning CC is a free, open source compiler collection that combines multiple tools and techniques including [[CTools:MilepostGCC|MILEPOST GCC]], [[CTools:ICI|ICI]], [[CTools:CCC|CCC framework]], [[CDatabase|cTuning web-services and Collective Optimization Database]] and [[CTools:CBench|cBench]] as the first practical step toward self-tuning, adaptive computing systems based on industrial tools, empirical techniques, transparent collective optimization, statistical analysis and machine learning. cTuning CC is a wrapper around any compiler such as [http://gcc.gnu.org GCC], [http://llvm.org LLVM], [http://www.open64.net Open64], [http://www.pathscale.com Path64], etc that can transparently invoke machine learning mode to correlate program features of a compiled program with the ones stored in the [http://cTuning.org/cdatabase Collective Optimization Database] and suggest better optimizations for multi-objective criteria such as improving execution time, compilation time, code size, etc (using optimization space frontier detection). | ||
- | |||
- | |||
It may not always be visible to the IT users, but developing and optimizing computing systems using available over-complicated technology is too time consuming and costly often resulting in underperforming, power-hungry and inefficient computers and programs. Novel cTuning technology attempts to overcome the complexity of computing system by automating architecture, code and dataset analysis, characterization and multi- objective optimization (currently execution time, code size and compilation time) and enabling portable optimization using | It may not always be visible to the IT users, but developing and optimizing computing systems using available over-complicated technology is too time consuming and costly often resulting in underperforming, power-hungry and inefficient computers and programs. Novel cTuning technology attempts to overcome the complexity of computing system by automating architecture, code and dataset analysis, characterization and multi- objective optimization (currently execution time, code size and compilation time) and enabling portable optimization using |
Revision as of 22:32, 26 January 2011
![]() |
cTuning Compiler Collection |
machine-learning enabled, self-tuning, adaptive compilers |
Web shortcut: http://cTuning.org/ctuning-cc Navigation: cTuning.org > CTools
cTuning CC is a free, open source compiler collection that combines multiple tools and techniques including MILEPOST GCC, ICI, CCC framework, cTuning web-services and Collective Optimization Database and cBench as the first practical step toward self-tuning, adaptive computing systems based on industrial tools, empirical techniques, transparent collective optimization, statistical analysis and machine learning. cTuning CC is a wrapper around any compiler such as GCC, LLVM, Open64, Path64, etc that can transparently invoke machine learning mode to correlate program features of a compiled program with the ones stored in the Collective Optimization Database and suggest better optimizations for multi-objective criteria such as improving execution time, compilation time, code size, etc (using optimization space frontier detection). It may not always be visible to the IT users, but developing and optimizing computing systems using available over-complicated technology is too time consuming and costly often resulting in underperforming, power-hungry and inefficient computers and programs. Novel cTuning technology attempts to overcome the complexity of computing system by automating architecture, code and dataset analysis, characterization and multi- objective optimization (currently execution time, code size and compilation time) and enabling portable optimization using
cTuning CC includes:
We are developing cTuning infrastructure as a very simple, modular and portable tool so that users could easily download, install and use it to compile, execute, characterize and optimize their programs or share optimization knowledge. Our users managed to optimize some large industrial applications such as BerkeleyDB (1.4 speedup over GCC 4.4.0 -O3 on several Intel Xeon machines), some audio and video codecs, multiple standard benchmarks, Linux kernel, etc. Please, note that this is an on-going, evolving project driven by the cTuning community, so please be patient or join the project and help to improve cTuning infrastructure. ![]() ![]()
Example of complex optimization search spaces for susan_c (including optimization space frontier for multi-objective optimizations) from Collective Benchmark after using CCC framework (that has some similarities with the useful ACOVEA tool but also allows automatic sharing of optimization knowledge with the community in the Collective Optimization Database and uses plugins to implement various search techniques besides genetic algorithms) and cTuning CC/MILEPOST GCC 4.4.x: ![]() ![]() Example of program similarities using static program features and based on best found program optimizations continuously collected in the cTuning optimization repository that improve execution time (as well as code size, compilation time, etc): ![]() ![]() cTuning CC/MILEPOST GCC 4.4.x helps to correlate program features and optimizations using various machine learning techniques to quickly predict good optimizations for a previously unseen program.
|
|