Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 Workshop 9: General purpose computing using GPUs: Developing a hands-on undergraduate course on CUDA programming SIGCSE 2011 - The 42 nd ACM Technical.

Similar presentations


Presentation on theme: "1 Workshop 9: General purpose computing using GPUs: Developing a hands-on undergraduate course on CUDA programming SIGCSE 2011 - The 42 nd ACM Technical."— Presentation transcript:

1 1 Workshop 9: General purpose computing using GPUs: Developing a hands-on undergraduate course on CUDA programming SIGCSE 2011 - The 42 nd ACM Technical Symposium on Computer Science Education Wednesday March 9, 2011, 7:00 pm - 10:00 pm Dr. Barry Wilkinson University of North Carolina Charlotte Dr. Yaohang Li Old Dominion University SIGCSE 2011 Workshop 9 intro.ppt © 2010 B. Wilkinson Modification date: Feb 22, 2011

2 2 Agenda 7:00 pm - 7:15 pmWelcome and opening remarks: GPUs and CUDA, remote server configurations, guest accounts, sample programs with graphics. 7:15pm - 8:25 pmSession 1: Basic CUDA programming Presentation Hands-on experience using remote GPU server 8:25 pm - 8:35 pmBreak, with demos 8:35 pm - 9:35 pmSession 2: Further features and performance of CUDA programs Presentation Guided hands-on experience 9:35 pm - 10:00 pmDiscussion of general-purpose GPU programming at undergraduate level 2

3 3 GPU performance gains over CPUs T12 Westmere NV30 NV40 G70 G80 GT200 3GHz Dual Core P4 3GHz Core2 Duo 3GHz Xeon Quad Source © David Kirk/NVIDIA and Wen-mei W. Hwu, 2007-2009 ECE 498AL Spring 2010, University of Illinois, Urbana-Champaign Emergence of GPU systems for General Purpose High Performance Computing GPUs have developed from graphics cards into a platform for HPC GPUs are being designed with that application in mind Very significant performance improvements on scientific code

4 4 http://www.hpcwire.com/blogs/New-China-GPGPU-Super-Outruns-Jaguar-105987389.html

5 outline.5 http://www.nvidia.com/object/cuda_courses_and_map.html A hot topic to teach Taught at Illinois, Stanford, MIT, Harvard, Duke, Chapel Hill, UNC-C, … Taught at graduate level and now moving into undergraduate level

6 GPU Course for High Performance Computing Concerned with using Graphics Processing Units (GPUs) for high performance computing Not graphics A programming course Uses CUDA (Compute Unified Device Architecture), an architecture and programming model introduced by NVIDIA in 2007 C-based. Easy to learn.

7 NVIDIA products NVIDIA Corp. is the leader in GPUs for high performance computing: 1993201019991995 http://en.wikipedia.org/wiki/GeForce 2009200720082000200120022003200420052006 Established by Jen- Hsun Huang, Chris Malachowsky, Curtis Priem NV1GeForce 1 GeForce 2 series GeForce FX series GeForce 8 series GeForce 200 series GeForce 400 series GTX460/465/470/475/ 480/485 GTX260/275/280/285/295 GeForce 8800 GT 80 Tesla Quadro NVIDIA's first GPU with general purpose processors C870, S870, C1060, S1070, C2050, … Tesla 2050 GPU has 448 thread processors Fermi Kepler (2011) Maxwell (2013) CUDA

8 8 Programming Model GPUs historically designed for creating image data for displays. Involves manipulating image picture elements (pixels) and often the same operation each pixel. SIMD (Single Instruction Multiple Data) model - An efficient mode of operation in which the same operation done on each data element at the same time. GPUs use a thread version of SIMD called Single Instruction Multiple Thread (SIMT).

9 9 GPU’s SIMT Programming Model GPUs use very lightweight threads to achieve high parallel performance and to hide memory latency Multiple threads, each execute the same instruction sequence. Very large number of threads (10,000’s) possible on GPUs. Threads mapped onto available processors on GPU (100’s of processors) all executing same program sequence More on the program model shortly

10 10 Programming applications using SIMT model Matrix operations -- very amenable to SIMT Same operations done on different elements of matrices Some “embarassingly” parallel computations such as Monte Carlo calculations Monte Carlo calculations use random selections that are independent of each other Data manipulations Some sorting can be done quite efficiently

11 coit-grid01-4 Each dual Xeon processors (3.4Ghz) 8GB main memory coit-grid05 -- Four quad-core Xeon processors (2.93Ghz) 64GB main memory 1.2 TB disk coit- grid01 coit-grid01.uncc.edu – coit-grid06.uncc.edu switch coit- grid05 coit- grid03 coit- grid02 coit- grid04 All user’s home directories on coit-grid05 (NFS) Computer system used for workshop at UNC-Charlotte coit- grid06 NVIDIA Tesla GPU (448 core Fermi) System to log onto firstOnly available directly from on campus

12 Guest accounts on computer systems Account details consist of an account name and an ssh password. Logon through first to coit-grid01 and then to grid06 Files needed for hands-on sessions provided in each account. More details in hands-on session write-ups Use PuTTY or WinSCP if Windows coit-grid01.uncc.edu

13 13 Xclock running on client PC Xclock running on coit- grid01.uncc.edu Xclock running on coit- grid06.uncc.edu Xterm running on client PC, logged onto coit-grid06.uncc.edu User interface accessing for forwarding X11 graphics Not needed for workshop WinSCP running on client PC connected to grid01.uncc.edu To make sure all X servers running

14 14 Simple implementation 800 x 800 points 50000 iterations Speed-up = 16.57 Fireplace Heat distribution problem (Solving Laplace’s equation) Graphics forwards to client computer (PC)

15 15 N Body problem

16 16 Video

17 Questions

18 Next Basic CUDA programming Intro to 1 st hands-on session


Download ppt "1 Workshop 9: General purpose computing using GPUs: Developing a hands-on undergraduate course on CUDA programming SIGCSE 2011 - The 42 nd ACM Technical."

Similar presentations


Ads by Google