From cTuning.org
Line 1: | Line 1: | ||
- | ''It may not always be visible to the IT users, but developing and optimizing current and emerging computing systems using available technology is too time consuming and costly. cTuning.org is an open community-driven collaborative wiki-based portal that brings together academia, industry and end-users to develop intelligent collective tuning technology that automates and simplifies compiler, program and architecture design and optimization. This technology minimizes repetitive time consuming tasks and human intervention using collective optimization, run-time adaptation, statistical and machine learning techniques. It can already help end users and researchers to improve execution time, code size, power consumption, reliability and other important characteristics of the available computing systems automatically (ranging from supercomputers to embedded systems) and should eventually enable development of the emerging intelligent self-tuning adaptive computing systems. [http://cTuning.org/cdatabase Collective Optimization Database] is | + | ''It may not always be visible to the IT users, but developing and optimizing current and emerging computing systems using available technology is too time consuming and costly. cTuning.org is an open community-driven collaborative wiki-based portal that brings together academia, industry and end-users to develop intelligent collective tuning technology that automates and simplifies compiler, program and architecture design and optimization. This technology minimizes repetitive time consuming tasks and human intervention using collective optimization, run-time adaptation, statistical and machine learning techniques. It can already help end users and researchers to improve execution time, code size, power consumption, reliability and other important characteristics of the available computing systems automatically (ranging from supercomputers to embedded systems) and should eventually enable development of the emerging intelligent self-tuning adaptive computing systems. [http://cTuning.org/cdatabase Collective Optimization Database] is a public repository to continuously collect a large number of optimization cases from the community to correlate program features, program and system behavior and good optimizations between multiple programs, datasets, compilers, operating systems and architectures. This repository can also improve the quality of academic research by avoiding costly duplicate experiments and providing reproducible results.''<BR> |
{|border="0" cellpadding="15" cellspacing="0" | {|border="0" cellpadding="15" cellspacing="0" | ||
Line 9: | Line 9: | ||
'''''Note:''' cTuning is an ongoing evolving project - please be patient and tolerant to the community and help us with this collaborative effort!'' | '''''Note:''' cTuning is an ongoing evolving project - please be patient and tolerant to the community and help us with this collaborative effort!'' | ||
+ | '''Current design of our Collective Optimization Framework''': | ||
<div align="center">http://ctuning.org/wiki/images/ctuning.gif</div> | <div align="center">http://ctuning.org/wiki/images/ctuning.gif</div> | ||
- | + | '''We are participating in the following collaborative activities:''' | |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | '''We are participating in the following collaborative activities:''' | + | |
* Develop common open-source tools with unified APIs (universal compilers adaptable to any heterogeneous multi-core architecture, computer architecture simulators, adaptive run-time systems) to optimize programs and architectures collectively using iterative compilation, statistical and machine learning techniques. <div align="right">''More information is available at [[CTools|cTools page]].''</div> | * Develop common open-source tools with unified APIs (universal compilers adaptable to any heterogeneous multi-core architecture, computer architecture simulators, adaptive run-time systems) to optimize programs and architectures collectively using iterative compilation, statistical and machine learning techniques. <div align="right">''More information is available at [[CTools|cTools page]].''</div> | ||
* Share interesting optimization cases from the community for programs/libraries/OS (compiler optimizations/architecture configurations to improve execution time, code size, architecture size, power consumption, etc) in the Collective Optimization Database to help users optimize their systems, enable replicable collaborative research and enable further analysis using statistical and machine learning techniques.<br><div align="right">''More information is available at [[CDatabase|cDatabase page]].''</div> | * Share interesting optimization cases from the community for programs/libraries/OS (compiler optimizations/architecture configurations to improve execution time, code size, architecture size, power consumption, etc) in the Collective Optimization Database to help users optimize their systems, enable replicable collaborative research and enable further analysis using statistical and machine learning techniques.<br><div align="right">''More information is available at [[CDatabase|cDatabase page]].''</div> | ||
* Enable collaborative research using cTools to automate and simplify the process of developing and optimizing new computer architectures, compilers, operating systems and programming environments using statistical analysis, machine learning, dynamic adaptation and bio-inspired techniques. We believe that our adaptive approaches are critical to overcome the complexity of computing systems and improve their performance, power consumption, system size and fault-tolerance automatically while reducing their cost and time to market. <br><div align="right">''More information is available at [[CResearch|cResearch page]].''</div> | * Enable collaborative research using cTools to automate and simplify the process of developing and optimizing new computer architectures, compilers, operating systems and programming environments using statistical analysis, machine learning, dynamic adaptation and bio-inspired techniques. We believe that our adaptive approaches are critical to overcome the complexity of computing systems and improve their performance, power consumption, system size and fault-tolerance automatically while reducing their cost and time to market. <br><div align="right">''More information is available at [[CResearch|cResearch page]].''</div> | ||
+ | |||
+ | '''Motivation example:''' | ||
+ | |||
+ | Example of complex optimization search spaces for susan_c from [[CTools:CBench|Collective Benchmark]] after using [[CTools:CCC|CCC framework]] and [[CTools:MilepostGCC|MILEPOST GCC 4.4.0]]: | ||
+ | <div align="center">http://unidapt.org/images/fig_opt_case_susan_c_1.gif http://ctuning.org/wiki/images/fig_opt_case_susan_c_2.gif</div> | ||
+ | |||
+ | Example of program similarities based on [[CTools:MilepostGCC:StaticFeatures|static program features]] and based on best found program optimizations continuously collected in the [[CDatabase|cTuning optimization repository]] that improve execution time (though it can be any combination of execution time, code size, compilation time, etc): | ||
+ | <div align="center">http://unidapt.org/images/img_influence_features.gif http://unidapt.org/images/img_influence_optimizations.gif</div>. | ||
+ | [[CTools:MilepostGCC|Milepost GCC]] combined with cTuning technology helps to correlate program features and optimizations using various machine learning techniques to quickly predict good optimizations for a previously unseen program. | ||
| valign="top" | | | valign="top" | |
Revision as of 20:33, 14 March 2010
It may not always be visible to the IT users, but developing and optimizing current and emerging computing systems using available technology is too time consuming and costly. cTuning.org is an open community-driven collaborative wiki-based portal that brings together academia, industry and end-users to develop intelligent collective tuning technology that automates and simplifies compiler, program and architecture design and optimization. This technology minimizes repetitive time consuming tasks and human intervention using collective optimization, run-time adaptation, statistical and machine learning techniques. It can already help end users and researchers to improve execution time, code size, power consumption, reliability and other important characteristics of the available computing systems automatically (ranging from supercomputers to embedded systems) and should eventually enable development of the emerging intelligent self-tuning adaptive computing systems. Collective Optimization Database is a public repository to continuously collect a large number of optimization cases from the community to correlate program features, program and system behavior and good optimizations between multiple programs, datasets, compilers, operating systems and architectures. This repository can also improve the quality of academic research by avoiding costly duplicate experiments and providing reproducible results.
We are very grateful to all our colleagues and users for providing valuable feedback or contributing to the project. You are warmly welcome to join this community-driven collaborative effort to help automate code, compiler and architecture design and optimization, boost innovation and research. Note: cTuning is an ongoing evolving project - please be patient and tolerant to the community and help us with this collaborative effort! Current design of our Collective Optimization Framework: ![]() We are participating in the following collaborative activities:
Motivation example: Example of complex optimization search spaces for susan_c from Collective Benchmark after using CCC framework and MILEPOST GCC 4.4.0: ![]() ![]() Example of program similarities based on static program features and based on best found program optimizations continuously collected in the cTuning optimization repository that improve execution time (though it can be any combination of execution time, code size, compilation time, etc): ![]() ![]() Milepost GCC combined with cTuning technology helps to correlate program features and optimizations using various machine learning techniques to quickly predict good optimizations for a previously unseen program. |
|