Skip to content

Version 4.0.1 Release

Latest

Choose a tag to compare

@DavidMChan DavidMChan released this 22 Jul 19:51
244db8f

Point release on top of 4.0.0 that makes the CUDA 13 build real and modernizes wheel packaging.

Changes since 4.0.0

  • CUDA 13 build fixes (#142): CUDA 13 ships a newer Thrust and cuFFT that removed several identifiers the code still used (thrust::unary_function; the cuFFT result codes CUFFT_PARSE_ERROR, CUFFT_LICENSE_ERROR, CUFFT_INCOMPLETE_PARAMETER_LIST). These are now handled, so the source compiles cleanly under CUDA 13.0. (In 4.0.0 the CUDA-13 wheel needed an out-of-tree patch; in 4.0.1 it builds from the tagged source.)
  • Modernized Docker wheel packaging (#141): a single parameterized packaging/Dockerfile (CUDA/FAISS/arch via build-args) replacing the nine stale per-CUDA Dockerfiles, and a CUDA 11.8→13.0 build matrix.

Everything from 4.0.0 carries over: modern datacenter GPU support (A100/H100/H200/B200), the ~6x MNIST speedup from removing per-iteration synchronization, and the streamlined build (no gflags/gtest/CPU-BLAS/CLI/ZMQ).

Prebuilt wheels

Attached below, one per CUDA runtime. They are py3-none-any — a single wheel works on any Python 3.x (the library is loaded via ctypes). Install the one matching your CUDA; you also need a GPU FAISS available at runtime (conda install -c conda-forge libfaiss).

wheel CUDA GPUs
tsnecuda-4.0.1+cu118 11.8 A100, H100/H200
tsnecuda-4.0.1+cu124 12.4 A100, H100/H200
tsnecuda-4.0.1+cu126 12.6 A100, H100/H200
tsnecuda-4.0.1+cu129 12.9 A100, H100/H200, B200
tsnecuda-4.0.1+cu130 13.0 A100, H100/H200, B200
pip install https://github.com/CannyLab/tsne-cuda/releases/download/4.0.1/tsnecuda-4.0.1+cu129-py3-none-any.whl

Also served from the stable index: pip install tsnecuda --find-links https://tsnecuda.isx.ai/tsnecuda_stable.

Each wheel was validated by running MNIST (60k, 1000 iters) end-to-end on an A100 (kNN digit-label accuracy ~0.955).