Collective Knowledge Aggregator
proof-of-concept
Add/update entry:
[
Back to CK browser
]
Module/class:
(under development) auto/crowd-tune CUDA work size (execution time)
(under development) auto/crowd-tune OpenCL local work size (execution time)
(under development) auto/crowd-tune OpenCL local work size (execution time/FPS vs energy)
(under development) crowdsource OpenCL bug detection
(under development) crowdsource modeling of program behavior
(under development) crowdsource program numerical stability
(under development) crowdsource program scalability
Collaborative Program Optimization using mobile devices
advice
ae
ae.person.table
ai-artifact
algorithm
all
announcements.funding
announcements.job
apk
artifact
auto/crowd-tune GCC compiler flags (custom dimensions)
auto/crowd-tune GCC compiler flags (do not degrade execution time, do not degrade code size)
auto/crowd-tune GCC compiler flags (minimize execution time and code size)
auto/crowd-tune GCC compiler flags (minimize execution time)
auto/crowd-tune GCC compiler flags (minimize execution time, do not degrade code size)
auto/crowd-tune GCC compiler flags (minimize total binary size, do not degrade execution time)
auto/crowd-tune LLVM compiler flags (do not degrade execution time, do not degrade code size)
auto/crowd-tune LLVM compiler flags (minimize execution time)
auto/crowd-tune LLVM compiler flags (minimize execution time, do not degrade code size)
auto/crowd-tune OpenCL-based CLBlast (GFLOPs)
autotune custom pipeline dimensions
award
caffe
caffe2
cbricks
cfg
challenge.vqe
choice
class
clblast
cmdgen
compiler
crowd-benchmark DNN libraries and models
crowd-benchmark DNN libraries and models (Caffe - dev)
crowd-benchmark DNN libraries and models (Caffe2)
crowd-benchmark DNN libraries and models (TensorFlow)
crowd-benchmark DNN libraries and models (dividiti desktop app)
crowd-benchmark DNN libraries and models using mobile devices
crowd-benchmark shared workloads via ARM WA framework
crowd-test OpenCL compilers (beta) - crowdsource bug detection via CK
crowd-test OpenGL compilers (beta)
crowdnode
dashboard
dataset
dataset.features
demo
device (deprecated or not used)
dissemination.announcement
dissemination.book
dissemination.conference
dissemination.event
dissemination.hardware
dissemination.journal
dissemination.keynote
dissemination.lecture
dissemination.patent
dissemination.pitfall
dissemination.poster
dissemination.presentation
dissemination.press-release
dissemination.publication
dissemination.publication.artifact
dissemination.repo
dissemination.soft
dissemination.workshop
docker
env
experiment
experiment.raw
experiment.scenario.android
experiment.user
experiment.view
explore DNN batch size
explore GCC compiler flags
explore LLVM compiler flags
explore OpenBLAS number of threads
explore OpenMP number of threads
explore compiler flags
fuzz GCC compiler flags (search for bugs)
fuzz LLVM compiler flags (search for bugs)
gemmbench.crowdtuning
graph
graph.dot
hackathon.20180615
hackathon.20181006
hackathon.20190127
hackathon.20190315
index
jnotebook
kernel
log
machine
math.conditions
math.frontier
math.variation
me
milepost
misc
mlperf
mlperf.inference
mlperf.mobilenets
model
model.image.classification
model.r
model.sklearn
model.species
model.tensorflowapi
model.tf
module
nntest
open ReQuEST @ ASPLOS'18 tournament (Pareto-efficient image classification)
organization
os
package
person
photo
pipeline
pipeline.cmd
platform
platform.cpu
platform.dsp
platform.gpgpu
platform.gpu
platform.init
platform.nn
platform.npu
platform.os
proceedings.acm
program
program.behavior
program.dynamic.features
program.experiment.speedup
program.optimization
program.output
program.species
program.static.features
qml
qr-code
repo
report
research.topic
result
scc-workflow
script
slide
soft
solution
sut
table
tensorflow
test
tmp
user
video
vqe
wa
wa-device
wa-params
wa-result
wa-scenario
wa-tool
web
wfe
xml
Repository:
CK (machine learning based) multi-objective autotuning
CK analytics
CK crowdtuning (crowdsourcing autotuning)
CK dissemination modules
CK repository to crowdsource optimization of benchmarks, kernels and realistic workloads across Raspberry Pi devices provided by volunteers (starting from compiler flag autotuning)
CK web
Large and shared artifacts (HOG experiments) to reproduce CK paper
Reproducible and interactive papers with all shared artifacts for our CK papers
Reproducing PAMELA project (medium data set (20 frames) for slambench) via CK
Reproducing PAMELA project (slambench analysis and crowd-tuning) via CK
Tool clsmith converted to CK format
cTuning datasets (min)
cTuning programs
cbricks
ck-ai
ck-artifact-evaluation
ck-assets
ck-caffe
ck-caffe2
ck-cntk
ck-crowd-scenarios
ck-crowdsource-dnn-optimization
ck-crowdtuning-platforms
ck-dev-compilers
ck-dissemination
ck-docker
ck-env
ck-experiments
ck-graph-analytics
ck-math
ck-mlperf
ck-mlperf-sysml-demo-20190402
ck-mxnet
ck-nntest
ck-nntest-20181001
ck-qiskit
ck-quantum
ck-quantum-challenge-vqe
ck-quantum-hackathon-20180615
ck-quantum-hackathon-20181006
ck-quantum-hackathon-20190127
ck-quantum-hackathon-20190315
ck-quantum-hackathons
ck-request
ck-request-asplos18-caffe-intel
ck-request-asplos18-iot-farm
ck-request-asplos18-mobilenets-armcl-opencl
ck-request-asplos18-mobilenets-tvm-arm
ck-request-asplos18-resnet-tvm-fpga
ck-request-asplos18-results
ck-request-asplos18-results-caffe-intel
ck-request-asplos18-results-iot-farm
ck-request-asplos18-results-mobilenets-armcl-opencl
ck-request-asplos18-results-mobilenets-tvm-arm
ck-request-asplos18-results-resnet-tvm-fpga
ck-rigetti
ck-rpi-optimization-results
ck-scc
ck-scc18
ck-tensorflow
ck-tensorrt
ck-tvm
ck-wa
ck-wa-extra
ck-wa-workloads
ck-website
ctuning-datasets
default
gemmbench
local
mlperf-mobilenets
reproduce-carp-project
reproduce-milepost-project
shader-compiler-bugs
upload
Alias:
(UID):
User-friendly name:
Tags:
Author:
Author email:
Author web-page:
Entry copyright:
Entry license:
Meta-description in JSON:
{ "actions": { "calculate_similarity": { "desc": "calculate similarity between programs based on MILEPOST features" }, "extract": { "desc": "extract program static milepost features" }, "show": { "desc": "show features in HTML", "for_web": "yes" } }, "copyright": "See CK COPYRIGHT.txt for copyright details", "desc": "program semantic features", "developer": "Grigori Fursin", "developer_email": "Grigori.Fursin@cTuning.org", "developer_webpage": "http://fursin.net", "license": "See CK LICENSE.txt for licensing details", "milepost_description_ctuning_page": "http://ctuning.org/wiki/index.php/CTools:MilepostGCC:StaticFeatures:MILEPOST_V2.1", "milepost_features_description": { "1": { "desc": "Number of basic blocks in the method", "normalized": "no", "use_for_euclidean_distance": "yes" }, "10": { "desc": "Number of basic blocks with a two predecessors and one successor", "normalized": "no", "use_for_euclidean_distance": "yes" }, "11": { "desc": "Number of basic blocks with two successors and two predecessors", "normalized": "no", "use_for_euclidean_distance": "yes" }, "12": { "desc": "Number of basic blocks with more then two successors and more then two predecessors", "normalized": "no", "use_for_euclidean_distance": "yes" }, "13": { "desc": "Number of basic blocks with number of instructions less then 15", "normalized": "no", "use_for_euclidean_distance": "yes" }, "14": { "desc": "Number of basic blocks with number of instructions in the interval [15, 500]", "normalized": "no", "use_for_euclidean_distance": "yes" }, "15": { "desc": "Number of basic blocks with number of instructions greater then 500", "normalized": "no", "use_for_euclidean_distance": "yes" }, "16": { "desc": "Number of edges in the control flow graph", "normalized": "no", "use_for_euclidean_distance": "yes" }, "17": { "desc": "Number of critical edges in the control flow graph", "normalized": "no", "use_for_euclidean_distance": "yes" }, "18": { "desc": "Number of abnormal edges in the control flow graph", "normalized": "no", "use_for_euclidean_distance": "yes" }, "19": { "desc": "Number of direct calls in the method", "normalized": "no", "use_for_euclidean_distance": "yes" }, "2": { "desc": "Number of basic blocks with a single successor", "normalized": "no", "use_for_euclidean_distance": "yes" }, "20": { "desc": "Number of conditional branches in the method", "normalized": "no", "use_for_euclidean_distance": "yes" }, "21": { "desc": "Number of assignment instructions in the method", "normalized": "no", "use_for_euclidean_distance": "yes" }, "22": { "desc": "Number of binary integer operations in the method", "normalized": "no", "use_for_euclidean_distance": "yes" }, "23": { "desc": "Number of binary floating point operations in the method", "normalized": "no", "use_for_euclidean_distance": "yes" }, "24": { "desc": "Number of instructions in the method", "normalizator": "yes", "normalized": "no" }, "25": { "desc": "Average of number of instructions in basic blocks", "normalized": "yes", "use_for_euclidean_distance": "yes" }, "26": { "desc": "Average of number of phi-nodes at the beginning of a basic block", "normalized": "yes", "use_for_euclidean_distance": "yes" }, "27": { "desc": "Average of arguments for a phi-node", "normalized": "yes", "use_for_euclidean_distance": "yes" }, "28": { "desc": "Number of basic blocks with no phi nodes", "normalized": "no", "use_for_euclidean_distance": "yes" }, "29": { "desc": "Number of basic blocks with phi nodes in the interval [0, 3]", "normalized": "no", "use_for_euclidean_distance": "yes" }, "3": { "desc": "Number of basic blocks with two successors", "normalized": "no", "use_for_euclidean_distance": "yes" }, "30": { "desc": "Number of basic blocks with more then 3 phi nodes", "normalized": "no", "use_for_euclidean_distance": "yes" }, "31": { "desc": "Number of basic block where total number of arguments for all phi-nodes is in greater then 5", "normalized": "no", "use_for_euclidean_distance": "yes" }, "32": { "desc": "Number of basic block where total number of arguments for all phi-nodes is in the interval [1, 5]", "normalized": "no", "use_for_euclidean_distance": "yes" }, "33": { "desc": "Number of switch instructions in the method", "normalized": "no", "use_for_euclidean_distance": "yes" }, "34": { "desc": "Number of unary operations in the method", "normalized": "no", "use_for_euclidean_distance": "yes" }, "35": { "desc": "Number of instruction that do pointer arithmetic in the method", "normalized": "no", "use_for_euclidean_distance": "yes" }, "36": { "desc": "Number of indirect references via pointers (\"*\" in C)", "normalized": "no", "use_for_euclidean_distance": "yes" }, "37": { "desc": "Number of times the address of a variables is taken (\"&\" in C)", "normalized": "no", "use_for_euclidean_distance": "yes" }, "38": { "desc": "Number of times the address of a function is taken (\"&\" in C)", "normalized": "no", "use_for_euclidean_distance": "yes" }, "39": { "desc": "Number of indirect calls (i.e. done via pointers) in the method", "normalized": "no", "use_for_euclidean_distance": "yes" }, "4": { "desc": "Number of basic blocks with more then two successors", "normalized": "no", "use_for_euclidean_distance": "yes" }, "40": { "desc": "Number of assignment instructions with the left operand an integer constant in the method", "normalized": "no", "use_for_euclidean_distance": "yes" }, "41": { "desc": "Number of binary operations with one of the operands an integer constant in the method", "normalized": "no", "use_for_euclidean_distance": "yes" }, "42": { "desc": "Number of calls with pointers as arguments", "normalized": "no", "use_for_euclidean_distance": "yes" }, "43": { "desc": "Number of calls with the number of arguments is greater then 4", "normalized": "no", "use_for_euclidean_distance": "yes" }, "44": { "desc": "Number of calls that return a pointer", "normalized": "no", "use_for_euclidean_distance": "yes" }, "45": { "desc": "Number of calls that return an integer", "normalized": "no", "use_for_euclidean_distance": "yes" }, "46": { "desc": "Number of occurrences of integer constant zero", "normalized": "no", "use_for_euclidean_distance": "yes" }, "47": { "desc": "Number of occurrences of 32-bit integer constants", "normalized": "no", "use_for_euclidean_distance": "yes" }, "48": { "desc": "Number of occurrences of integer constant one", "normalized": "no", "use_for_euclidean_distance": "yes" }, "49": { "desc": "Number of occurrences of 64-bit integer constants", "normalized": "no", "use_for_euclidean_distance": "yes" }, "5": { "desc": "Number of basic blocks with a single predecessor", "normalized": "no", "use_for_euclidean_distance": "yes" }, "50": { "desc": "Number of references of a local variables in the method", "normalized": "no", "use_for_euclidean_distance": "yes" }, "51": { "desc": "Number of references (def/use) of static/extern variables in the method", "normalized": "no", "use_for_euclidean_distance": "yes" }, "52": { "desc": "Number of local variables referred in the method", "normalized": "no", "use_for_euclidean_distance": "yes" }, "53": { "desc": "Number of static/extern variables referred in the method", "normalized": "no", "use_for_euclidean_distance": "yes" }, "54": { "desc": "Number of local variables that are pointers in the method", "normalized": "no", "use_for_euclidean_distance": "yes" }, "55": { "desc": "Number of static/extern variables that are pointers in the method", "normalized": "no", "use_for_euclidean_distance": "yes" }, "56": { "desc": "Number of unconditional branches in the method", "normalized": "no", "use_for_euclidean_distance": "yes" }, "57": { "desc": "CYCLOMATIC COMPLEXITY (http://en.wikipedia.org/wiki/Cyclomatic_complexity)", "normalized": "no" }, "58": { "desc": "HALSTEAD's METRICS ( http://en.wikipedia.org/wiki/Halstead_complexity_measures)", "normalized": "no" }, "59": { "desc": "Number of distinct operands (Halstead n2) ", "normalized": "no" }, "6": { "desc": "Number of basic blocks with two predecessors", "normalized": "no", "use_for_euclidean_distance": "yes" }, "60": { "desc": "Number of var defs", "normalized": "no" }, "61": { "desc": "Total number of operators (Halstead N1) (approx due to abstraction) ", "normalized": "no" }, "62": { "desc": "Number of distinct operators (Halstead n1) (approx due to abstraction) ", "normalized": "no" }, "63": { "desc": "Approximation of Halstead difficulty", "normalized": "no" }, "64": { "desc": "Approximation of Halstead volume", "normalized": "no" }, "65": { "desc": "Approximation of Halstead effort", "normalized": "no" }, "7": { "desc": "Number of basic blocks with more then two predecessors", "normalized": "no", "use_for_euclidean_distance": "yes" }, "8": { "desc": "Number of basic blocks with a single predecessor and a single successor", "normalized": "no", "use_for_euclidean_distance": "yes" }, "9": { "desc": "Number of basic blocks with a single predecessor and two successors", "normalized": "no", "use_for_euclidean_distance": "yes" } }, "milepost_normalization_feature": "24", "module_deps": { "program": "b0ac08fe1d3c2615" } }
Upload zip file:
Overwrite existing files:
Developed by
Grigori Fursin
Implemented as a
CK workflow
Hosted at