Skip to content
David Chan edited this page May 5, 2018 · 3 revisions

t-SNE-CUDA

tsne-cuda is an optimized GPU library for computing the t-SNE embedding of a set of points. It contains algorithms for both Barnes-Hut t-SNE and Naive t-SNE, and uses CUDA to quickly compute the embeddings (with significant speedup, sometimes >1000x vs. the Sklearn implementation). tsne-cuda is written using C++/CUDA and contains python bindings for Python 2 and Python 3. tsne-cuda is developed by the Canny lab at the University of California, Berkeley.

Research Foundations

tsne-cuda is based on a number of research papers, and current libraries. We use code/implementations from the following groups, which form the core of our code:

L. Van der Maaten's paper

Multicore-TSNE

BHTSNE

CUDA Utilities/Pairwise Distance

FAISS

LONESTAR-GPU

GTest

CXXopts

Without these libraries/code contributions, none of this would be possible.

This Wiki

This wiki contains high-level information about tsne-cuda as well as a simple tutorial for using tsne-cuda in both C++ and in Python. For more information on the C++ API, check out the Doxygen docs. For more detailed information about the Python API, check out the Read the Docs.