From cTuning.org

(Difference between revisions)
Jump to: navigation, search
Current revision (00:45, 16 March 2010) (view source)
 
(26 intermediate revisions not shown.)
Line 1: Line 1:
-
'''Continuous Collective Compilation Framework documentation'''
 
-
 
{{CMenu:CTools|CCC|}}
{{CMenu:CTools|CCC|}}
-
=== License ===
+
'''Continuous Collective Compilation Framework documentation'''
-
 
+
-
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation.
+
-
 
+
-
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the [http://www.gnu.org/copyleft/gpl.html GNU General Public License for more details]. 
+
-
 
+
-
If you found this software useful, you are welcome (but not obliged) to reference http://ctuning.org website and these publications {{Ref|FT2009}},{{Ref|FMTP2008}} in your derivative works.
+
-
 
+
-
=== Framework high-level overview ===
+
-
 
+
-
http://ctuning.org/wiki/images/figure_ccc.gif
+
-
 
+
-
=== Requirements ===
+
-
 
+
-
To successfully install CCC Framework, you need:
+
-
 
+
-
* C/C++ compiler (GCC) (''we hope to convert 1 program that uses C++ to C'').
+
-
* MySQL client and development headers /include/mysql/* ''(not strictly required but functionality will be reduced)''.
+
-
* PHP ''(not strictly required but functionality will be reduced)''.
+
-
 
+
-
=== Directory structure ===
+
-
 
+
-
* '''/'''
+
-
** ''README.txt'' - brief README and GPL license info
+
-
** ''INSTALL.sh'' - main installation script that calls ccc-configure* scripts one by one
+
-
** ''ccc-configure*'' - distributed configuration scripts for different tasks (''See Installation section'')
+
-
** ''ccc-build.cfg'' - CCC Framework build number
+
-
** ''ccc-build-db.cfg'' - lower and upper version number of the [[CDatabase|Collective Optimization Database]] which this version is intended to work with (to avoid incompatibility when both CCC Framework and COD are evolving).
+
-
 
+
-
* '''/src-plat-dep''' - platform dependent tools and plugins
+
-
** ''/include/ccc'' - CCC Framework header files
+
-
** ''/lib'' - auxiliary functions
+
-
** ''/plugins'' - plugins sources
+
-
*** ''/compilation'' - iterative feedback-directed compilation plugins
+
-
*** ''/ml-prediction'' - machine learning prediction plugins
+
-
** ''/tools'' - low-level tools
+
-
*** ''/ccc-time'' - substitution for standard time program to collect different profile info about program including hardware counters support
+
-
*** ''/ccc-comp'' - basic tool dealing with program compilation
+
-
*** ''/ccc-run'' - basic tool dealing with program execution and profiling collection
+
-
*** ''/ccc-db-send-stats-comp'' - send compilation statistics to COD
+
-
*** ''/ccc-db-send-stats-comp-passes'' - send info about compiler optimizations (at function-level) to COD
+
-
*** ''/ccc-db-send-stats-prog-feat'' - send info about program static features (machine learning) to COD
+
-
*** ''/ccc-db-send-stats-run'' - send execution statistics to COD
+
-
** ''/tools-aux'' - auxiliary tools if system supports that
+
-
*** ''/hardware-counters-papi'' - collecting hardware counters statistics (dynamic program features for machine learning or statistical analysis)
+
-
 
+
-
* '''/src-plat-indep''' - platform independent tools and plugins
+
-
** ''/include/ccc_script_functions.php'' - library that supports platform independent plugins and deals mostly with COD
+
-
** ''/plugins'' - plugins and scripts
+
-
 
+
-
* '''/cfg''' - CCC configuration directories for different architectures/environments/compilers
+
-
** ''/default'' - default configurations including optimizations for several compilers (GCC,Open64,PathScale)
+
-
 
+
-
* '''/install''' - installation directory for (platform-dependent) tools and scripts
+
-
 
+
-
* '''/apps''' - applications converted to work with CCC and scripts to automate iterative compilation
+
-
 
+
-
=== Installation ===
+
-
 
+
-
=== Collective Optimization Database ===
+
-
 
+
-
=== Applications ===
+
-
 
+
-
=== Low-level tools ===
+
-
 
+
-
=== Iterative compilation example ===
+
-
 
+
-
=== Plugins ===
+
-
==== Iterative compilation plugins ====
+
-
 
+
-
==== Machine learning plugins ====
+
-
 
+
-
==== Data Analysis plugins ====
+
-
<BR>
+
* [[CTools:CCC:Documentation:CCC_V2.5|CCC V2.5]]
-
<BR>
+
* [[CTools:CCC:Documentation:CCC_V2.0x|CCC V2.0x]]
-
<BR>
+
-
<BR>
+
-
<BR>
+
-
<BR>
+
-
<BR>
+
-
<BR>
+
-
<BR>
+
-
<BR>
+
-
<BR>
+
-
<BR>
+
-
<BR>
+
-
<BR>
+
-
<BR>
+
-
<BR>
+
-
<BR>
+
-
<BR>
+
-
<BR>
+
-
<BR>
+
-
<BR>
+
-
<BR>
+
-
<BR>
+
-
<BR>
+
-
<BR>
+

Current revision

Navigation: cTuning.org > CTools > CCC

Continuous Collective Compilation Framework documentation

Locations of visitors to this page