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

auto-tuning autotuning c cplusplus cuda cuda-kernels gpu gpu-computing kernel-tuner machine-learning opencl opencl-kernels optimization python software-development testing

Keywords from Contributors

copier copier-python copier-template python-template research-software fair web-app interaction bibliographics profiling
Last synced: 4 months ago · JSON representation ·

Repository

Kernel Tuner

Basic Info
Statistics
  • Stars: 357
  • Watchers: 9
  • Forks: 58
  • Open Issues: 19
  • Releases: 34
Topics
auto-tuning autotuning c cplusplus cuda cuda-kernels gpu gpu-computing kernel-tuner machine-learning opencl opencl-kernels optimization python software-development testing
Created over 9 years ago · Last pushed 4 months ago
Metadata Files
Readme Changelog Contributing License Citation Zenodo

README.md


Build Status CodeCov Badge PyPi Badge Zenodo Badge SonarCloud Badge OpenSSF Badge

FairSoftware Badge

Create optimized GPU applications in any mainstream GPU programming language (CUDA, HIP, OpenCL, OpenACC, OpenMP).

What Kernel Tuner does:

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], or pip 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

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

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

All Time
  • Total Commits: 1,883
  • Total Committers: 31
  • Avg Commits per committer: 60.742
  • Development Distribution Score (DDS): 0.449
Past Year
  • Commits: 118
  • Committers: 11
  • Avg Commits per committer: 10.727
  • Development Distribution Score (DDS): 0.432
Top Committers
Name Email 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...

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
bug (12) enhancement (10) help wanted (4) documentation (2) tests (2) idea (2) wontfix (1)
Pull Request Labels
dependencies (28) enhancement (17) python (6) bug (5)

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
  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent packages count: 5.4%
Average: 5.5%
Dependent repos count: 5.7%
Last synced: 4 months ago
pypi.org: kernel-tuner

An easy to use CUDA/OpenCL kernel tuner in Python

  • Versions: 34
  • Dependent Packages: 0
  • Dependent Repositories: 1
  • Downloads: 185 Last month
Rankings
Stargazers count: 5.1%
Forks count: 6.4%
Dependent packages count: 10.1%
Average: 11.2%
Downloads: 12.9%
Dependent repos count: 21.6%
Last synced: 4 months ago

Dependencies

.github/workflows/cffconvert.yml actions
  • actions/checkout v2 composite
  • citation-file-format/cffconvert-github-action 2.0.0 composite
.github/workflows/docs-on-release.yml actions
  • actions/checkout master composite
  • ad-m/github-push-action master composite
  • sphinx-notes/pages v2 composite
.github/workflows/docs.yml actions
  • actions/checkout master composite
  • ad-m/github-push-action master composite
  • sphinx-notes/pages v2 composite
.github/workflows/update-fair-software-badge.yml actions
  • EndBug/add-and-commit v9 composite
  • actions/checkout v2 composite
  • benvanwerkhoven/howfairis-github-action main composite
.github/workflows/publish-python-package.yml actions
  • Gr1N/setup-poetry v8 composite
  • actions/checkout v4 composite
  • actions/setup-python v4 composite
  • pypa/gh-action-pypi-publish release/v1 composite
.github/workflows/test-python-package.yml actions
  • Gr1N/setup-poetry v8 composite
  • actions/checkout v4 composite
  • fjwillemsen/setup-nox2 v3.0.0 composite
doc/requirements.txt pypi
  • 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
poetry.lock pypi
  • 168 dependencies
pyproject.toml pypi
  • 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 *