There are 5
interactive GPUs workstations are available for the course.
Like Stampede, all 5 machines are running CUDA version
5.5.
| hostname | CPU | GPU | GPU Compute Capability |
|---|---|---|---|
| cseclass03-07 | 4-core 8-thread Intel Core i7 950 | GTX 460 (Fermi) | 2.1 |
The cseclass machines are all Intel based and have Fermi GPUs (device capability 2.1): GTX 460's each with 336 cores configured as 7 multiprocessors with 48 cores.
The interactive CSE machines (cseclassNN, N=03-07) share the same file system. To get started, log in to any of the CSE systems, and modify the .bashrc and .bash_profile files. Copy the files BASHRC and PROFILE, located in $PUB to the end of the .bashrc and .bash_profile which are located in your home directory. Log out, and log in.
You'll get an augmented PATH, a few handy commands, and a pre-defined environment variable, called PUB:
/class/public/cse262-wi15
You've been provided with simple CUDA program to get your started. Use this app to establish that your environment has been set up correctly and that you can compile and run a CUDA program. The app, incrArr, is located in $PUB/Examples/CUDA. (This directory structure is set up on all course hardware testbeds).
Create a copy of incrArray in your home directory, then compile ("Make") and run the executable as you would a conventional one. The program increments an array and it shows you the basics of CUDA such as how to manage storage on the device (the GPU) and to take timings.
The output of incrArr includes information about the hardware and should look something like this:
1 Devices Device 0 has 7 cores Device # 0 has 0.999207 GB global memory Device is a GeForce GTX 460, capability: 2.1 CUDA Driver version: 5050, runtime version: 5050 sm_21 N = 8388480, reps = 10 Success! N = 8388480, block size = 128 reps: 10 Device running time: Total (0.094838 sec.), Compute (0.005144 sec.)
You'll notice that the Makefile provided with incrArr includes an "arch" file of the form $(PUB)/Arch/arch.* (or arch.*.*.) This file contains various settings needed to compile and build executables and generally it should not be changed. Don't use a private copy since as I may modify the file over the duration of the course. (Many of the Makefiles in the provided codes use conditional statements that enable the Makefile to be portable onto the platforms identified in the course.) The CUDA compiler is called nvcc and your path should already be set up to find it.
For documentation, start here:
You can also find more documents here.
Note that while NVIDIA hosts many useful CUDA toolkit documents these are for the latest version of CUDA (6.5). The Developer Zone hosts a good deal of resources, including (free) downloads for the toolkit and drivers, together with downloadable applications.
The latest documentation emphasizes Kepler and Maxwell. Here is the Fermi Architecture Whitepaper and an article that gives an overview of Fermi: Nvidia's 'Fermi' GPU architecture revealed, Scott Watson, tech report.com, Sept 2009.
Maintained by [Thu Jan 8 18:43:36 PST 2015]