Mathematics, rightly viewed, possesses not only truth, but supreme beauty: a beauty cold and austere, like that of sculpture, without appeal to any part of our weaker nature, without the gorgeous trappings of painting or music, yet sublimely pure, and capable of a stern perfection such as only the greatest art can show. - Bertrand Russell

Using Ray Tracing cores for accelerating a KNN algorithm.

This project studies the use of ray tracing cores - a novel type of GPU hardware used for accelerating ray tracing algorithms - for accelerating a k-nearest neighbours algorithm. Final project of GPGPU - General purpose computing in GPUs at Universidad de la República (UDELAR).

The aim of this project was to do a research of the state of the art in using ray tracing cores - introduced in Nvidia Turing architecture - for general purpose computing. Specifically, we studied the use of this new hardware for accelerating the KNN algorithm. This involved the analysis of how the original problem of the K nearest neighbours can be reformulated to a ray tracing problem.

Below you can find a report about the algorithm (Explanation, experimental analysis and performance reports) and its source code. Unfortunately, the report is only available in Spanish. The appendix section contains a detailed explanation of how to use the OptiX library for building a KNN algorithm that benefits from the ray tracing cores.

This project was a great opportunity to gather experience in:

  • GPU programming.
  • Investigation of the state of the art in GPUs and RT cores.
  • Graphic programming with OptiX.
  • Algorithm analysis.


Created on the 26th of March 2023. Last edition on 26/3/2023