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.0-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.0-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.0-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.0-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.0-cp313-cp313-manylinux_2_27_x86_64.whl.

File metadata

File hashes

Hashes for cuda_bench-0.2.0-cp313-cp313-manylinux_2_27_x86_64.whl
Algorithm Hash digest
SHA256 e30329e4420442d57ffb551f7c1c78a602b7e098157f05a1d970bbe02b00e855
MD5 97b691305112e97ca210186744ec4d60
BLAKE2b-256 26bb7c1443441700212f9f5b3319c0b9cbe5b4588860bd08110c8441029462c4

See more details on using hashes here.

Provenance

The following attestation bundles were made for cuda_bench-0.2.0-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.0-cp312-cp312-manylinux_2_27_x86_64.whl.

File metadata

File hashes

Hashes for cuda_bench-0.2.0-cp312-cp312-manylinux_2_27_x86_64.whl
Algorithm Hash digest
SHA256 5636d12b95df877c6af27a3359528875280c100ca6c266f354f1296486efd671
MD5 6c83540cbd4d5d610d8f71071ce6571b
BLAKE2b-256 01354263638e255cddf818f557c5f8528dc671d5a492ae56f3f08df18482c854

See more details on using hashes here.

Provenance

The following attestation bundles were made for cuda_bench-0.2.0-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.0-cp311-cp311-manylinux_2_27_x86_64.whl.

File metadata

File hashes

Hashes for cuda_bench-0.2.0-cp311-cp311-manylinux_2_27_x86_64.whl
Algorithm Hash digest
SHA256 4ad76bbead32857a1ed62839f06b65947131ad74d73b20a64ff5f65e32887704
MD5 91e7aca04e0d6450d4877bc64c56e448
BLAKE2b-256 2dce3a931ce7a602d31d5b9f73aa6a53599d9406a89192f799dc7dbf3f63fcf6

See more details on using hashes here.

Provenance

The following attestation bundles were made for cuda_bench-0.2.0-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.0-cp310-cp310-manylinux_2_27_x86_64.whl.

File metadata

File hashes

Hashes for cuda_bench-0.2.0-cp310-cp310-manylinux_2_27_x86_64.whl
Algorithm Hash digest
SHA256 ccd0de0a93c6db9fb2fcec62f70a77715a9fa357368b2bedb5a694a74c5d0cf3
MD5 494319bfd63647f4dd11bbb7daa5fd89
BLAKE2b-256 301f4470a2975a8b1e804ade33338f785e4da8e2862d275edbfa5eb8c8ab2411

See more details on using hashes here.

Provenance

The following attestation bundles were made for cuda_bench-0.2.0-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