From cTuning.org

(Difference between revisions)
Jump to: navigation, search
Current revision (16:23, 17 February 2019) (view source)
 
(49 intermediate revisions not shown.)
Line 1: Line 1:
-
{{CTitle|http://ctuning.org/wiki/images/logo_cdb.gif|Collective Optimization Database|Sharing and reusing optimization knowledge to help tuning computing systems collectively}}
+
'''''We moved all developments to our new [http://cKnowledge.org Collective Knowledge Framework] in 2015!'''''
-
{|border="0" cellpadding="15" cellspacing="0"
 
-
| valign="top" |
 
-
''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. Collective Optimization Database stores useful optimization cases from the community to help optimize available computing systems (ranging from supercomputers to embedded systems) and enable development of the emerging intelligent self-tuning adaptive computing systems based on collective optimization, run-time adaptation, statistical and machine learning techniques.''
+
{{Reference}}
-
<div align="center" style="font-size:larger">
+
'''cTuning.org - free, open source, collaborative repository and tools for program and architecture characterization and optimization.'''
 +
 
 +
''We provide public database with statistics about behavior of computer systems, so that community could develop various predictive models explaining this behavior, correlate it with program and system properties and characteristics, build advice systems about how to optimize programs and enable efficient run-time adaptation and architecture reconfiguration''
 +
 
 +
<div align="left" style="font-size:larger">
{| width="100%" border="0" cellpadding="10"  
{| width="100%" border="0" cellpadding="10"  
-
| <div align="center" style="font-size:larger">
+
| <div align="left" style="font-size:larger">
[&nbsp;[http://ctuning.org/wiki/index.php/Special:CDatabase?request=view_opt_cases View, rank and reference optimization cases from the community]&nbsp;]<BR>
[&nbsp;[http://ctuning.org/wiki/index.php/Special:CDatabase?request=view_opt_cases View, rank and reference optimization cases from the community]&nbsp;]<BR>
[&nbsp;[http://ctuning.org/wiki/index.php/Special:CDatabase?request=add_opt_cases Share your optimization case with the community]&nbsp;]<BR>
[&nbsp;[http://ctuning.org/wiki/index.php/Special:CDatabase?request=add_opt_cases Share your optimization case with the community]&nbsp;]<BR>
[&nbsp;[http://ctuning.org/wiki/index.php/Special:CDatabase?request=find_opt_case Find referenced optimization case]&nbsp;]<BR><BR>
[&nbsp;[http://ctuning.org/wiki/index.php/Special:CDatabase?request=find_opt_case Find referenced optimization case]&nbsp;]<BR><BR>
[&nbsp;[http://ctuning.org/wiki/index.php/Special:CPredict Predict optimizations using ML]&nbsp;]<BR><BR>
[&nbsp;[http://ctuning.org/wiki/index.php/Special:CPredict Predict optimizations using ML]&nbsp;]<BR><BR>
-
</div><div align="center" style="font-size:larger">
+
</div><div align="left" style="font-size:larger">
-
<div align="center" style="font-size:smaller">[[CDatabase:Access|(Full access to the cDatabase including web-services)]] </div>
+
<div align="left" style="font-size:smaller">[[CDatabase:Access|(Full access to the cDatabase including web-services)]] </div>
|}
|}
</div>
</div>
Line 20: Line 22:
<div align="center">http://ctuning.org/wiki/images/ctuning_services.gif</div>
<div align="center">http://ctuning.org/wiki/images/ctuning_services.gif</div>
-
Collective Optimization Database (cDatabase or COD) provides a common global repository with data analysis plugins to share, analyze and reference useful program/architecture optimization cases. It has been developed to help users optimize programs, libraries, kernels and the whole systems (compiler optimizations/architecture configurations to improve execution time, code size, architecture size, power consumption, etc). It is intended to simplify and automate the design and optimization of programs, compilers, run-time systems and architectures based on recent statistical and machine learning techniques ({{Ref|FT2009}}, {{Ref|FMTP2008}}, {{Ref|ABCP2006}}, [http://www.milepost.eu MILEPOST], [http://unidapt.org UNIDAPT]). We also hope that it will also be useful for adaptive parallelization and scheduling for the emerging and future heterogeneous multi-core systems including current CPU/GPU and CELL architectures ([http://fursin.net/wiki/index.php5?title=Research:Dissemination#LCWP2009 LCWP2009]). Finally, it is  intended to improve the quality of academic research by avoiding costly duplicate experiments and providing replicable referable results. It can provide detailed performance analysis and comparison of different programs, datasets, compilers and architectures. It can be used to optimize programs on-the-fly when using cloud computing services.
+
Collective Optimization Database (cDatabase or COD) provides a common global repository with data analysis plugins to share, analyze and reference useful program/architecture optimization cases. It has been developed to help users optimize programs, libraries, kernels and the whole systems (compiler optimizations/architecture configurations to improve execution time, code size, architecture size, power consumption, etc). It is intended to simplify and automate the design and optimization of programs, compilers, run-time systems and architectures based on recent statistical and machine learning techniques ({{Ref|FT2010}}, {{Ref|FT2009}}, {{Ref|FMTP2008}}, {{Ref|ABCP2006}}, [http://cTuning.org/project-milepost MILEPOST], [http://unidapt.org UNIDAPT]). We also hope that it will also be useful for adaptive parallelization and scheduling for the emerging and future heterogeneous multi-core systems including current CPU/GPU and CELL architectures ([http://fursin.net/wiki/index.php5?title=Research:Dissemination#LCWP2009 LCWP2009]). Finally, it is  intended to improve the quality of academic research by avoiding costly duplicate experiments and providing replicable referable results. It can provide detailed performance analysis and comparison of different programs, datasets, compilers and architectures. It can be used to optimize programs on-the-fly when using cloud computing services.
We currently keep information about architectures and their configurations, software environments, programs, datasets, compilers (such as GCC, Open64, ICC, PathScale and plan to add dynamic compilers such as LLVM, IBM Testerossa, etc), compiler flags for program and architecture optimizations, compiler [[CTools:ICI|ICI]] optimization passes, fine-grain program optimizations, execution time, code size, profiling statistics, program static and dynamic features (hardware counters), parallelization schemes, etc.  
We currently keep information about architectures and their configurations, software environments, programs, datasets, compilers (such as GCC, Open64, ICC, PathScale and plan to add dynamic compilers such as LLVM, IBM Testerossa, etc), compiler flags for program and architecture optimizations, compiler [[CTools:ICI|ICI]] optimization passes, fine-grain program optimizations, execution time, code size, profiling statistics, program static and dynamic features (hardware counters), parallelization schemes, etc.  
Line 40: Line 42:
* '''[[CDatabase:Copyright|Copyright and license note]]'''
* '''[[CDatabase:Copyright|Copyright and license note]]'''
-
 
-
| valign="top" |
 
-
{{News1|
 
-
* '''2010.March.17''' - We pre-released all tools including [[CTools:MilepostGCC|MILEPOST GCC]], [[CTools:CCC|CCC framework]], [[CTools:CBench|cBench]] and [[CDatabase|cDatabase]]. It's a major update of cTuning tools including changes behind  to support transparent optimizations of programs and libraries, better multi-objective optimization (including balancing of execution time, code size and compilation time), bug fixes in averaging multiple optimization cases, C++ support in MILEPOST GCC, support of all version of GCC 4.4, new static features in MILEPOST GCC, extended documentation, etc. Feedback and comments are welcome [http://groups.google.com/group/ctuning-discussions/browse_thread/thread/c22a6109d57905f7 here].
 
-
 
-
* '''2010.March.01''' - CGO'10 program is available [http://www.cgo.org/cgo2010/program.html on-line].
 
-
 
-
* '''2010.February.10''' - Accepted papers for PLDI'10 are now available [http://www.cs.stanford.edu/pldi10/PLDI2010Papers.html on-line].
 
-
 
-
* '''2010.January.28''' - Proceedings and slides from [[Dissemination:Workshops:GROW10:Program|GROW'10]] and [[Dissemination:Workshops:SMART10:Program|SMART'10]] are now available online.
 
-
 
-
* '''2010.January.25''' - We added [http://www.prism.uvsq.fr/~touati/sw/ST Speedup Test beta plugin] to [http://cTuning.org/cdatabase cTuning collective optimization database] to enable precise and rigorous statistical analysis of the performance of benchmarks.
 
-
 
-
* '''2010.January.4''' - Call for participation: GROW'10 and SMART'10 workshops will be held on the 23rd and 24th of January in Pisa, Italy co-located with the [http://www.hipeac.net/conference/pisa/program HiPEAC conference]. Preliminary programs are available: [http://ctuning.org/wiki/index.php/Dissemination:Workshops:SMART10:Program SMART'10 program] and [http://ctuning.org/wiki/index.php/Dissemination:Workshops:GROW10:Program GROW'10 program].
 
-
 
-
*'''2010.January.1''' - We wish you all a very happy and prosperous New Year with lots of exciting achievements maybe even related to cTuning technology ;) !
 
-
 
-
*'''2009.November.11''' - Small [http://cTuning.org/ccc CCC] analysis plugins update available at SVN to speedup queries when dealing with large amount of optimization data in [http://cTuning.org/cdatabase cDatabases] (gigabytes of data).
 
-
 
-
*'''2009.November.7''' - Submission deadline for [http://cTuning.org/workshop-smart10 SMART'10 workshop] has been extended until the 22nd of November, 2009.
 
-
 
-
*'''2009.October.2''' - We successfully passed the final [http://www.milepost.eu MILEPOST] review and the project is officially over. We would like to thank all the partners from the University of Edinburgh, IBM Haifa, CAPS and ARC for a great collaborative work during last 3 years and [http://cTuning.org/community cTuning community] for a very interesting feedback and extensions! We released all the tools from the project and hope to continue extending them within community-driven [http://cTuning.org cTuning.org]. This infrastructure should open up many interesting research opportunities for performance auto-tuning based on statistical and machine learning techniques so we hope to see many more interesting extensions to the MILEPOST/cTuning technology soon ;) !..
 
-
 
-
*'''2009.September.25''' - New CFP for [http://ctuning.org/workshop-smart10 SMART'10 workshop] co-located with HiPEAC'10 conference in Pisa, Italy is now available. [http://www.cs.rice.edu/~keith Prof. Keith Cooper] from Rice University kindly agreed to give a keynote talk.
 
-
 
-
*'''2009.September.22''' - Congratulations to Dr.Christophe Dubach who has won a presitigious BCS/CPHC Distinguished Dissertation Award for his thesis "Using Machine-Learning to Efficiently Explore the Architecture/Compiler Co-Design Space" supervised by Prof. Michael O'Boyle. This topic is related to cTuning technology!
 
-
 
-
*'''2009.September.1''' - The documentation of [http://ctuning.org/milepost-gcc MILEPOST GCC]/[http://ctuning.org/ici GCC ICI] extensions by Yuanjie and Liang during GSOC'09 program is now available: [http://ctuning.org/wiki/index.php/CTools:ICI:Projects:GSOC09:Function_cloning_and_program_instrumentation Function cloning and program instrumentation] and [http://ctuning.org/wiki/index.php/CTools:ICI:Projects:GSOC09:Fine_grain_tuning Fine grain program tuning]. We would like to fully test and sync these developments with mainline GCC within next month or two.
 
-
 
-
*'''2009.August.05''' - The colleagues from the [http://unidapt.org UNIDAPT Group] started investigating the use of [http://ctuning.org cTuning]/[http://www.milepost.eu MILEPOST] technology and the [http://ctuning.org/unidapt UNIDAPT framework] to predict good optimization and parallelization schemes for hybrid heterogeneous CPU/GPU-like architectures together with [http://www.caps-entreprise.com CAPS Entreprise] based on run-time adaptation and profiling, empirical iterative compilation, statistical analysis, machine learning, program and dataset features and run-time decision trees ({{Ref|FT2009}}, {{Ref|LCWP2009}}, {{Ref|Fur2009}}, {{Ref|JGVP2009}}, {{Ref1|TWFP2009}}, {{Ref|FMTP2008}}, {{Ref|LFF2007}}, {{Ref|FCOP2005}}). They plan to add new optimization cases to the [http://ctuning.org/cdatabase Collective Optimization Database] in Autumn, 2009.
 
-
 
-
*'''2009.July.27''' - The paper "Portable Compiler Optimization Across Embedded Programs and Microarchitectures using Machine Learning" ({{Ref|DJBP2009}}) has been accepted for the [http://www.microarch.org/micro42 42nd IEEE/ACM International Symposium on Microarchitecture (MICRO)]. The research has been led by the colleagues from the University of Edinburgh - congratulations!
 
-
 
-
*'''2009.July.22''' - cTuning-related CFP: [http://ctuning.org/workshop-smart10 SMART'10] and [http://ctuning.org/workshop-grow10 GROW'10] workshops will be co-located with [http://www.hipeac.net/conference HiPEAC'10 conference] in Pisa, Italy at the end of January, 2009. You are warmly invited to submit your novel research results and developments to our workshops! At the websites of these workshops you can find all information about topics, PC, deadlines and submission procedures.
 
-
 
-
*'''2009.July.15''' - New optimization cases to improve execution time, code size and compilation time are now available in [http://ctuning.org/cdatabase Collective Optimization Database] for [http://ctuning.org/cbench cBench], [http://www.eembc.org EEMBC], [http://www.spec.org SPEC] and other applications with multiple datasets using [http://ctuning.org/milepost-gcc MILEPOST GCC 4.4.0] and 2 architectures ([http://www.intel.com Intel] and [http://www.amd.com AMD]) from [http://www.grid5000.fr GRID5000] (infrastructure for large scale parallel and distributed computing research).
 
-
 
-
*'''2009.July.08''' - The preprint of a paper "Collective Tuning Initiative: automating and accelerating development and optimization of computing systems" describing cTuning infrastructure is now available online ({{Ref|Fur2009}}).
 
-
 
-
*'''2009.June.29''' - Stable MILEPOST GCC 4.4.0 has been [[CTools:MilepostGCC|released]]. Follow further community developments at [http://ctuning.org/ici cTuning GCC ICI page] and [http://groups.google.com/group/ctuning-discussions cTuning development mailing list].<BR>Next, we plan to use MILEPOST/cTuning technology to enable realistic adaptive parallelization, data partitioning and scheduling for heterogeneous multi-core systems using statistical and machine learning techniques.
 
-
 
-
*'''2009.June.26''' - The pdf of the paper that describes Collective Tuning Infrastructure and cTuning concept (presented at the GCC Summit'09) will be available in a few weeks [http://unidapt.org/index.php/Dissemination#Fur2009 here].
 
-
 
-
*'''2009.June.10''' - Extended version of the "Collective Optimization" paper ({{Ref|FT2009|}}) describing collective tuning concept has been accepted for ACM Transactions on Architecture and Code Optimization (TACO).
 
-
*'''2009.June.03-10''' - We gave several talks/demos/tutorials about cTuning at the [http://www.hipeac.net/industry_workshop7 HiPEAC Computing week] (Infineon, Munich, Germany) and [http://www.gccsummit.org/2009 GCC Summit] (Montreal, Canada).
 
-
* '''2009.June.01''' - After nearly 1 year of developments we released/updated all our open-source collaborative [[CTools|R&D tools]]:
 
-
** fully redesigned and documented [[CTools:ICI|Interactive Compilation Interface]] v2.0 for GCC 4.4.0 synchronized with the official plugin GCC branch - transforming compilers into plugin-enabled research toolsets
 
-
** [[cTools:MilepostGCC|MILEPOST GCC 4.4.0]] pre-release version at SVN - automating program optimization and compiler optimization heuristic tuning using machine learning
 
-
** [[CTools:CCC|Continuous Collective Compilation Framework v2.0]] - enabling automatic collaborative program optimization based on statistical and machine learning techniques
 
-
** [[CTools:CBench|Collective Benchmark/MiDataSets v1.0]] - enabling realistic program optimization research and benchmarking using multiple open-source programs/datasets.<BR><BR>We also updated [[CDatabase|Collective Optimization Database]] with various optimization cases for Intel and AMD processors and comparison of different compilers including GCC, LLVM, Open64, Intel, etc - enabling sharing and reuse of optimization knowledge.<BR><BR>We would like to thank [[Community:People|cTuning community]] for feedback, help and support! You are welcome to join this [[Community|community effort]] to automate program optimization and compiler/architecture design.
 
-
 
-
* '''2009.April.27''' - We gave a talk at the University of Illinois at Urbana-Champaign about [http://ctuning.org Collective Tuning Initiative and tools] and [http://www.milepost.eu MILEPOST project] ("Collective Optimization, run-time adaptation and machine learning"). Presentation is available [http://unidapt.org/presentations/presentation_fursin_uiuc2009.pdf here]. We would like to thank all the UIUC&nbsp;colleagues for a very interesting and useful feedback.<br>
 
-
 
-
* '''2009.April.23''' - First version of optimization predictor based on static program features is now available [http://ctuning.org/wiki/index.php/Special:CPredict on-line]. It is an on-going project, so please be patient. Comments are welcome!
 
-
 
-
* '''2009.April.21''' - [http://socghop.appspot.com/org/home/google/gsoc2009/gcc Several projects] to enable automatic fine-grain program optimization and run-time adaptation in GCC using iterative compilation and machine learning (based on our cTuning/UNIDAPT/ICI/MILEPOST technology) have been accepted by the Google Summer of Code. You are welcome to [[Join|join cTuning community]] and follow or participate in the developments using our dedicated [[Community|mailing lists]].
 
-
 
-
* '''2009.March.16''' - You are welcome to check our new [[CDatabase:Projects|cDatabase projects page]] if you would like to help us extend the database and community services or you can provide your  [[CDatabase:Feedback|cDatabase feedback and suggestions]]!<br><br>
 
-
 
-
* '''2009.January.20''' - We went off-line to move to a new hosting and a new Mediawiki platform.<br><br>
 
-
 
-
* '''2008.October.17''' - First public version of cDatabase is ready.<br><br>
 
-
 
-
* '''2007.March.03''' - cDatabase has been extended for the MILEPOST project.<br><br>
 
-
 
-
<BR>
 
-
:::::: ''[http://groups.google.com/group/ctuning-announce News archive]''
 
-
 
-
}}
 
-
 
-
|}
 
<div align="center">
<div align="center">
Line 118: Line 49:
|-
|-
| align="center" valign="top" | {{CDatabase:Logo_Friends}}
| align="center" valign="top" | {{CDatabase:Logo_Friends}}
-
<div align="center"><br>''You are welcome to register your interest at this [[Community:Friends|page]]''.</div>
 
|}
|}
</div>
</div>

Current revision

We moved all developments to our new Collective Knowledge Framework in 2015!


cTuning.org is based on the following reference publications: GCC Summit'09, CPE'04, HiPEAC'05, PhD thesis'04, SMART'09, PLDI'10, HiPEAC'09, IJPP'11

cTuning.org - free, open source, collaborative repository and tools for program and architecture characterization and optimization.

We provide public database with statistics about behavior of computer systems, so that community could develop various predictive models explaining this behavior, correlate it with program and system properties and characteristics, build advice systems about how to optimize programs and enable efficient run-time adaptation and architecture reconfiguration

ctuning_services.gif

Collective Optimization Database (cDatabase or COD) provides a common global repository with data analysis plugins to share, analyze and reference useful program/architecture optimization cases. It has been developed to help users optimize programs, libraries, kernels and the whole systems (compiler optimizations/architecture configurations to improve execution time, code size, architecture size, power consumption, etc). It is intended to simplify and automate the design and optimization of programs, compilers, run-time systems and architectures based on recent statistical and machine learning techniques (FT2010, FT2009, FMTP2008, ABCP2006, MILEPOST, UNIDAPT). We also hope that it will also be useful for adaptive parallelization and scheduling for the emerging and future heterogeneous multi-core systems including current CPU/GPU and CELL architectures (LCWP2009). Finally, it is intended to improve the quality of academic research by avoiding costly duplicate experiments and providing replicable referable results. It can provide detailed performance analysis and comparison of different programs, datasets, compilers and architectures. It can be used to optimize programs on-the-fly when using cloud computing services.

We currently keep information about architectures and their configurations, software environments, programs, datasets, compilers (such as GCC, Open64, ICC, PathScale and plan to add dynamic compilers such as LLVM, IBM Testerossa, etc), compiler flags for program and architecture optimizations, compiler ICI optimization passes, fine-grain program optimizations, execution time, code size, profiling statistics, program static and dynamic features (hardware counters), parallelization schemes, etc.

cDatabase is an evolving project driven by the community and industry demands - you are welcome to join the project, extend the database and data analysis plugins, provide feedback and add your optimization data to help the community. If you want to use database directly, you can find more info about cDatabase API and web-services in cDatabase documentation. You can also communicate with cTuning community through our mailing lists.


cDatabase friends:
logo_unidapt1.gif logo-inria-scientifique-couleur.jpg logo_caps.gif logo_uvsq1.jpg logo_ue.gif logo_ibm.jpg logo_arc.gif logo_ict.gif
Locations of visitors to this page