From cTuning.org

Jump to: navigation, search

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.

Locations of visitors to this page