English

Accelerating Barnes-Hut t-SNE Algorithm by Efficient Parallelization on Multi-Core CPUs

Machine Learning 2022-12-23 v1 Artificial Intelligence Distributed, Parallel, and Cluster Computing

Abstract

t-SNE remains one of the most popular embedding techniques for visualizing high-dimensional data. Most standard packages of t-SNE, such as scikit-learn, use the Barnes-Hut t-SNE (BH t-SNE) algorithm for large datasets. However, existing CPU implementations of this algorithm are inefficient. In this work, we accelerate the BH t-SNE on CPUs via cache optimizations, SIMD, parallelizing sequential steps, and improving parallelization of multithreaded steps. Our implementation (Acc-t-SNE) is up to 261x and 4x faster than scikit-learn and the state-of-the-art BH t-SNE implementation from daal4py, respectively, on a 32-core Intel(R) Icelake cloud instance.

Keywords

Cite

@article{arxiv.2212.11506,
  title  = {Accelerating Barnes-Hut t-SNE Algorithm by Efficient Parallelization on Multi-Core CPUs},
  author = {Narendra Chaudhary and Alexander Pivovar and Pavel Yakovlev and Andrey Gorshkov and Sanchit Misra},
  journal= {arXiv preprint arXiv:2212.11506},
  year   = {2022}
}
R2 v1 2026-06-28T07:48:14.534Z