Mandelbrot set plotter
ShmarvDogg
Nottingham, England
- 0 Collaborators
This is a program i designed to plot the Mandelbrot set, it can do this either with 1 thread, all threads or utilising SYCL via intels DPC++ compiler included in OneAPI toolkit to use GPU acceleration. ...learn more
Project status: Published/In Market
oneAPI, HPC, Graphics and Media, Digital Art
Groups
Student Developers for oneAPI
Overview / Usage
This projects aim is to compute and render a representation of the Mandelbrot set. This is done using an algorithm specified on wikipedia, https://en.wikipedia.org/wiki/Mandelbrot\_set.
This algorithm was implimented in 3 different ways, firt off the most simple, single threaded plotter which just forms the image sequentially 1 pixel at a time, next was a multithreaded plotter with each thread being given a group of pixels to render. Finally was the DPC++ SYCL implimentation where a kernel was launched for each pixel of the image.
Methodology / Approach
For the final implimentation, Intels OneAPI DPC++ compiler was used to leverage SYCL to enable GPU compute to accelerate the rendering of the set. This was done by using a 2D parrallel for loop to launch a kernel for each pixel of the image allowing the renderer to render large high resolution plots of the set very quickly. Thanks to SYCLs support for some std library functions the kernel code is rather simple and is expressed as a lambda function.
Technologies Used
OneAPI, SYCL, DPC++