openme
openme copied to clipboard
Simple plugin and event-based interface to expose externals of hardwired tools (and connect them to Collective Knowledge Framework). Further info:
OpenME
OpenME is a simple plugin-based event framework to decompose complex software (tools, applications) into interconnected and shareable plugins. It is also used to connect user programs written in any language to Collective Knowledge (CK) framework and enable plugin-based auto-tuning and run-time adaptation (see our publications below describing the concept).
Currently, we support interfacing with C, C++, Fortran, Java and PHP. Python is natively supported in Collective Knowledge framework.
The proof-of-concept (various auto-tuning version and Interactive Compilation Interface) has been successfully used in several academic and industrial projects since 1999, and has been eventually included to mainline GCC since version 4.6 (to enable interactive compilers and plugin-based auto-tuning combined with machine learning).
Java version of OpenME is used in Collective Mind Node to crowdsource compiler auto-tuning using mobile phones: https://play.google.com/store/apps/details?id=com.collective_mind.node
Note, that we currently updating this version to work with the new Collective Knowledge Framework. It may take some time, so please be patient!
License
- OpenME interface is distributed under LGPL v2.1 license (to be able to use in GPL and BSD projects) unless specified differently in a source directory (OpenME for Android is licensed under BSD 3 clause license).
Mailing list
- http://groups.google.com/group/collective-knowledge
Developers
This software is being developed by the non-profit cTuning foundation and its volunteers.
(C)opyright 2014-2016 Grigori Fursin, cTuning foundation and contributors
Minimal requirements
- Standard C
Publications
Concepts has been described in the following publications:
- https://hal.inria.fr/inria-00128507
- https://hal.inria.fr/inria-00436029
- http://hal.inria.fr/hal-01054763
If you find OpenME and CK usefl, you are welcome to reference above publications.