Skip to content

anthonymorast/MandelbrotAndJuliaSets

Repository files navigation

One thing to keep in mind when building with make is the location of CUDA
libraries. If you have linking problems, open makefile with preferred editor,
on line 51 look for -L/usr/local/cuda/lib when I built I had issues with my
CUDA library being under /usr/local/cuda/lib64 on the lab computer and have
modified to build on the lab computer.


______________________________RUNTIMES RESULTS_________________________________
No significant runtime for changing colors, on Graphics Card or on CPU
No significant runtime for random color generation and display, on Graphics 
Card or on CPU

Julia Set generation is 2.1429 to 5.8 times faster on the GPU than it is on the
CPU

Zoom on GPU could take about 2x as long comparing max zoom time on GPU to min
zoom time on CPU, but this isn't quite right, since the zoom is dependent on 
the location of the Mandelbrot set we are zooming in on, how far out we are etc
In the interest of straight comparison the CPU ran 1.9615 faster than the GPU
(min to max) and the GPU run up to 52.8 times faster while zooming in.
Again, there is the fear it's not a straight comparison and may not be entirely
representative of the speed up.

___________________________________RUNTIMES_____________________________________

				   __ZOOM__
 ______________GPU______________             _______________CPU_________________
|0.102347			|	    |300				|
|0.13711			|	    |490				|
|0.168937			|	    |820				|
|0.190906			|	    |1240				|
|0.209425			|	    |1620				|
|0.227657			|	    |2100				|
|0.222522			|	    |2690				|
|0.193794			|	    |3490				|
|0.211446			|	    |4350				|
|0.264161			|	    |5270				|
|0.238313			|	    |5250				|
|0.221954			|	    |5250				|
|0.253624			|	    |5280				|
|0.284604			|	    |5280				|
|0.301053			|	    |5270				|
|0.36929			|	    |5270				|
|0.437645			|	    |5270				|
|0.323235			|	    |5280				|
|0.261616			|	    |260				|
|0.261498			|	    |480				|
|0.24191			|	    |890				|
|0.226482			|	    |1230				|
|0.187319			|	    |1630				|
|0.380636			|	    |2100				|
|0.361858			|	    |2680				|
|0.374432			|	    |3500				|
|0.376705			|	    |1740				|
|0.336939			|	    |1470				|
|0.32136			|	    |1080				|
|0.396527			|
|0.403105			|
|0.357275			|
|0.354976			|
|0.358801			|
|0.363878			|
|0.364027			|
|0.467145			|
|0.480547			|
|0.4605				|
|0.452297			|
|0.470498			|
|0.488637			|
|0.526302			|
|0.484511			|
|0.481573			|
|0.485868			|
|0.51019			|
|0.489507			|
|0.479494			|
|0.485052			|
|0.4623				|
|0.467122			|
|_______________________________|	    |___________________________________|

				    __JULIA__
 ______________GPU______________               _______________CPU_______________
|70				|	      |150				|
|70				|	      |180				|
|70				|	      |290				|
|50				|	      |230				|
|60				|	      |160				|
|60				|	      |290				|
|60				|	      |270				|
|60				|	      |290				|
|_______________________________|	      |_________________________________|



*
* Runtime: Zoom on GPU: Average time = 0.33113275 (52 data points)
*	   Zoom on CPU: Average time = 2.01529092 (52 data points)
*	   GPU Speedup: 6.08605135x faster
*	   -------------------------------------------------------
*	   Pan on CPU:  Average time = 0.55548346 (52 data points)
*	   Pan on CPU:  Average time = 2.80379631 (52 data points)
*	   GPU Speedup: 5.04748838x faster