{"id":19297302,"url":"https://github.com/ctuning/ck-clsmith","last_synced_at":"2026-01-22T19:22:40.043Z","repository":{"id":71961199,"uuid":"41681152","full_name":"ctuning/ck-clsmith","owner":"ctuning","description":"Collective Knowledge extension to crowdsource bug detection in OpenCL compilers using CLSmith tool from Imperial College London","archived":false,"fork":false,"pushed_at":"2019-01-16T13:26:34.000Z","size":11563,"stargazers_count":26,"open_issues_count":0,"forks_count":3,"subscribers_count":7,"default_branch":"master","last_synced_at":"2024-11-09T23:02:27.954Z","etag":null,"topics":["artifact-evaluation","ck-format","clsmith","collaborative-bug-detection","collaborative-compiler-fuzzing","collective-knowledge","crowd","crowd-debugging","crowdsource-bug-detection","opencl","opencl-bugs","opencl-compilers","pldi","pldi-artifact"],"latest_commit_sha":null,"homepage":"http://cKnowledge.org","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ctuning.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGES","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2015-08-31T14:48:04.000Z","updated_at":"2021-12-24T22:56:26.000Z","dependencies_parsed_at":null,"dependency_job_id":"683ea09b-5c99-4012-84e6-143a9dadcd10","html_url":"https://github.com/ctuning/ck-clsmith","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ctuning%2Fck-clsmith","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ctuning%2Fck-clsmith/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ctuning%2Fck-clsmith/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ctuning%2Fck-clsmith/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ctuning","download_url":"https://codeload.github.com/ctuning/ck-clsmith/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250214948,"owners_count":21393701,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["artifact-evaluation","ck-format","clsmith","collaborative-bug-detection","collaborative-compiler-fuzzing","collective-knowledge","crowd","crowd-debugging","crowdsource-bug-detection","opencl","opencl-bugs","opencl-compilers","pldi","pldi-artifact"],"created_at":"2024-11-09T23:01:50.888Z","updated_at":"2026-01-22T19:22:40.029Z","avatar_url":"https://github.com/ctuning.png","language":"C","funding_links":[],"categories":["C"],"sub_categories":[],"readme":"CK repository: Converting CLsmith tool (PLDI'15 artifact) to CK format\n======================================================================\n\n[![compatibility](https://github.com/ctuning/ck-guide-images/blob/master/ck-compatible.svg)](https://github.com/ctuning/ck)\n[![automation](https://github.com/ctuning/ck-guide-images/blob/master/ck-artifact-automated-and-reusable.svg)](http://cTuning.org/ae)\n[![workflow](https://github.com/ctuning/ck-guide-images/blob/master/ck-workflow.svg)](http://cKnowledge.org)\n\n[![DOI](https://zenodo.org/badge/41681152.svg)](https://zenodo.org/badge/latestdoi/41681152)\n[![License](https://img.shields.io/badge/License-BSD%203--Clause-blue.svg)](https://opensource.org/licenses/BSD-3-Clause)\n\nStatus\n======\nThis is a relatively stable repository demonstrating how to share\nartifacts (tools and datasets) via CK. We converted CLsmith tool\nfor fuzz testing of OpenCL compilers into the CK format.\n\nPrerequisites\n=============\n* Collective Knowledge Framework: http://github.com/ctuning/ck\n\nDescription\n===========\nCLsmith is a tool designed to address the compiler correctness problem \nfor many-core systems through novel applications of fuzz testing to \nOpenCL compilers. It was shared as artifact along with the following\nPLDI'15 paper:\n \nhttp://multicore.doc.ic.ac.uk/publications/clsmith-pldi-15.html \n\n\"Many-Core Compiler Fuzzing\"\nChristopher Lidbury, Andrei Lascu, Nathan Chong, Alastair F. Donaldson\n\nWe converted this artifact to CK format (finer-grain and reusable components),\nshared it as standard CK repository on GitHub\nand validated it via experiment crowdsourcing on several machines.\n\nCLsmith converted to CK can also serve as a template to describe \nand share other artifacts in CK format along with publications:\n* Artifact Evaluation for PPoPP/CGO/PACT conferences: http://cTuning.org/ae\n* ADAPT 2016: http://adapt-workshop.org\n\nThis repository also serves as an SDK to let you implement high-level scenarios \nto detect and classify bugs, and to enable further research opportunities \nby analyzing collected knowledge.\n\n\nQuick installation\n==================\n\nFirst install CK:\n\n```\n$ sudo pip install ck\n\n  or\n\n$ git clone http://github.com/ctuning/ck ck-master\n$ export PATH=$PWD/ck-master/bin:$PATH\n$ export PYTHONPATH=$PWD/ck-master:$PYTHONPATH\n```\n\nThen pull ck-clsmith repository:\n```\n$ ck pull repo:ck-clsmith\n```\n\nUsage\n=====\nWe provided a very basic usage scenario to compile multiple OpenCL kernels,\nrun them, detect if there is a bug, and record raw info in the [public CK repos](http://cknowledge.org/repo).\nThis scenario is described in the CK documentation [here](https://github.com/ctuning/ck/wiki/Autotuning-example-clsmith).\n\nYou can see raw local results via CK dashboard:\n```\n $ ck dashboard opencl-bug\n```\n\nCrowd-results\n=============\nYou can see failed OpenCL kernels in the [live CK repository](http://cknowledge.org/repo/web.php?template=cknowledge\u0026wcid=bc0409fb61f0aa82:1b437e72c74fe782\u0026table_sort=2).\nSimply select \"crowd-test OpenCL compilers\" scenario!\n\nPublications\n============\n\n* http://multicore.doc.ic.ac.uk/publications/clsmith-pldi-15.html\n* https://arxiv.org/abs/1506.06256\n\nTestimonials and awards\n=======================\n* 2016: HiPEAC technology transfer award for CK-powered CLsmith: [HiPEAC TT winners](https://www.hipeac.net/research/technology-transfer-awards/2016)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fctuning%2Fck-clsmith","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fctuning%2Fck-clsmith","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fctuning%2Fck-clsmith/lists"}