Solving Large Geometric and Visualization Problems with GPU Computing in MATLAB


Updated 1 Sep 2016

View License

It is often necessary to scale a technical computing problem involving a small amount of data to a much larger data set. Simply looping over each section of the data can become a computational bottleneck, especially if the application has to run in real time. MATLAB® offers several approaches for accelerating algorithms, including performing computations in parallel on multicore processors and GPUs. If you have an NVDIA GPU available, one approach is to leverage the parallel architecture and throughput of the GPU with Parallel Computing Toolbox TM. Certain classes of problems, especially in computational geometry and visualization, can be solved very efficiently on a GPU.
In this submission we will modify an algorithm to run on a GPU, and then solve a geometric problem involving millions of lines and shapes in under a second. We illustrate this approach using the problem of tracing light rays as they intersect with objects. This type of problem is present in a variety of applications, including scene rendering and medical imaging.
This code accompanies the article "Solving Large Geometric and Visualization Problems with GPU Computing in MATLAB" (http://www.mathworks.co.uk/company/newsletters/articles/solving-large-geometric-and-visualization-problems-with-gpu-computing-in-matlab.html)

Cite As

Paul Peeling (2023). RayShapeArticle_FEX.zip (https://www.mathworks.com/matlabcentral/fileexchange/46502-rayshapearticle_fex-zip), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2014a
Compatible with any release
Platform Compatibility
Windows macOS Linux
Find more on GPU Computing in Help Center and MATLAB Answers

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Version Published Release Notes

Updated license

Corrected order of legend entries when running the benchmark scripts. Thanks to Vadim Bulitko for spotting this.
Added a high-resolution PDF version of the execution time comparison plots.

Added link to article.