Browsing by Author "Nolet, Corey J."
Now showing 1 - 2 of 2
Results Per Page
Sort Options
Item Bringing UMAP Closer to the Speed of Light with GPU Acceleration(2020-08-01) Nolet, Corey J.; Lafargue, Victor; Raff, Edward; Nanditale, Thejaswi; Oates, Tim; Zedlewski, John; Patterson, JoshuaThe Uniform Manifold Approximation and Projection (UMAP) algorithm has become widely popular for its ease of use, quality of results, and support for exploratory, unsupervised, supervised, and semi-supervised learning. While many algorithms can be ported to a GPU in a simple and direct fashion, such efforts have resulted in inefficent and inaccurate versions of UMAP. We show a number of techniques that can be used to make a faster and more faithful GPU version of UMAP, and obtain speedups of up to 100x in practice. Many of these design choices/lessons are general purpose and may inform the conversion of other graph and manifold learning algorithms to use GPUs. Our implementation has been made publicly available as part of the open source RAPIDS cuML libraryItem Semiring Primitives for Sparse Neighborhood Methods on the GPUNolet, Corey J.; Gala, Divye; Raff, Edward; Eaton, Joe; Rees, Brad; Zedlewski, John; Oates, TimHigh-performance primitives for mathematical operations on sparse vectors must deal with the challenges of skewed degree distributions and limits on memory consumption that are typically not issues in dense operations. We demonstrate that a sparse semiring primitive can be flexible enough to support a wide range of critical distance measures while maintaining performance and memory efficiency on the GPU. We further show that this primitive is a foundational component for enabling many neighborhood-based information retrieval and machine learning algorithms to accept sparse input. To our knowledge, this is the first work aiming to unify the computation of several critical distance measures on the GPU under a single flexible design paradigm and we hope that it provides a good baseline for future research in this area. Our implementation is fully open source and publicly available at https://github.com/rapidsai/cuml.