Science Score: 77.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 2 DOI reference(s) in README -
✓Academic publication links
Links to: arxiv.org, sciencedirect.com, zenodo.org -
✓Committers with academic emails
3 of 31 committers (9.7%) from academic institutions -
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (15.2%) to scientific vocabulary
Keywords
Keywords from Contributors
Repository
Kernel Tuner
Basic Info
- Host: GitHub
- Owner: KernelTuner
- License: apache-2.0
- Language: Python
- Default Branch: master
- Homepage: https://kerneltuner.github.io/kernel_tuner/
- Size: 41.3 MB
Statistics
- Stars: 357
- Watchers: 9
- Forks: 58
- Open Issues: 19
- Releases: 34
Topics
Metadata Files
README.md
Create optimized GPU applications in any mainstream GPU programming language (CUDA, HIP, OpenCL, OpenACC, OpenMP).
What Kernel Tuner does:
- Works as an external tool to benchmark and optimize GPU kernels in isolation
- Can be used directly on existing kernel code without extensive changes
- Can be used with applications in any host programming language
- Blazing fast search space construction
- More than 20 optimization algorithms to speedup tuning
- Energy measurements and optimizations (power capping, clock frequency tuning)
- ... and much more! For example, caching, output verification, tuning host and device code, user defined metrics, see the full documentation.
Installation
- First, make sure you have your CUDA, OpenCL, or HIP compiler installed
- Then type:
pip install kernel_tuner[cuda],pip install kernel_tuner[opencl], orpip install kernel_tuner[hip] - or why not all of them:
pip install kernel_tuner[cuda,opencl,hip]
More information on installation, also for other languages, in the installation guide.
Example
```python import numpy as np from kerneltuner import tunekernel
kernelstring = """ _global__ void vectoradd(float *c, float *a, float *b, int n) { int i = blockIdx.x * blocksize_x + threadIdx.x; if (i<n) { c[i] = a[i] + b[i]; } } """
n = np.int32(10000000)
a = np.random.randn(n).astype(np.float32) b = np.random.randn(n).astype(np.float32) c = np.zeros_like(a)
args = [c, a, b, n]
tuneparams = {"blocksize_x": [32, 64, 128, 256, 512]}
tunekernel("vectoradd", kernelstring, n, args, tuneparams) ```
More examples here.
Resources
- Full documentation
- Guides:
- Features & Use cases:
- Kernel Tuner Tutorial slides [PDF], hands-on:
- Energy Efficient GPU Computing tutorial slides [PDF], hands-on:
Kernel Tuner ecosystem

C++ magic to integrate auto-tuned kernels into C++ applications

C++ data types for mixed-precision CUDA kernel programming

Monitor, analyze, and visualize auto-tuning runs
Communication & Contribution
- GitHub Issues: Bug reports, install issues, feature requests, work in progress
- GitHub Discussion group: General questions, Q&A, thoughts
Contributions are welcome! For feature requests, bug reports, or usage problems, please feel free to create an issue. For more extensive contributions, check the contribution guide.
Citation
If you use Kernel Tuner in research or research software, please cite the most relevant among the publications on Kernel Tuner. To refer to the project as a whole, please cite:
latex
@article{kerneltuner,
author = {Ben van Werkhoven},
title = {Kernel Tuner: A search-optimizing GPU code auto-tuner},
journal = {Future Generation Computer Systems},
year = {2019},
volume = {90},
pages = {347-358},
url = {https://www.sciencedirect.com/science/article/pii/S0167739X18313359},
doi = {https://doi.org/10.1016/j.future.2018.08.004}
}
Owner
- Name: Kernel Tuner
- Login: KernelTuner
- Kind: organization
- Location: Netherlands
- Website: https://kerneltuner.github.io/
- Repositories: 6
- Profile: https://github.com/KernelTuner
Kernel Tuner is a software ecosystem for the creation of highly-optimized GPU applications through auto-tuning.
Citation (CITATION.cff)
# YAML 1.2
---
cff-version: 1.2.0
authors:
- affiliation: "Netherlands eScience Center"
family-names: Werkhoven
given-names: Ben
name-particle: van
orcid: "https://orcid.org/0000-0002-7508-3272"
email: "b.vanwerkhoven@esciencecenter.nl"
date-released: 2019-12-20
doi: 10.5281/zenodo.1220113
keywords:
- "GPU Computing"
- "Auto-Tuning"
- "Performance Optimization"
- "OpenCL"
- "CUDA"
license: Apache-2.0
message: "If you use this software, please cite the following paper."
references:
- type: article
authors:
- affiliation: "Netherlands eScience Center"
family-names: Werkhoven
given-names: Ben
name-particle: van
orcid: "https://orcid.org/0000-0002-7508-3272"
email: "b.vanwerkhoven@esciencecenter.nl"
title: "Kernel Tuner: A Search-Optimizing GPU Code Auto-Tuner"
journal: "Future Generation Computer Systems"
year: 2019
repository-code: "https://github.com/benvanwerkhoven/kernel_tuner"
title: Kernel Tuner
version: "0.3.0"
GitHub Events
Total
- Create event: 29
- Release event: 5
- Issues event: 20
- Watch event: 63
- Delete event: 8
- Issue comment event: 163
- Push event: 211
- Pull request review comment event: 3
- Pull request review event: 17
- Pull request event: 57
- Fork event: 11
Last Year
- Create event: 29
- Release event: 5
- Issues event: 20
- Watch event: 63
- Delete event: 8
- Issue comment event: 163
- Push event: 211
- Pull request review comment event: 3
- Pull request review event: 17
- Pull request event: 57
- Fork event: 11
Committers
Last synced: 7 months ago
Top Committers
| Name | Commits | |
|---|---|---|
| Ben van Werkhoven | b****n@e****l | 1,038 |
| Alessio Sclocco | a****o@e****l | 410 |
| fjwillemsen | f****n@i****m | 135 |
| stijn | s****s@e****l | 58 |
| MiloLurati | l****o@g****m | 39 |
| Bram Veenboer | b****r@g****m | 35 |
| E. G. Patrick Bos | e****s@g****m | 31 |
| Willem Jan Palenstijn | W****n@c****l | 29 |
| Milo Lurati | m****0@f****l | 28 |
| Leon Oostrum | l****m@e****l | 13 |
| ipelupessy | i****y@e****l | 9 |
| Felipe Zapata | f****a@f****r | 7 |
| dependabot[bot] | 4****] | 7 |
| felipeZ | t****l@g****m | 6 |
| schoonhovenrichard | r****n@h****m | 5 |
| Johan Hidding | j****g@g****m | 5 |
| Bouwe Andela | b****a@e****l | 4 |
| Hanno Spreeuw | h****w@e****l | 3 |
| Jisk Attema | j****a@e****l | 3 |
| Martijn | m****1@g****m | 3 |
| Ben van Werkhoven | b****0@f****l | 2 |
| Abel Soares Siqueira | a****a@g****m | 2 |
| Jeff(Yujie) Liu | y****e@g****m | 2 |
| Nicolas Renaud | n****d@t****l | 2 |
| Anant Gupta | a****d | 1 |
| Emmanuel Ferdman | e****n@g****m | 1 |
| Lars | l****k@g****m | 1 |
| Leon Oostrum | l****m@c****l | 1 |
| Ben van Werkhoven | e****n@w****l | 1 |
| Wiebe van Breukelen | b****n@a****l | 1 |
| and 1 more... | ||
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 4 months ago
All Time
- Total issues: 65
- Total pull requests: 214
- Average time to close issues: 9 months
- Average time to close pull requests: 27 days
- Total issue authors: 13
- Total pull request authors: 21
- Average comments per issue: 1.66
- Average comments per pull request: 1.87
- Merged pull requests: 160
- Bot issues: 0
- Bot pull requests: 24
Past Year
- Issues: 11
- Pull requests: 72
- Average time to close issues: about 14 hours
- Average time to close pull requests: 21 days
- Issue authors: 4
- Pull request authors: 11
- Average comments per issue: 0.64
- Average comments per pull request: 1.19
- Merged pull requests: 42
- Bot issues: 0
- Bot pull requests: 6
Top Authors
Issue Authors
- benvanwerkhoven (33)
- isazi (8)
- stijnh (8)
- fjwillemsen (3)
- loostrum (3)
- bouweandela (2)
- LiuLiujie (2)
- sjsprecious (1)
- neworderofjamie (1)
- jinghere11 (1)
- srflp (1)
- vesuppi (1)
- jiskattema (1)
Pull Request Authors
- benvanwerkhoven (63)
- fjwillemsen (25)
- dependabot[bot] (24)
- isazi (23)
- stijnh (20)
- csbnw (15)
- MiloLurati (9)
- loostrum (7)
- emmanuel-ferdman (6)
- kentr0w (3)
- jiskattema (3)
- tdejong00 (2)
- wvbbreu (2)
- cesarg1337 (2)
- MartijnFr (2)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 2
-
Total downloads:
- pypi 185 last-month
-
Total dependent packages: 0
(may contain duplicates) -
Total dependent repositories: 1
(may contain duplicates) - Total versions: 35
- Total maintainers: 3
proxy.golang.org: github.com/kerneltuner/kernel_tuner
- Documentation: https://pkg.go.dev/github.com/kerneltuner/kernel_tuner#section-documentation
- License: apache-2.0
-
Latest release: v0.0.1-beta
published over 9 years ago
Rankings
pypi.org: kernel-tuner
An easy to use CUDA/OpenCL kernel tuner in Python
- Homepage: https://KernelTuner.github.io/kernel_tuner/
- Documentation: https://KernelTuner.github.io/kernel_tuner/
- License: Apache-2.0
-
Latest release: 1.3.0
published 4 months ago
Rankings
Maintainers (3)
Dependencies
- actions/checkout v2 composite
- citation-file-format/cffconvert-github-action 2.0.0 composite
- actions/checkout master composite
- ad-m/github-push-action master composite
- sphinx-notes/pages v2 composite
- actions/checkout master composite
- ad-m/github-push-action master composite
- sphinx-notes/pages v2 composite
- EndBug/add-and-commit v9 composite
- actions/checkout v2 composite
- benvanwerkhoven/howfairis-github-action main composite
- Gr1N/setup-poetry v8 composite
- actions/checkout v4 composite
- actions/setup-python v4 composite
- pypa/gh-action-pypi-publish release/v1 composite
- Gr1N/setup-poetry v8 composite
- actions/checkout v4 composite
- fjwillemsen/setup-nox2 v3.0.0 composite
- alabaster ==0.7.13
- appnope ==0.1.3
- asttokens ==2.4.1
- attrs ==23.1.0
- babel ==2.13.1
- backcall ==0.2.0
- beautifulsoup4 ==4.12.2
- bleach ==6.1.0
- certifi ==2023.7.22
- cffi ==1.16.0
- charset-normalizer ==3.3.2
- colorama ==0.4.6
- decorator ==5.1.1
- defusedxml ==0.7.1
- docutils ==0.18.1
- dom-toml ==0.6.1
- domdf-python-tools ==3.7.0
- exceptiongroup ==1.1.3
- executing ==2.0.1
- fastjsonschema ==2.18.1
- idna ==3.4
- imagesize ==1.4.1
- importlib-metadata ==6.8.0
- importlib-resources ==6.1.1
- iniconfig ==2.0.0
- ipython ==8.12.3
- jedi ==0.19.1
- jinja2 ==3.1.2
- joblib ==1.3.2
- jsonschema ==4.19.2
- jsonschema-specifications ==2023.7.1
- jupyter-client ==8.6.0
- jupyter-core ==5.5.0
- jupyterlab-pygments ==0.2.2
- markupsafe ==2.1.3
- matplotlib-inline ==0.1.6
- mistune ==3.0.2
- natsort ==8.4.0
- nbclient ==0.9.0
- nbconvert ==7.11.0
- nbformat ==5.9.2
- nbsphinx ==0.9.3
- numpy ==1.24.4
- packaging ==23.2
- pandas ==2.0.3
- pandocfilters ==1.5.0
- parso ==0.8.3
- pexpect ==4.8.0
- pickleshare ==0.7.5
- pkgutil-resolve-name ==1.3.10
- platformdirs ==3.11.0
- pluggy ==1.3.0
- prompt-toolkit ==3.0.39
- ptyprocess ==0.7.0
- pure-eval ==0.2.2
- pycparser ==2.21
- pygments ==2.16.1
- pytest ==7.4.3
- python-constraint2 ==2.0.0b3
- python-dateutil ==2.8.2
- pytz ==2023.3.post1
- pywin32 ==306
- pyzmq ==25.1.1
- referencing ==0.30.2
- requests ==2.31.0
- rpds-py ==0.12.0
- scikit-learn ==1.3.2
- scipy ==1.10.1
- six ==1.16.0
- snowballstemmer ==2.2.0
- soupsieve ==2.5
- sphinx ==7.1.2
- sphinx-pyproject ==0.3.0
- sphinx-rtd-theme ==1.3.0
- sphinxcontrib-applehelp ==1.0.4
- sphinxcontrib-devhelp ==1.0.2
- sphinxcontrib-htmlhelp ==2.0.1
- sphinxcontrib-jquery ==4.1
- sphinxcontrib-jsmath ==1.0.1
- sphinxcontrib-qthelp ==1.0.3
- sphinxcontrib-serializinghtml ==1.1.5
- stack-data ==0.6.3
- threadpoolctl ==3.2.0
- tinycss2 ==1.2.1
- toml ==0.10.2
- tomli ==2.0.1
- tornado ==6.3.3
- traitlets ==5.13.0
- typing-extensions ==4.8.0
- tzdata ==2023.3
- urllib3 ==2.0.7
- wcwidth ==0.2.9
- webencodings ==0.5.1
- xmltodict ==0.13.0
- zipp ==3.17.0
- 168 dependencies
- jsonschema *
- jupyter ^1.0.0
- matplotlib ^3.5.0
- numpy ^1.22.2
- nvidia-ml-py ^12.535.108
- pandas ^2.0.0
- pycuda ^2022.1
- pyhip-interface *
- pynvml ^11.4.1
- pyopencl *
- python >=3.8,<3.12
- python-constraint2 ^2.0.0b3
- scikit-learn ^1.0.2
- scipy ^1.10.1
- xmltodict *