INF5063 - nVIDIA GeForce GPU Resources & FAQ

 

Page for resources and frequently asked questions for the GPU machines. If you have any other questions, please send an email to inf5063@ifi.uio.no

 The following talbe gives an overview of the status of the nVIDIA GPU machines in the lab at Simula. All nVIDIA GPU's from the GeForce 8/9/100/200/400 generation, both for desktop and laptop supports CUDA, and it is therefore possible to use your own hardware.

Remember that you have to SSH into oslo.simula.no to access the lab-net here at Simula. Username and password has been provided to all groups:

GPU Status
Computer GPU Multiprocessors Compute Capability Status
gpu-1.ndlab.net GeForce 8800GT 14 1.1 Operational
gpu-2.ndlab.net GeForce 8800GT 14 1.1 Operational
gpu-3.ndlab.net GeForce 8800GT 14 1.1 Operational
gpu-4.ndlab.net GeForce 8800GT 14 1.1 Operational
clinton.ndlab.net GeForce GTX 280 30 1.3 Operational
reagan.ndlab.net AMD Radeon 5750 10 SIMD Cores - Down
bush.ndlab.net GeForce GTX 280 30 1.3 Operational

 

Please note that only one person in a group may reserve a timeslot (max 4 hours) at a time! The reason for this is to allow other user access to the GPU machines as well. We have a reservation system in place for the GPU machines here at Simula:

https://booking.ndlab.net

The login to open the page is the same you use to access the Home Exams. Remember to log into the calendar with the username and password provided to your group.

 

GPU Programming Resources

Paper on optimizing the Motion JPEG encoder for Cell and GPU

nVIDIA CUDA Toolkit 3.2 Download & Documentation

nVIDIA OpenCL 1.0 Download & Documentation

Simple Motion JPEG Encoder with 2D-DCT offloaded to CUDA (2009-Edition) 

 

Frequently Asked Questions

 

Q: Can I use my own GPU?

A: Yes, you can! CUDA works on all GeForce 8/9/100/200/400-series GPU's from nVIDIA. OpenCL should work on any nVIDIA or AMD GPU with an OpenCL driver, make sure that your program works on clinton/bush & reagan in the lab! If you use CUDA, make sure that your code also compiles and run on at least the clinton/bush machines here at Simula. If you use functions that requires a special "Compute Version", you have to state this in your documentation.

 

Q: What software do I need if I want to run on my own GPU?

A: Here at Simula, we are running Ubuntu 10.04 (64-bit) with CUDA 3.2 from nVIDIA. You have to download both a CUDA-certified driver, and CUDA 3.2 toolkit from nVIDIA. The CUDA SDK is optional, but it contains several usefull functions.

 

Q: Can you give us an example of a GPU program?

A: Yes. We can! We have made availible a simple version of last years Motion JPEG encoder (Week Assignment 2) with only DCT offloaded to the GPU. Note that this implementation uses the same DCT algorithm found the first home exam (2D-DCT). This is different from the 1D-DCT found the precode of Home Exam 2. You can find the encoder HERE.

 

Q: Can we copy/paste a fast DCT implementation optimized for SSE which we found on the Internet into our code?

A: No, you may not. However, there is nothing stopping you from implementing a different algorithm than what is used in the precode. Fast DCT algorithms is a research topic, and most papers on the subject are for the mathematically minded or hardware designers. A good introduction is the book JPEG: Still Image Data Compression Standard which explains some of the algorithms available, and a preview can be found on Google Books. An interesting paper on JPEG architecture can be found here, and a paper on pipelined FastDCT can be found here (Requires UiO IP. Note that there is a typo in step 1 of the algorithm, should be: b2 = a3 - a4). Another article that implements DCT as a matrix multiplication can be found here.