Skip to main content

Install OpenCUDA-Lab 0.1 (exportable preview)

This is not a frozen production ABI (SOVERSION is still 0).

The PyPI package is a source distribution. pip install opencudalab compiles libopencuda inside pip on that machine (Ninja from pip; CMake generator is chosen for the host). The third person does not run CMake by hand. A Mac wheel is never the CUDA artifact.

Host Compiler pip uses GPU backends
Google Colab preinstalled gcc on if nvcc is present
Linux / RHEL gcc (dnf install gcc cmake) on if nvcc is present
Windows MSVC (cl.exe via vswhere / Build Tools) on if nvcc is present
macOS clang mock only (no NVIDIA)

Windows still needs Visual Studio C++ Build Tools installed; pip cannot invent cl.exe. It will find VS automatically (no x64 Native Tools prompt, no NMake).

pip (what a third person runs)

Needs: Python 3.9+ and a C compiler as in the table. nvcc on PATH enables GPU backends.

pip install opencudalab
pip install torch torchvision --index-url https://download.pytorch.org/whl/cu124
python -c "from opencudalab import Runtime, install_pytorch_allocator; print('ok')"

ocl_pytorch_alloc is always compiled into the shared library. After pip install, import opencudalab loads the DLL from site-packages.

If CUDA is on PATH (nvcc), the GPU backends are built automatically. Force the mock backend: set OCL_FORCE_MOCK=1 before pip install.

Until the project is published to PyPI, the same command works from a clone:

pip install .

USB tarball (no GitHub / no PyPI yet)

./scripts/pack_v1.sh

Copy dist/opencudalab-0.1.0-usb.tar.gz. Do not copy a Mac .dylib.

Windows + NVIDIA + CUDA (friend laptop)

Needs: NVIDIA GPU, CUDA Toolkit, Visual Studio 2022 Build Tools (C++ workload), Python 3.10+, CMake on PATH (winget install Kitware.CMake).

In x64 Native Tools Command Prompt or a terminal where nvcc works:

tar -xf opencudalab-0.1.0.tar.gz
cd opencudalab-0.1.0

python -m venv .venv
.venv\Scripts\activate
python -m pip install -U pip

pip install torch torchvision --index-url https://download.pytorch.org/whl/cu124

pip install opencudalab

Then the with-vs-without comparison:

python -m opencudalab --compare --batches 8

Or without pip, CMake + the example:

cmake -S . -B build -DOCL_ENABLE_CUDA=ON
cmake --build build --config Release
python examples/python/resnet_cifar10.py --compare --lib build\Release\opencuda.dll

If native Windows build fights you, WSL2 Ubuntu + CUDA on WSL is the same Linux path as the paper's GPU box:

cmake -S . -B build -DOCL_ENABLE_CUDA=ON && cmake --build build -j
pip install torch torchvision --index-url https://download.pytorch.org/whl/cu124
python examples/python/resnet_cifar10.py --compare --lib build/libopencuda.so

Look at torch_peak_alloc_MiB and ocl_n_oom_actual in the table.


pip (Mac / Linux)

From this repo, or from PyPI after publish:

pip install opencudalab
python -c "import opencudalab; print(opencudalab.library_path())"
python -m opencudalab --cpu --compare --dataset synthetic

On this Mac that installs the mock backend (no NVIDIA GPU).

To publish the source distribution (maintainers):

./scripts/publish_pypi.sh           # build + print upload commands
./scripts/publish_pypi.sh --test    # TestPyPI (needs token)
./scripts/publish_pypi.sh --upload  # PyPI (needs token)

Homebrew (macOS, mock backend only)

brew install cmake
./scripts/pack_v1.sh
brew install --build-from-source ./packaging/homebrew/opencudalab.rb

Python API (0.1.4+)

opencudalab.Runtime / Pipeline wrap the C ABI. ctypes layouts are not part of notebooks. Mock-backend checks (no GPU):

cmake -S . -B build -DOCL_ENABLE_CUDA=OFF
cmake --build build -j
PYTHONPATH=python pytest tests/python/test_api.py

C / pkg-config

cmake -S . -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build -j
cmake --install build --prefix /usr/local
pkg-config --libs --cflags opencuda

Java (JNA, same DLL/.so/.dylib)

cd bindings/java
mvn -q package
# Windows: put opencuda.dll on PATH or java.library.path
mvn -q exec:java

Metadata

Release files for opencudalab 0.1.5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for opencudalab 0.1.5
File Size Uploaded Provenance
opencudalab-0.1.5.tar.gz 118.1 kB Without provenance Details

Release files / opencudalab-0.1.5.tar.gz

Download URL opencudalab-0.1.5.tar.gz
Size 118.1 kB
Tags Source
SHA-256 checksum
How to use checksums
5830e34e8ec0249955bca6c008738c3c65d5e64178d4a2dd6ac3071f519d377d
BLAKE2b-256 checksum
How to use checksums
d8d0514e70fc51e11fc67b4ea6fbf17096dbc2855f2f750fefaa00ce927b77cd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.7

Security for opencudalab 0.1.5

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page