Mandelbrot set plotter

ShmarvDogg

ShmarvDogg

Nottingham, England

0 0
  • 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

Intel Technologies
oneAPI, DPC++, Intel powered laptop

Code Samples [1]

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++

Repository

https://github.com/Shmarvadon/Mandlebrot_Plot

Comments (0)