Une théorie est bonne quand elle est belle. - Henry Poincaré

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