From cTuning.org
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.