School of computer science

Georgia Institute of Technology

CS4803DGC, Spring 2011
Programming Assignment #3
Due: Monday, March. 14, 6:00 pm
Hyesoon Kim, Instructor

Introduction
This is two-student group assignment.
In this assignment, you will improve a ray tracing algorithm implementation of CUDA.

Installation Guide
You download Raytracingtutorial. Untar the tarfile under NVIDIA_GPU_COMPUTING_SKD/C You also have to install AntTweakBar library.

tar -zxvf AntTweakBar.tar.gz 
cd AntTweakBar 
cd src
make 
After you install the library, you need to modify Makefile to change the include path and (GPU_INCLUDE_DIR) and (GPU_LIB_DIR). The provided Makefile assumes that AntTweakBar library is installed under "/home/comparch/Download/AntTweakBar".
If you install AntTweakBar in a different directory, you change ANTTWEA parameter in Makefile.
If you use a 32-bit machine instead of 64-bit machine, replace -lGLEW_x64_64 with -lGLEW in GPU_LIB in the makefile.
You also need to modify your .cshrch or .bashrc script to include the library path such as "LD_LIB_PATH". For example,
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64:home/comparch/Download/AntTweakBar/lib 

Error messages
  • error:AntTweakBar.h: No such file or directory
    Please check your ANTTWEA is the right director.
  • libAntTweakBar.so: cannot open shared object file: No such file or directory
    Please check your shell script and change your LD_LIBRARY_PATH that includes your AntTweakBar/lib location. If you have changed the shell script, make it sure you open a new shell window (or execute the shell script).

    What to do?
    The raytracing tutorial is based on the link . Your assignment is implementing two antialising algorithms on top of this ray tracing algorithm and compare them.
    Suggesting algorithms are Adaptive Sampling, Stochasitc Sampling.
    Please use one method to be increasing the number of threads or number of blokcs. The other method, you can use for-loops to generate my rays.

    Grading
    The grading is based on supporting features and the report. Basic functionality (you need to demo your program on 3/14 (M) after class ). 50% , One person from a group is fine but if both person cannot make the demo, please send email to reschedule the demo time.
    Performance oriented optimizations (e.g. instead of using for-loops, use multiple threads, use adaptive sampling etc.) 30%
    Report (different sampling rate and performance, functionality issues) 20%