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:
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:
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.