Skip to content

Repository files navigation

CUDAOptimizedRayTracer

Project to optimize the CUDA ray tracer found in https://github.com/xkevio/CUDA-Raytracer.

Iterations of optimizations has been split up into different directories, different code versions, in numerical order to allow for simple comparisons, these being src followed by a number and a name. Each directory includes a README specifying changes. Meanwhile, srcVec3f and srcFloat3 are used by multiple code iterations each and represent the implementation of using the proprietary 3-dimensional vector class, Vec3f, and float3, respectively.

Running

./runFinal.sh

while compile and run the final program code version. To compare different code versions, use

make clean
make

to compile all versions, and then run

./run.sh

to easily select any of the optimization versions as well as one of the different profiling tools used in the project. The rendered image will be named img.ppm (Note that the image is around 670 MB as it is 8192x8192 pixels by default). The different versions have the following dependencies where the path leading from src1Base to src7Shared is considered the final path of the project:

src1Base 
|
src2Static
|
src3Threads
|
src4Float
|
src5Pinned
|
src6Transfer ----- src7Shared
|
src7Divergence
|
src8Value
|
src9Shared

About

Project to optimize the CUDA ray tracer found in https://github.com/xkevio/CUDA-Raytracer.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages