Skip to main content

CUDA Kernel Benchmarking Package

Project description

CUDA Kernel Benchmarking Package

This package provides a Python API to the CUDA Kernel Benchmarking Library NVBench.

Installation

Install from PyPi

pip install cuda-bench[cu13]  # For CUDA 13.x
pip install cuda-bench[cu12]  # For CUDA 12.x

Building from source

Ensure recent version of CMake

Since nvbench requires a rather new version of CMake (>=3.30.4), either build CMake from sources, or create a conda environment with a recent version of CMake, using

conda create -n build_env --yes  cmake ninja
conda activate build_env

Ensure CUDA compiler

Since building NVBench library requires CUDA compiler, ensure that appropriate environment variables are set. For example, assuming CUDA toolkit is installed system-wide, and assuming Ampere GPU architecture:

export CUDACXX=/usr/local/cuda/bin/nvcc
export CUDAARCHS=86

Build Python project

Now switch to python folder, configure and install NVBench library, and install the package in editable mode:

cd nvbench/python
pip install -e .

Verify that package works

python test/run_1.py

Run examples

# Example benchmarking numba.cuda kernel
python examples/throughput.py
# Example benchmarking kernels authored using cuda.core
python examples/axes.py
# Example benchmarking algorithms from cuda.cccl.parallel
python examples/cccl_parallel_segmented_reduce.py
# Example benchmarking CuPy function
python examples/cupy_extract.py

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

cuda_bench-0.2.1-cp313-cp313-manylinux_2_27_x86_64.whl (2.4 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.27+ x86-64

cuda_bench-0.2.1-cp312-cp312-manylinux_2_27_x86_64.whl (2.4 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.27+ x86-64

cuda_bench-0.2.1-cp311-cp311-manylinux_2_27_x86_64.whl (2.4 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.27+ x86-64

cuda_bench-0.2.1-cp310-cp310-manylinux_2_27_x86_64.whl (2.4 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.27+ x86-64

File details

Details for the file cuda_bench-0.2.1-cp313-cp313-manylinux_2_27_x86_64.whl.

File metadata

File hashes

Hashes for cuda_bench-0.2.1-cp313-cp313-manylinux_2_27_x86_64.whl
Algorithm Hash digest
SHA256 2ae867402d9a4ad781c59c8ada62821f290a67483427fe8dffda2ca58dd26442
MD5 64b2782860bd2ba183cebbe811772f59
BLAKE2b-256 2711b742e5313ad8ee61fb789debea1dd1a95476011638377d3de2598276addf

See more details on using hashes here.

Provenance

The following attestation bundles were made for cuda_bench-0.2.1-cp313-cp313-manylinux_2_27_x86_64.whl:

Publisher: publish-wheels.yml on NVIDIA/nvbench

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cuda_bench-0.2.1-cp312-cp312-manylinux_2_27_x86_64.whl.

File metadata

File hashes

Hashes for cuda_bench-0.2.1-cp312-cp312-manylinux_2_27_x86_64.whl
Algorithm Hash digest
SHA256 03e92f1af90f6ca322f90d70080cf8adc08a41d2907b214282448011d2bedd60
MD5 76ecfee195e11b65a95ece5cd7e651ab
BLAKE2b-256 15cca17955abe34a4884adcf0fe35ffe643e6f15dd71bb43bb3117004ffb466d

See more details on using hashes here.

Provenance

The following attestation bundles were made for cuda_bench-0.2.1-cp312-cp312-manylinux_2_27_x86_64.whl:

Publisher: publish-wheels.yml on NVIDIA/nvbench

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cuda_bench-0.2.1-cp311-cp311-manylinux_2_27_x86_64.whl.

File metadata

File hashes

Hashes for cuda_bench-0.2.1-cp311-cp311-manylinux_2_27_x86_64.whl
Algorithm Hash digest
SHA256 9e449955e9c6380d5fd4565afff63e3770c976f7585e743b0518e9816c8c976f
MD5 fa3cae1a6a0835bcd20c4cadd539e70f
BLAKE2b-256 a8d3f61ba93932ba94428e7be2dcb2e0120246997bc93b505c4f686dfd177181

See more details on using hashes here.

Provenance

The following attestation bundles were made for cuda_bench-0.2.1-cp311-cp311-manylinux_2_27_x86_64.whl:

Publisher: publish-wheels.yml on NVIDIA/nvbench

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cuda_bench-0.2.1-cp310-cp310-manylinux_2_27_x86_64.whl.

File metadata

File hashes

Hashes for cuda_bench-0.2.1-cp310-cp310-manylinux_2_27_x86_64.whl
Algorithm Hash digest
SHA256 cabb0e93ec7f7f38fbb5f02f5de32878a785ea8907260090be58707c8338df29
MD5 db002198b8d5fb696d293f10a828f502
BLAKE2b-256 c76d4b0fcf6579272dc74d3ed04169c3da077991aaed53182bd42152df0dc406

See more details on using hashes here.

Provenance

The following attestation bundles were made for cuda_bench-0.2.1-cp310-cp310-manylinux_2_27_x86_64.whl:

Publisher: publish-wheels.yml on NVIDIA/nvbench

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page