Interested to sponsor our education initiatives, open-source tools and open science - contact us!
Developing efficient software and hardware has never been harder whether it is
for a tiny IoT device or an Exascale supercomputer.
However, apart from the ever growing design and optimization complexity, there exist even
more fundamental problems such as lack of interdisciplinary knowledge required
for effective software/hardware co-design, and a growing technology transfer
gap between academic research and industrial development.
The non-profit cTuning foundation prepared a new educational initiative
to tackle these problems by developing Collective Knowledge (CK),
a unified experimental framework for computer systems research and development.
We use CK to teach the community how to make their research artifacts and
experimental workflows portable, reproducible, customizable and reusable while
enabling open R&D and facilitating technology transfer.
For example, we use it to redesign multi-objective autotuning as a
collaborative, portable and extensible CK workflow.
Such workflows enable researchers to experiment with different applications,
data sets and tools; crowdsource experimentation across diverse platforms;
share experimental results, models, visualizations; gradually expose more
design and optimization choices using a simple JSON API; and ultimately build
upon each other's findings.
We develop an open-source Collective Knowledge framework aka CK -
a cross-platform customizable Python framework used by leading universities, Fortune 50 companies and non-profit organizations
to share artifacts as reusable components with JSON API;
quickly prototype portable experimental workflows (such as multi-objective DNN optimization);
automate package installation;
crowdsource and reproduce experiments across diverse hardware;
unify predictive analytics;
enable interactive articles,
and develop sustainable and customizable research software.
We help conferences, workshops and journals including CGO, PPoPP, PACT and SC
to develop a common experimental methodology and framework
for artifact evaluation
and digital libraries such as ACM DL.
We also promote open, collaborative, reproducible and reusable research
as well as our new publication model with the community-driven reviewing
and validation of results.
We develop customizable multi-objective autotuning workflow powered by CK
to help the community automatically crowd-tune and crowd-fuzz compilers such as GCC and LLVM in terms of execution time,
code size, compilation time and bugs. We also use it crowd-tune OpenCL, CUDA and other libraries,
and co-design various DNN engines and models.