Thursday, January 10, 2013

CSCIE-175 Final Project: AWS Cluster GPU & Regular-Grid Accelerated Ray Tracing


Amazon Web Services (AWS) allows developers to harness the power of a grid of network computers.  Applications can then be deployed onto the cloud.  AWS offers many services including authentication, content delivery network, search, database, map-reduce, compute, and many others.  Elastic Cloud Compute (EC2) is one of the most popular services.

EC2 allows developers to rent computer time as low as $0.03/hour.  Contrast this to companies having to invest capital for rapidly outdated computer hardware.  And it’s not just the capital investment, but also the maintenance and IT support costs involved in ownership.  With EC2, a user can employ a Windows or Linux server to do their bidding, and literally terminate them once their job is over.

EC2 provides different types of computers at various costs, capabilities and performance levels.  For the purposes of this project we were interested only in the GPU computing capability of EC2.  We employed EC2 Cluster GPU instances to implement a Regular-Grid Accelerated Ray Tracer (RGRT) using GPU compute (technical details for RGRT can be found at http://www.cs264.org/2009/projects/web/Patel_Krunal/index.html).  To further exemplify the niceties of AWS, we provided a web front end to the RGRT application by using Apache web server technology and PHP server-side scripting.

The C language code for the RGRT and web code can be found on Github at https://github.com/lateralpunk/rgrt.  Finally, you can watch the YouTube video of the project here: http://www.youtube.com/watch?v=9r9xSPlbVDA.