All Projects → ctuning → ctuning-programs

ctuning / ctuning-programs

Licence: other
Collective Knowledge extension with unified and customizable benchmarks (with extensible JSON meta information) to be easily integrated with customizable and portable Collective Knowledge workflows. You can easily compile and run these benchmarks using different compilers, environments, hardware and OS (Linux, MacOS, Windows, Android). More info:

Programming Languages

c
50402 projects - #5 most used programming language
HTML
75241 projects
Cuda
1817 projects
Roff
2310 projects
Makefile
30231 projects
XSLT
1337 projects

Projects that are alternatives of or similar to ctuning-programs

crowdsource-video-experiments-on-android
Crowdsourcing video experiments (such as collaborative benchmarking and optimization of DNN algorithms) using Collective Knowledge Framework across diverse Android devices provided by volunteers. Results are continuously aggregated in the open repository:
Stars: ✭ 29 (-29.27%)
Mutual labels:  opencl, cuda, collective-knowledge, crowd-tuning, crowd-benchmarking, collaborative-optimization
ck-analytics
Collective Knowledge repository with actions to unify the access to different predictive analytics engines (scipy, R, DNN) from software, command line and web-services via CK JSON API:
Stars: ✭ 35 (-14.63%)
Mutual labels:  json-api, reproducible-research, json-metadata, collective-knowledge
ck-crowd-scenarios
Public scenarios to crowdsource experiments (such as DNN crowd-benchmarking and crowd-tuning) using Collective Knowledge Framework across diverse mobile devices provided by volunteers. Results are continuously aggregated at the open repository of knowledge:
Stars: ✭ 22 (-46.34%)
Mutual labels:  json-api, reproducible-research, collective-knowledge
crowdsource-experiments-using-android-devices
Android application to participate in experiment crowdsourcing (such as workload crowd-benchmarking and crowd-tuning) using Collective Knowledge Framework and open repositories of knowledge:
Stars: ✭ 23 (-43.9%)
Mutual labels:  reproducible-research, crowd-tuning, collaborative-benchmarking
ck-web
Collective Knowledge web extension to browse CK repositories, visualize interactive graphs and articles, render CK-based websites, implement simple web services with JSON API (for example to crowdsource experiments or unify access to DNN). Demos of interactive articles, graphs and crowdsourced experiments:
Stars: ✭ 31 (-24.39%)
Mutual labels:  json-api, reproducible-research, collective-knowledge
Ck Caffe
Collective Knowledge workflow for Caffe to automate installation across diverse platforms and to collaboratively evaluate and optimize Caffe-based workloads across diverse hardware, software and data sets (compilers, libraries, tools, models, inputs):
Stars: ✭ 192 (+368.29%)
Mutual labels:  json-api, opencl, cuda
ctuning-datasets-min
Public data sets and their properties in the Collective Knowledge Format with JSON API and JSON meta information to be easily pluggable to customizable and reproducible CK experimental workflows (such as collaborative program analysis and optimization):
Stars: ✭ 26 (-36.59%)
Mutual labels:  json-api, json-metadata, collective-knowledge
ck-caffe2
Integration of Caffe2 to Collective Knowledge workflow framework to provide unified CK JSON API for AI (customized builds across diverse libraries and hardware, unified AI API, collaborative experiments, performance optimization and model/data set tuning):
Stars: ✭ 34 (-17.07%)
Mutual labels:  json-api, collective-knowledge, collaborative-optimization
Floor
A C++ Compute/Graphics Library and Toolchain enabling same-source CUDA/Host/Metal/OpenCL/Vulkan C++ programming and execution.
Stars: ✭ 166 (+304.88%)
Mutual labels:  opencl, cuda
Pine
🌲 Aimbot powered by real-time object detection with neural networks, GPU accelerated with Nvidia. Optimized for use with CS:GO.
Stars: ✭ 202 (+392.68%)
Mutual labels:  opencl, cuda
Occa
JIT Compilation for Multiple Architectures: C++, OpenMP, CUDA, HIP, OpenCL, Metal
Stars: ✭ 230 (+460.98%)
Mutual labels:  opencl, cuda
Primitiv
A Neural Network Toolkit.
Stars: ✭ 164 (+300%)
Mutual labels:  opencl, cuda
Khiva
An open-source library of algorithms to analyse time series in GPU and CPU.
Stars: ✭ 161 (+292.68%)
Mutual labels:  opencl, cuda
Bohrium
Automatic parallelization of Python/NumPy, C, and C++ codes on Linux and MacOSX
Stars: ✭ 209 (+409.76%)
Mutual labels:  opencl, cuda
Compactcnncascade
A binary library for very fast face detection using compact CNNs.
Stars: ✭ 152 (+270.73%)
Mutual labels:  opencl, cuda
Nnvm
No description or website provided.
Stars: ✭ 1,639 (+3897.56%)
Mutual labels:  opencl, cuda
reana
REANA: Reusable research data analysis platform
Stars: ✭ 86 (+109.76%)
Mutual labels:  reproducible-research, reproducible-workflows
ck-env
CK repository with components and automation actions to enable portable workflows across diverse platforms including Linux, Windows, MacOS and Android. It includes software detection plugins and meta packages (code, data sets, models, scripts, etc) with the possibility of multiple versions to co-exist in a user or system environment:
Stars: ✭ 67 (+63.41%)
Mutual labels:  reproducible-research, collective-knowledge
Babelstream
STREAM, for lots of devices written in many programming models
Stars: ✭ 121 (+195.12%)
Mutual labels:  opencl, cuda
Mixbench
A GPU benchmark tool for evaluating GPUs on mixed operational intensity kernels (CUDA, OpenCL, HIP, SYCL)
Stars: ✭ 130 (+217.07%)
Mutual labels:  opencl, cuda

Shared programs, benchmarks and kernels for autotuning/crowd-tuning

All CK components can be found at cKnowledge.io and in one GitHub repository!

compatibility

These are various public programs, benchmarks and kernels used in our research on universal and multi-objective autotuning/crowd-tuning in the open Collective Knowledge format:

We envision that community will join us in sharing their programs and data sets to enable systematic, collaborative and reproducible computer engineering.

Benchmarks are considerably simplified to be run on Linux, Windows, MacOs and even on Android based mobile phones and tables together with open CK data sets.

See some results from crowdsourcing iterative compilation (autotuning) on Android-based mobile phones and other computer systems:

Status

Stable reprository

Dependencies on other repositories

Authors

  • Grigori Fursin, cTuning foundation
  • Various authors of shared programs (see individual entries)

Prerequisites

Installation

ck pull repo:ctuning-programs

Get data sets

ck pull repo:ctuning-datasets-min

Basic Usage

ck list program

ck list dataset

ck compile program:cbench-automotive-susan --speed

ck run program:cbench-automotive-susan

Add extra data sets per program (at least 20):

Download ckr-ctuning-datasets.zip from https://drive.google.com/folderview?id=0B-wXENVfIO82dzYwaUNIVElxaGc&usp=sharing (or other and much larger datasets ckr-usb-ctuning-dataset-* from our PLDI paper).

Register it with CK simply via:

ck add repo:ctuning-datasets --zip=ckr-ctuning-datasets.zip --quiet

Now, when you run a given program as above, you will have an extended choice of data sets.

If you want to compile and run our benchmarks on Android-based mobile phones, you need to download and register with CK Android NDK as described here:

Publications

@inproceedings{ck-date16,
    title = {{Collective Knowledge}: towards {R\&D} sustainability},
    author = {Fursin, Grigori and Lokhmotov, Anton and Plowman, Ed},
    booktitle = {Proceedings of the Conference on Design, Automation and Test in Europe (DATE'16)},
    year = {2016},
    month = {March},
    url = {https://www.researchgate.net/publication/304010295_Collective_Knowledge_Towards_RD_Sustainability}
}

@inproceedings{Fur2009,
  author =    {Grigori Fursin},
  title =     {{Collective Tuning Initiative}: automating and accelerating development and optimization of computing systems},
  booktitle = {Proceedings of the GCC Developers' Summit},
  year =      {2009},
  month =     {June},
  location =  {Montreal, Canada},
  keys =      {http://www.gccsummit.org/2009}
  url  =      {https://scholar.google.com/citations?view_op=view_citation&hl=en&user=IwcnpkwAAAAJ&cstart=20&citation_for_view=IwcnpkwAAAAJ:8k81kl-MbHgC}
}

Feedback

If you have problems, questions or suggestions, do not hesitate to get in touch via the following mailing lists:

logo

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].