All Projects → ctuning → ck-clsmith

ctuning / ck-clsmith

Licence: other
Collective Knowledge extension to crowdsource bug detection in OpenCL compilers using CLSmith tool from Imperial College London

Programming Languages

c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to ck-clsmith

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 (+11.54%)
Mutual labels:  opencl, collective-knowledge
FpDebug
Dynamic Program Analysis based on Valgrind to find Floating-Point Accuracy Problems
Stars: ✭ 19 (-26.92%)
Mutual labels:  pldi-artifact, pldi
ctuning-programs
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:
Stars: ✭ 41 (+57.69%)
Mutual labels:  opencl, collective-knowledge
Pysph
A framework for Smoothed Particle Hydrodynamics in Python
Stars: ✭ 223 (+757.69%)
Mutual labels:  opencl
Computecpp Sdk
Collection of samples and utilities for using ComputeCpp, Codeplay's SYCL implementation
Stars: ✭ 239 (+819.23%)
Mutual labels:  opencl
coriander-dnn
Partial implementation of NVIDIA® cuDNN API for Coriander, OpenCL 1.2
Stars: ✭ 22 (-15.38%)
Mutual labels:  opencl
fluctus
An interactive OpenCL wavefront path tracer
Stars: ✭ 55 (+111.54%)
Mutual labels:  opencl
Bohrium
Automatic parallelization of Python/NumPy, C, and C++ codes on Linux and MacOSX
Stars: ✭ 209 (+703.85%)
Mutual labels:  opencl
virgo
Crowdsourced fuzzing cluster. 🚀
Stars: ✭ 21 (-19.23%)
Mutual labels:  crowd
gpuowl
GPU Mersenne primality test.
Stars: ✭ 77 (+196.15%)
Mutual labels:  opencl
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 (+34.62%)
Mutual labels:  collective-knowledge
PengueeBot
Automation tool, visit our discord channel if you have anything to ask
Stars: ✭ 27 (+3.85%)
Mutual labels:  opencl
OpenCLAda
An Ada binding for the OpenCL host API
Stars: ✭ 15 (-42.31%)
Mutual labels:  opencl
CUDAfy.NET
CUDAfy .NET allows easy development of high performance GPGPU applications completely from the .NET. It's developed in C#.
Stars: ✭ 56 (+115.38%)
Mutual labels:  opencl
Occa
JIT Compilation for Multiple Architectures: C++, OpenMP, CUDA, HIP, OpenCL, Metal
Stars: ✭ 230 (+784.62%)
Mutual labels:  opencl
OpenCLRenderer
3D renderer built in C++/OpenCL
Stars: ✭ 29 (+11.54%)
Mutual labels:  opencl
Opencl.jl
OpenCL Julia bindings
Stars: ✭ 216 (+730.77%)
Mutual labels:  opencl
mcxcl
Monte Carlo eXtreme for OpenCL (MCXCL)
Stars: ✭ 36 (+38.46%)
Mutual labels:  opencl
BruteForce
A simple brute forcer written in GO for SHA1, SHA256, SHA512, MD5 and bcrypt
Stars: ✭ 49 (+88.46%)
Mutual labels:  opencl
hpc
Learning and practice of high performance computing (CUDA, Vulkan, OpenCL, OpenMP, TBB, SSE/AVX, NEON, MPI, coroutines, etc. )
Stars: ✭ 39 (+50%)
Mutual labels:  opencl

CK repository: Converting CLsmith tool (PLDI'15 artifact) to CK format

compatibility automation workflow

DOI License

Status

This is a relatively stable repository demonstrating how to share artifacts (tools and datasets) via CK. We converted CLsmith tool for fuzz testing of OpenCL compilers into the CK format.

Prerequisites

Description

CLsmith is a tool designed to address the compiler correctness problem for many-core systems through novel applications of fuzz testing to OpenCL compilers. It was shared as artifact along with the following PLDI'15 paper:

http://multicore.doc.ic.ac.uk/publications/clsmith-pldi-15.html

"Many-Core Compiler Fuzzing" Christopher Lidbury, Andrei Lascu, Nathan Chong, Alastair F. Donaldson

We converted this artifact to CK format (finer-grain and reusable components), shared it as standard CK repository on GitHub and validated it via experiment crowdsourcing on several machines.

CLsmith converted to CK can also serve as a template to describe and share other artifacts in CK format along with publications:

This repository also serves as an SDK to let you implement high-level scenarios to detect and classify bugs, and to enable further research opportunities by analyzing collected knowledge.

Quick installation

First install CK:

$ sudo pip install ck

  or

$ git clone http://github.com/ctuning/ck ck-master
$ export PATH=$PWD/ck-master/bin:$PATH
$ export PYTHONPATH=$PWD/ck-master:$PYTHONPATH

Then pull ck-clsmith repository:

$ ck pull repo:ck-clsmith

Usage

We provided a very basic usage scenario to compile multiple OpenCL kernels, run them, detect if there is a bug, and record raw info in the public CK repos. This scenario is described in the CK documentation here.

You can see raw local results via CK dashboard:

 $ ck dashboard opencl-bug

Crowd-results

You can see failed OpenCL kernels in the live CK repository. Simply select "crowd-test OpenCL compilers" scenario!

Publications

Testimonials and awards

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].