|
|
| (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>
| + | |