From cTuning.org

(Difference between revisions)
Jump to: navigation, search
Current revision (15:44, 12 September 2015) (view source)
 
(4 intermediate revisions not shown.)
Line 1: Line 1:
 +
'''''NEWS: Since 2015, we moved all related developments, benchmarks, data sets and tools to our new [http://github.com/ctuning/ck/wiki Collective Knowledge Framework]!'''''
 +
 +
{{CTitle|http://ctuning.org/wiki/images/logo_unidapt_f.gif|Universal Adaptation Framework|Statically enabling run-time optimization and adaptation}}
{{CTitle|http://ctuning.org/wiki/images/logo_unidapt_f.gif|Universal Adaptation Framework|Statically enabling run-time optimization and adaptation}}
-
 
-
{|border="0" cellpadding="15" cellspacing="0"
 
-
| valign="top" |
 
{{CShortCut|unidapt}}
{{CShortCut|unidapt}}
Line 8: Line 8:
{{CMenu:CTools|}}
{{CMenu:CTools|}}
-
<div align="left" style="background-color:#FF7F7F">
+
{{NEWS}}
-
* 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)]
+
-
* '''Open calls for papers: [http://exadapt.org EXADAPT 2011] (at PLDI 2011/FCRC 2011)'''
+
-
</div>
+
-
UNIDAPT concept has been developed during 2004-2006 by [http://fursin.net/research Grigori Fursin] in collaboration with Olivier Temam to statically enable run-time optimizations and self-tuning binaries through cloning of program hot spots, applying various aggressive optimizations to clones for different optimization cases (that may improve performance/power/fault-tolerance, etc), statically integrating low-overhead program/system behaviour monitoring routines (using hardware counters) and selecting appropriate versions at run-time as a reaction to different program behavior, architectural changes or contentions.   
+
UNIDAPT concept has been developed during 2004-2006 by [http://fursin.net/research Grigori Fursin] to statically enable run-time optimizations and self-tuning binaries through cloning of program hot spots, applying various aggressive optimizations to clones for different optimization cases (that may improve performance/power/fault-tolerance, etc), statically integrating low-overhead program/system behaviour monitoring routines (using hardware counters) and selecting appropriate versions at run-time as a reaction to different program behavior, architectural changes or contentions.   
For the first time, Grigori utilized his [[CTools:ICI|Interactive Compilation Interface]] for [http://www.pathscale.com PathScale compiler] with loop vectorization, tiling, unrolling, interchange, fission/fusion, pipelining, prefetching and array padding to make static self-tuning binaries that can automatically learn from the past experience and adapt/react to various environments, run-time behavior and contentions that is important to improve efficiency and cost of both embedded systems and HPC data centers (cloud computing).  
For the first time, Grigori utilized his [[CTools:ICI|Interactive Compilation Interface]] for [http://www.pathscale.com PathScale compiler] with loop vectorization, tiling, unrolling, interchange, fission/fusion, pipelining, prefetching and array padding to make static self-tuning binaries that can automatically learn from the past experience and adapt/react to various environments, run-time behavior and contentions that is important to improve efficiency and cost of both embedded systems and HPC data centers (cloud computing).  
Line 33: Line 29:
<div align="center">http://ctuning.org/wiki/images/unidapt-framework.gif http://ctuning.org/wiki/images/figure_unidapt.gif http://ctuning.org/wiki/images/figure_unidapt_hetero.gif</div>
<div align="center">http://ctuning.org/wiki/images/unidapt-framework.gif http://ctuning.org/wiki/images/figure_unidapt.gif http://ctuning.org/wiki/images/figure_unidapt_hetero.gif</div>
-
 
-
|
 
-
 
-
{{News|
 
-
 
-
* '''2011.April.7''' - All papers and presentations from SMART 2011 are now available [[Dissemination:Workshops:SMART2011:Program|online]]. Thanks to all the participants for very interesting and lively discussions!
 
-
 
-
* '''2011.April.6''' - CGO 2012 will be in San Jose, California. Abstract deadline is set to September 13, 2011. More info will be available soon at the official [http://www.cgo.org website].
 
-
 
-
* '''2011.April.6''' - Please, check out [http://www.hipeac.net/conference new publication paradigm] for HiPEAC 2012 that will take place in Paris in January 23-25, 2012.
 
-
 
-
* '''2011.April.6''' - [http://research.microsoft.com/en-us/um/cambridge/events/asplos_2012 ASPLOS 2012] abstract deadline: Monday, July 18, 2011
 
-
 
-
* '''2011.February.25''' - '''Call for papers:''' [http://exadapt.org EXADAPT 2011] (co-located with PLDI/FCRC 2011): 1st International Workshop on Adaptive Self-Tuning Computing Systems for the Exaflop Era. Paper submission deadline: ''March 27, 2011''.
 
-
 
-
* '''2011.January.21''' - In case, someone is interested, 2 new reference journal publications related to [http://cTuning.org cTuning.org], [http://cTuning.org/milepost-gcc MILEPOST GCC] and [http://cTuning.org/ctuning-cc cTuning CC] are now available online: {{Ref2|FT2010|collective optimization (ACM TACO'10)}} and {{Ref2|FKMP2011|machine learning enabled self-tuning compiler for multi-objective optimizations (IJPP'11)}}.
 
-
 
-
* '''2010.December.31''' - Dear all, we wish you very nice and relaxing holidays and super-exciting, productive and successful New Year ;) !..
 
-
 
-
* '''2010.December.25''' - The website for SMART'2011 workshop (co-located with CGO'2011) is now finalized and the submission website is open! Please, follow this [http://cTuning.org/workshop-smart2011 link], submit your best papers ;) and spread the word!
 
-
 
-
* '''2010.December.20''' - Extended variant of our paper on "Collective Optimization" will appear in December issue of the ACM Transactions on Architecture and Code Optimization (TACO). PDF and BIB are now available here: {{Ref|FT2010}}.
 
-
 
-
* '''2010.October.31''' - Paper about practical aggregation of semantical program properties for machine learning based optimization by M.Namolaru et al from CASES'10 is now available on-line [http://unidapt.org/index.php/Dissemination#MCFP2010 here]. It describes mechanisms of feature extraction inside [http://cTuning.org/ctuning-cc MILEPOST GCC/cTuning CC].
 
-
 
-
* '''2010.October.26''' - SMART'11 will be co-located with the [http://www.cgo.org/cgo2011 CGO'11] conference. More information will be following soon!
 
-
 
-
* '''2010.October.25''' - [http://www.exascale-computing.eu Exascale Computing Research Center (France)] (former EXATEC Lab) has been finally officially inaugurated!
 
-
 
-
* '''2010.September.10''' - The CFP for the [http://grow2011.inria.fr 3rd International Workshop on GCC Research Opportunities (GROW 2011)] co-located with [http://www.cgo.org/cgo2011 CGO 2010] (early April 2011, Chamonix, France) is now available [http://grow2011.inria.fr on-line]. Please, follow our announcements about GROW 2011 and submit your best papers!..
 
-
 
-
* '''2010.August.24''' - Congratulations to Mircea et al for the paper [http://unidapt.org/index.php/Dissemination#MCFP2010 Practical Aggregation of Semantical Program Properties for Machine Learning Based Optimization] accepted to [http://www.public.asu.edu/~ashriva6/esweek2010/cases2010 CASES 2010]. This work has been integrated with [http://cTuning.org/milepost-gcc MILEPOST GCC] and [http://cTuning.org/ctuning-cc cTuning CC].
 
-
 
-
* '''2010.August.16''' - Submissions are now open for [http://www.cgo.org/cgo2011 CGO 2011].
 
-
 
-
* '''2010.June.30''' - Call for papers: [http://www.cgo.org/cgo2011/CGO-2011-CFP.pdf CGO'11].
 
-
 
-
* '''2010.June.9''' - Finally, we recovered all cTuning website and services after physical hard drive failure. However, if you still experience some problems or abnormal behavior, please report that to the [http://groups.google.com/group/ctuning-discussions cTuning discussions mailing list]! Thanks and sorry for any inconvenience!
 
-
 
-
* '''2010.May.22''' - Pre-release of [[CTools:CTuningCC|cTuning CC V2.5]] is now available. 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).
 
-
 
-
* '''2010.May.14''' - Call for papers: [http://asplos11.cs.ucr.edu ASPLOS 2011].
 
-
 
-
* '''2010.April.28''' - List of all projects accepted for Google Summer of Code 2010 is now [http://socghop.appspot.com/gsoc/program/list_projects/google/gsoc2010 available on-line]. There are many projects related to [http://gcc.gnu.org/wiki/SummerOfCode GCC], LLVM, MONO, etc.<BR>Discussion page about GCC as a research compiler [[Dissemination:Workshops:GROW10:GCC_as_a_research_compiler|has been updated]].<BR>Diego Novillo started a proposal to [http://gcc.gnu.org/wiki/ModularGCC modularize GCC].
 
-
 
-
* '''2010.April.14''' - Long awaited GCC 4.5 has been [http://gcc.gnu.org/gcc-4.5 released]! It features new plugin framework with some parts of [http://cTuning.org/ici ICI] to continue GCC modularization and parametrization, simplify pass manipulation and reordering, and enable better integration with [http://cTuning.org cTuning]/[http://cTuning.org/milepost-gcc MILEPOST] tools to automate optimization space exploration and prediction of profitable combinations of program transformations during multi-objective optimizations (balancing execution time, code size, compilation time, etc) for a given program/dataset/architecture.
 
-
 
-
* '''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.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.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://cTuning.org/project-milepost 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://cTuning.org/project-milepost 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|FT2010}}, {{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|FT2010}}, {{Ref|FT2009|}}) describing collective tuning concept has been accepted for ACM Transactions on Architecture and Code Optimization (TACO).
 
-
 
-
* '''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.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 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.02''' - [http://code.google.com/soc/ Google Summer of Code'2009] will be accepting development applications soon - you are welcome to check [[CTools:UNIDAPT:Projects|UNIDAPT extension projects]] and [[CTools:UNIDAPT:Feedback|UNIDAPT feedback]] pages if you would like to help us to extend our collaborative tools within this program!<br><br>{{Link1}}
 
-
 
-
<BR>
 
-
:::::: ''[http://groups.google.com/group/ctuning-announce News archive]''
 
-
 
-
}}
 
-
 
-
|}
 
----
----
''You are welcome to [[Join|join]] us and participate in discussions, developments or provide feedback and suggestions to extend UNIDAPT Framework.''
''You are welcome to [[Join|join]] us and participate in discussions, developments or provide feedback and suggestions to extend UNIDAPT Framework.''

Current revision

NEWS: Since 2015, we moved all related developments, benchmarks, data sets and tools to our new Collective Knowledge Framework!


logo_unidapt_f.gif

Universal Adaptation Framework

Statically enabling run-time optimization and adaptation
Web shortcut: http://cTuning.org/unidapt
Navigation: cTuning.org > CTools 

NOTES:

cTuning Google discussions list

UNIDAPT concept has been developed during 2004-2006 by Grigori Fursin to statically enable run-time optimizations and self-tuning binaries through cloning of program hot spots, applying various aggressive optimizations to clones for different optimization cases (that may improve performance/power/fault-tolerance, etc), statically integrating low-overhead program/system behaviour monitoring routines (using hardware counters) and selecting appropriate versions at run-time as a reaction to different program behavior, architectural changes or contentions.

For the first time, Grigori utilized his Interactive Compilation Interface for PathScale compiler with loop vectorization, tiling, unrolling, interchange, fission/fusion, pipelining, prefetching and array padding to make static self-tuning binaries that can automatically learn from the past experience and adapt/react to various environments, run-time behavior and contentions that is important to improve efficiency and cost of both embedded systems and HPC data centers (cloud computing).

This technique opened up many research possibilities, has been used in multiple research projects in collaboration with UPC, ICT, IBM, CAPS Enterprise, STMicro, has been supported by MILEPOST, HiPEAC and Google Summer of Code grants, has been referenced in patents and has been extended to speed up iterative compilation (FCOP2005, FCOP2006), enable transparent continuous collective optimization (FT2010, FT2009,FMPP2007), enable portable program characterization techniques based on reactions to optimizations (FT2010, FT2009), enable predictive scheduling for heterogeneous multicore systems (JGVP2009), enable adaptive libraries based on dataset characterization using machine learning and decision trees (LCWP2009) among many other usages based on continuous transparent run-time program optimization and adaptation as a reaction to dynamic changes in program behavior and environment. Since 2007 it is being actively extended by Google Inc. for data centers.

We are gradually working to move this framework to mainline GCC combined with ICI (though source-to-source adaptation framework can still be useful). We are working to provide a unified view of heterogeneous architectures and optimizations with a high-level abstraction layer (architectures, compilers, run-time systems) to automate and simplify program development and optimization for heterogeneous multi-core systems. We would like to use this framework to automatically detect contentions in computing systems and react to such changes. We also hope to provide a unified view of heterogeneous architectures (CPU/GPU, CELL-like, FPGA, accelerators), optimizations and data movement/partitioning with a high-level abstraction layer (architectures, compilers, run-time systems) to automate and simplify program development and optimization for heterogeneous multi-core systems.

You are welcome to join the project, provide feedback and help with developments.

unidapt-framework.gif figure_unidapt.gif figure_unidapt_hetero.gif

You are welcome to join us and participate in discussions, developments or provide feedback and suggestions to extend UNIDAPT Framework.

Locations of visitors to this page