From cTuning.org
(Difference between revisions)
Line 8: | Line 8: | ||
* [[CTools:CCC:Projects|CCC]] | * [[CTools:CCC:Projects|CCC]] | ||
* [[CTools:ICI:Usage|ICI]] | * [[CTools:ICI:Usage|ICI]] | ||
+ | |||
+ | In 2012, we are trying to consolidate all the past developments in the new coherent framework. We would like to do the following: | ||
+ | |||
+ | * Move away from MySQL repository (for optimization cases) to directory/file-based repository with JSON format (easy integration with Java, Python, PhP, Google services) - it's much easier to extend and we can also sstore applications, datasets, modules inside. | ||
+ | |||
+ | * Convert CCC framework to fully modular infrastructure using Python and support for other languages such as Java, C, C++, Fortran, etc. Users should be able to expose choices ("tuning parameters") and multiple characteristics to tune. Python is very portable and can simplify system operations at the same time. We should provide a core module to communicate with the repository | ||
+ | |||
+ | * Convert CCC plugins written in C or PHP for auto-tuning to Python-based modules that tune objects based on their JSON description (add "choices" and "characteristics"). | ||
+ | |||
+ | * Convert CCC PHP plugins for data mining to Python based modules and use standard Python machine learning modules as a start (KNN, SVM). | ||
+ | |||
+ | * Convert CCC PHP plugins for data visualization to Python/Java based modules and combine with Google web services. | ||
+ | |||
+ | * Convert CCC benchmarks and datasets to the new format (JSON). | ||
+ | |||
+ | * Implement cTuning CC as a Python module. | ||
+ | |||
+ | * Add Android support to start collecting various performance/power characteristics from multiple users. | ||
+ | |||
+ | * Evaluate various machine learning (classification and predictive modeling techniques) that effectively explain behavior of computer systems or predict optimizations and hardware designs that improve performance and save power. | ||
+ | |||
+ | * Improve statistical ranking mechanism to favor better optimizations and hardware designs or find representative benchmarks and data sets. |
Revision as of 16:03, 9 March 2012
Ideas for GSOC 2012
Intro
In the past 3 years, we collected considerable feedback from users about possible improvements in cTuning tools and repository for application and architecture auto-tuning and data-mining:
In 2012, we are trying to consolidate all the past developments in the new coherent framework. We would like to do the following:
- Move away from MySQL repository (for optimization cases) to directory/file-based repository with JSON format (easy integration with Java, Python, PhP, Google services) - it's much easier to extend and we can also sstore applications, datasets, modules inside.
- Convert CCC framework to fully modular infrastructure using Python and support for other languages such as Java, C, C++, Fortran, etc. Users should be able to expose choices ("tuning parameters") and multiple characteristics to tune. Python is very portable and can simplify system operations at the same time. We should provide a core module to communicate with the repository
- Convert CCC plugins written in C or PHP for auto-tuning to Python-based modules that tune objects based on their JSON description (add "choices" and "characteristics").
- Convert CCC PHP plugins for data mining to Python based modules and use standard Python machine learning modules as a start (KNN, SVM).
- Convert CCC PHP plugins for data visualization to Python/Java based modules and combine with Google web services.
- Convert CCC benchmarks and datasets to the new format (JSON).
- Implement cTuning CC as a Python module.
- Add Android support to start collecting various performance/power characteristics from multiple users.
- Evaluate various machine learning (classification and predictive modeling techniques) that effectively explain behavior of computer systems or predict optimizations and hardware designs that improve performance and save power.
- Improve statistical ranking mechanism to favor better optimizations and hardware designs or find representative benchmarks and data sets.