Programming with CUDA WS 08/09 Lecture 1 Tue, 21 Oct, 2008
Organization Two lectures per week Two lectures per week –Tuesdays : 4pm-5pm Ernst-Abbe-Platz 2 (room 3517) –Thursdays : 4pm-6pm Carl-Zeiss-Strasse (room 125) One exercise session per week One exercise session per week –Tuesdays : 5pm-6pm Ernst-Abbe-Platz 2 (room 3517)
Organization People People –Waqar Saleem (me) –Jens K. Müller Office hours Office hours –Wednesdays : 2pm-4pm Ernst-Abbe-Platz 2 (room 3311)
Organization Reference Material Reference Material – links to university courses on CUDA – documentation, programming guide Lecture slides will be made available after each lecture on the course website Lecture slides will be made available after each lecture on the course website – jena.de/For+Students/CUDA.html jena.de/For+Students/CUDA.htmlhttp://theinf2.informatik.uni- jena.de/For+Students/CUDA.html
Organization Two-part course Two-part course Part 1: before Christmas Part 1: before Christmas –Present and learn about CUDA –Form student groups –Groups choose/are assigned projects Part 2: after Christmas Part 2: after Christmas –Groups work on and present their projects
The Bacardi Algorithm (courtesy of Elena Andreeva) Elena AndreevaElena Andreeva
The Bacardi Algorithm Bacardi Bacardi
The Bacardi Algorithm Bacardi Bacardi Bacar Bacar
The Bacardi Algorithm Bacardi Bacardi Bacar Bacar Wacar Wacar
The Bacardi Algorithm Bacardi Bacardi Bacar Bacar Wacar Wacar Waqar Waqar
GPGPU (Intro)
GPGPU GPGPU GPGPU
GPGPU –Graphical Processing Unit
GPGPU GPGPU GPGPU –Graphical Processing Unit –Handles values of pixels displayed on screen Highly parallel computation Highly parallel computation Optimized for parallel computations Optimized for parallel computations
GPGPU GPGPU GPGPU
GPGPU –General Purpose computing on GPU
GPGPU GPGPU GPGPU –General Purpose computing on GPU –Many non-graphics applications can be parallelized Can then be ported to a GPU implementation Can then be ported to a GPU implementation
GPGPU General info General info – – Variants Variants –GPGP –GP 2
Why GPU? (GPU vs. CPU) Specialized for rendering Specialized for rendering –Highly parallel, compute-intensive application –Multiple cores, high memory bandwidths
Why GPU? (GPU vs. CPU) More data processing transistors for More data processing transistors for –Flow control: same program for each data –Data caching: one arithmetic-intensive program, many data
So, why now? Previously Previously –Needed specialized graphics APIs –GPU DRAM had easy read but limited write capability Now, CUDA – Compute Unified Device Architecture Now, CUDA – Compute Unified Device Architecture –Minimal extension to C –GPU DRAM read & write
CUDA
Some setup issues CUDA ready cards CUDA ready cards – ml mlhttp:// ml –CUDA ready machine available in pool CUDA can be run in emulation mode CUDA can be run in emulation mode –Will install CUDA in emu mode on pool PCs –Repeat at home on own machines
Some setup issues Signup for pool access Signup for pool access –Usernames need to be known to grant access to CUDA ready machine
All for today Next time Next time –Finalize course/people websites –CUDA programming model –Install CUDA on pool PCs
See you next week!