itcs 6/8010 cuda programming, unc-charlotte, b. wilkinson, jan 3, 2011outline.1 itcs 6010/8010...
Post on 13-Jan-2016
218 Views
Preview:
TRANSCRIPT
ITCS 6/8010 CUDA Programming, UNC-Charlotte, B. Wilkinson, Jan 3, 2011 outline.1
ITCS 6010/8010 Topics in Computer Science:GPU Programming for High Performance Computing
(CUDA programming)
Spring 2011
Barry WilkinsonDepartment of Computer Science
University of North Carolina at Charlotte
Tuesday/Thursday 5:00 pm – 6:15 pmWoodward 154
Course• This course is concerned with using
Graphics Processing Units (GPUs) for high performance computing
(not graphics)
• If you thought it was on graphics, now is the time to drop the course!
outline.2
outline.3
http://www.nvidia.com/object/cuda_courses_and_map.html
Now a hot topic.
Taught at Illinois, Stanford, MIT, Harvard, Duke, Chapel Hill, UNCC, …
4
Last few years GPUs have developed from graphics cards into a platform for high performance computing (HPC)
Now great interest in using GPUs for scientific high performance computing and GPUs are being designed with that application in mind
Graphics Processing Units (GPUs)
5 http://www.hpcwire.com/blogs/New-China-GPGPU-Super-Outruns-Jaguar-105987389.html
outline.6
Prerequisites
C/C++ programming -- Most programming is in C.
This course is concerned with programming computers, servers and clusters that have GPUs support – both Windows and Linux although most work is likely to be done on Linux systems
outline.7
Course Text
CUDA by ExampleAn Introduction to General-Purpose GPU Programming
by Jason Sanders and Edwards Kandrot
Addison-Wesley, 2011.
Most materials needed for the course, however, can be found on-line, see course home page
outline.8
Home Pages
For course notes, assignments, announcements, etc.:
http://www.cs.uncc.edu/~abw/ITCS6010S11/
Please check before each class.
• History of GPUs leading to their use and design for HPC• Introduction to the GPU programming model and CUDA,
device memory• Basic CUDA program structure, kernel calls, threads,
blocks, grid, thread addressing, predefined variables, example code: matrix addition and multiplication (demos). Assignment 1 using Windows and Linux environments to compile and execute simple CUDA programs. Visual Studio, Linux make files
• More program demostrations illustrating various features, CUDA API, timing, synchronization, atomics, ...
• Monte Carlo programs, Illustration of CUDA random number generator and __device__ routines
outline.9
Course Contents
• Incorporating graphical output. Demo: N-body problem using X11 graphics and __synchthreads() routine
• Global barrier synchronization. Demo of heat distribution program
• Critical sections and atomics. Demo: counter and histogram programs
• Parallel sorting. Comparison of various algorithms suitable for GPUs. Demo of Ranksort.
outline.10
Course contents continued
• More advanced features of CUDA, streams, multiple GPUs, using shared memory, constant memory, coalesced global memory access
• Optimizing performance, using knowledge of warps, and other characteristics of GPUs, overlapping computations, effects of control, flow, ...,
• Building complex applications, debugging tools, ... • OpenCL• Hybrid programming incorporating OpenMP and/or MPI
with CUDA, GPU clusters, distributed clusters, ...
outline.11
Course contents continued
• It is expected to take roughly seven weeks to cover te material listed, interspersed with demos and assignments.
• The remaining time will be spent on considering applications and the course project.
outline.12
Course contents continued
outline.13
Assessment
• Class quizzes/tests (2) 20%• Smaller programming assignments (3) 30%• Course project 30%• Final exam
20% » The assessment and percentages may be modified.Read small print
outline.14
All submitted assignments must be your own work. Copied work or work done by more than one person (unless specifically instructed) will not be accepted - at the very minimum, zero credit.
The UNC-C Code of Student Academic Integrity applies to both assignments and quizzes/tests.
No work will be accepted after the due date without good reason.
outline.15
AttendanceAttendance is expected. Attendance will be recorded. If you miss classes, it can have a deleterious effect on your grade:
After 4 missed classes without good reason:
2 marks off overall accumulated marks (out of 100) for each additional class missed.
If you must miss class, see me beforehand to avoid losing marks.
outline.16
InstructorBarry Wilkinson
Woodward, room 435G
Email: abw@uncc.edu
Office HoursTuesday/Thursday
2:00 pm - 4:30 pm.Walk-in at other times ok if not busy,
or send me an email for a mutually convenient time.
top related