About Crowdsourcing experiments
This application lets you participate in experiment crowdsourcing to help researchers solve complex problems using open-source Collective Knowledge Engine available at http://github.com/ctuning/ck . You can see all public crowd results at http://cknowledge.org/repo! You can also check out other ways to participate in experiment crowdsourcing (using laptops and data centers) at https://github.com/ctuning/ck/wiki/Crowdsourcing-optimization. Finally, you can get open sources of this Android app at https://github.com/ctuning/crowdsource-experiments-using-android-devices . This development is coordinated by the non-profit cTuning foundation: http://cTuning.org . Please, check out our other initiatives for open science at http://cTuning.org/reproducibility-wiki .
We have been struggling with a lack of computational resources and diverse workloads/data sets/hardware for our own research to make faster, smaller, more power efficient reliable self-tuning software and hardware for more than a decade! Indeed, computer systems are becoming very inefficient - it is nowadays not uncommon to obtain 10x speedups, 2x size reduction and 40% energy reduction for popular algorithms (DNN, BLAS, video processing) on latest hardware using so-called autotuning of various algorithm parameters and compiler optimizations. However, this process is extremely time consuming due to very large design and optimization spaces.
With the help of the non-profit cTuning foundation, we have developed this open source Collective Knowledge technology (CK) to let the community share workloads, data sets, tools and experimental workflows in an open CK format via GitHub or BitBucket, crowdsource experiments across numerous devices provided by volunteers, classify solutions on the fly (active learning), apply predictive analytics, exchange knowledge and reproduce results. Our current shared experimental scenarios including GCC and LLVM compiler flag tuning, and we plan to add automatic OpenCL/CUDA tuning, scalability testing, compiler bug detection and numerical stability analysis (see CK-based interactive report: http://cknowledge.org/interactive-report )! This application simply queries any available public CK server, obtains experimental pack for your device (such as several binaries of a shared benchmark with different optimizations), runs it on your mobile device with some random data set and send statistics back to CK server to be processed using active learning and predictive analytics.
Your participation supports our open science and reproducible research initiatives such as Artifact Evaluation at various conferences (sharing experimental workflows with all related artifacts and results along with publications in a reproducible and reusable way to be validated by the community):
* http://cTuning.org/ae
* http://adapt-workshop.org
* http://ctuning.org/reproducibility-wiki
You may read more about our long-term vision in the following publications:
* http://arxiv.org/abs/1506.06256
* http://bit.ly/ck-date16
* http://hal.inria.fr/hal-01054763
* http://arxiv.org/abs/1406.4020
* https://hal.inria.fr/inria-00436029
We would like to thank our current supporters:
* http://cTuning.org (non-profit foundation)
* http://dividiti.com
We have many new ideas and possible projects based on this technology. If you are interested to know more or even participate in our activities, join our growing academic and industrial consortium, optimize or share your realistic workloads, implement new experiment crowdsourcing scenarios, provide more computational resources, do not hesitate to get in touch with the author (Grigori Fursin, http://fursin.net) or via our public mailing list:
* https://groups.google.com/forum/#!forum/collective-knowledge
Thank you very much for participating in experiment crowdsourcing and enabling open science!
by Y####:
Your phone almost certainly has extra (unused, wasted) computing power. This app provides a good way to use this extra power to help science. It runs digital experiments on your device (like measuring execution speed of specific programs) and shares the results with the community, which allows people to create better software and hardware.