From cTuning.org
(Difference between revisions)
(New page: = 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 arc...) |
Current revision (16:04, 9 March 2012) (view source) |
||
(2 intermediate revisions not shown.) | |||
Line 3: | Line 3: | ||
== Intro == | == 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 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: |
+ | * [http://groups.google.com/group/ctuning-discussions cTuning mailing list] | ||
+ | * [[CTools:CTuningCC:Feedback|cTuning CC]] | ||
+ | * [[CTools:CCC:Projects|CCC]] | ||
+ | * [[CTools:ICI:Usage|ICI]] | ||
+ | |||
+ | In 2012, we are trying to consolidate all the past developments in the new coherent framework. Here are just a few ideas that we would like to have implemented in cTuning2 framework: | ||
+ | |||
+ | * 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. | ||
+ | |||
+ | ---- | ||
+ | We will be gradually updating this list. |
Current revision
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. Here are just a few ideas that we would like to have implemented in cTuning2 framework:
- 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.
We will be gradually updating this list.