Collective Optimization Database
|Sharing and reusing optimization knowledge to help tuning computing systems collectively|
Web shortcut: http://cTuning.org/cdatabase
cTuning is based on the following reference publications: CPE'04, GCC Summit'09, HiPEAC'05, PhD thesis, PLDI'10, HiPEAC'09, IJPP'11, ACM TACO'10
cTuning.org - free, open source, collaborative repository and tools for program and architecture characterization and optimization.
We provide public database with statistics about behavior of computer systems, so that community could develop various predictive models explaining this behavior, correlate it with program and system properties and characteristics, build advice systems about how to optimize programs and enable efficient run-time adaptation and architecture reconfiguration
Collective Optimization Database (cDatabase or COD) provides a common global repository with data analysis plugins to share, analyze and reference useful program/architecture optimization cases. It has been developed to help users optimize programs, libraries, kernels and the whole systems (compiler optimizations/architecture configurations to improve execution time, code size, architecture size, power consumption, etc). It is intended to simplify and automate the design and optimization of programs, compilers, run-time systems and architectures based on recent statistical and machine learning techniques (FT2010, FT2009, FMTP2008, ABCP2006, MILEPOST, UNIDAPT). We also hope that it will also be useful for adaptive parallelization and scheduling for the emerging and future heterogeneous multi-core systems including current CPU/GPU and CELL architectures (LCWP2009). Finally, it is intended to improve the quality of academic research by avoiding costly duplicate experiments and providing replicable referable results. It can provide detailed performance analysis and comparison of different programs, datasets, compilers and architectures. It can be used to optimize programs on-the-fly when using cloud computing services.
We currently keep information about architectures and their configurations, software environments, programs, datasets, compilers (such as GCC, Open64, ICC, PathScale and plan to add dynamic compilers such as LLVM, IBM Testerossa, etc), compiler flags for program and architecture optimizations, compiler ICI optimization passes, fine-grain program optimizations, execution time, code size, profiling statistics, program static and dynamic features (hardware counters), parallelization schemes, etc.
cDatabase is an evolving project driven by the community and industry demands - you are welcome to join the project, extend the database and data analysis plugins, provide feedback and add your optimization data to help the community. If you want to use database directly, you can find more info about cDatabase API and web-services in cDatabase documentation. You can also communicate with cTuning community through our mailing lists.