182.731 GPU Architectures and Computing
This course is in all assigned curricula part of the STEOP.
This course is in at least 1 assigned curriculum part of the STEOP.

2019S, VU, 4.0h, 6.0EC

Properties

  • Semester hours: 4.0
  • Credits: 6.0
  • Type: VU Lecture and Exercise

Aim of course

Graphics processing units (GPUs)  were originally developed  as specialized electronic circuits for fast image processing and graphics rendering. GPUs are nowadays heavily employed for all the general purpose applications that require high-performance computational power, because their highly parallel structure makes them more effective than general-purpose CPUs for algorithms where processing of large blocks of data is done in parallel. GPUs are becoming a valid alternative to the classic CPU-based supercomputer clusters also for the improved energy-consumption/performance ratio and their lower cost.  GPUs are used in embedded systems, mobile phones, personal computers, workstations, and game consoles.

The aim of the course is to provide students with a general overview about this emerging multi-core parallel computing architecture. The objectives of this course are:

  • gaining understanding of GPU computer architecture,
  • getting familiar with GPU programming environments,
  • implementing programs solving problems that would classically have been run on supercomputers

Basic notions of Computer Architectures and a good knowledge of C programming are expected, as all the programming will use environments building on C.

Subject of course

The course will start with an introduction on the modern GPU architectures, by tracing the evolution from the SIMD (Single Instruction, Multiple Data) architecture to the current architectural features and by discussing the trends for the future. We then will explore the two main Programming Models: CUDA and OpenCL. Real case studies will expose students to the potential applications of this technology. A final project will give them the possibility to make a concrete experience of the concepts taught, to solve a modest GPU programming problem that will be assigned by the teacher or proposed by the student, to present it at the end to the class. This is the
list of the main topics of the course:

  • GPU Architectures (NVIDIA Fermi, NVIDIA Kepler, ATI/AMD)
  • CUDA Programming Model
  • OpenCL Programming Model
  • Case Studies (Graph exploration, Path Planning, Curvature Analysis, Signal Processing, PDE Solvers)
  • Optimizing GPU performance

Registration

The enrollment can be performed using TISS. The enrollment will be close on February 28th, 2019. The max number of students for this course is 15. Please register soon !!! The first lecture will start on 6th of March in the Seminarraum Techn. Informatik.

Additional information

ECTS-Breakdown: 6 ECTS = 150 Hours 

  • 1 h - Introduction to the Course
  • 1 h - Group formation
  • x h - Development of project idea and brainstorming
  • 20 h - Lessons on GPU Computing and Architecture
  • 1 h - Workshop 1 - Project proposal presentation
  • 1 h - Workshop 2 - Project results presentation
  • 100 h - Project Work
  •   20 h - Project discussion 

Some Resources:

  • Wen-Mei W. Hwu, GPU Computing GEMS, Emerald Edition, NVIDIA
  • Jason Sanders and Edward Kandrot, CUDA by Example: An Introduction to General-Purpose GPUProgramming
  • Wen-mei W. Hwu, Programming Massively Parallel Processors: A Hands-on Approach
  • E. Bartocci, E. Cherry, J. Glimm, R. Grosu, S.A. Smolka, and F. Fenton. Toward Real-time Simulation of Cardiac Dynamics. In CMSB 2011: Proceedings of the 9th ACM International Conference on Computational Methods in Systems Biology, Paris, France, September 21-23, pages 103-110. ACM, 2011.
  • A. Murthy, E. Bartocci, F. Fenton, J. Glimm, R. Gray, S.A. Smolka, and R. Grosu. Curvature Analysis of Cardiac Excitation Wavefronts. In CMSB 2011: Proceedings of the 9th ACM International Conference on Computational Methods in Systems Biology, Paris, France, September 21-23, pages 151-160. ACM, 2011.

Lecturers

Institute

Course dates

DayTimeDateLocationDescription
Tue09:00 - 11:0012.03.2019 - 25.06.2019Seminarraum Techn. Informatik GPU Computing and Architecture
Wed11:00 - 13:0013.03.2019 - 26.06.2019Seminarraum Techn. Informatik GPU Computing and Architecture
GPU Architectures and Computing - Single appointments
DayDateTimeLocationDescription
Tue12.03.201909:00 - 11:00Seminarraum Techn. Informatik GPU Computing and Architecture
Wed13.03.201911:00 - 13:00Seminarraum Techn. Informatik GPU Computing and Architecture
Tue19.03.201909:00 - 11:00Seminarraum Techn. Informatik GPU Computing and Architecture
Wed20.03.201911:00 - 13:00Seminarraum Techn. Informatik GPU Computing and Architecture
Tue26.03.201909:00 - 11:00Seminarraum Techn. Informatik GPU Computing and Architecture
Wed27.03.201911:00 - 13:00Seminarraum Techn. Informatik GPU Computing and Architecture
Tue02.04.201909:00 - 11:00Seminarraum Techn. Informatik GPU Computing and Architecture
Wed03.04.201911:00 - 13:00Seminarraum Techn. Informatik GPU Computing and Architecture
Tue09.04.201909:00 - 11:00Seminarraum Techn. Informatik GPU Computing and Architecture
Wed10.04.201911:00 - 13:00Seminarraum Techn. Informatik GPU Computing and Architecture
Tue30.04.201909:00 - 11:00Seminarraum Techn. Informatik GPU Computing and Architecture
Tue07.05.201909:00 - 11:00Seminarraum Techn. Informatik GPU Computing and Architecture
Wed08.05.201911:00 - 13:00Seminarraum Techn. Informatik GPU Computing and Architecture
Tue14.05.201909:00 - 11:00Seminarraum Techn. Informatik GPU Computing and Architecture
Wed15.05.201911:00 - 13:00Seminarraum Techn. Informatik GPU Computing and Architecture
Tue21.05.201909:00 - 11:00Seminarraum Techn. Informatik GPU Computing and Architecture
Wed22.05.201911:00 - 13:00Seminarraum Techn. Informatik GPU Computing and Architecture
Tue28.05.201909:00 - 11:00Seminarraum Techn. Informatik GPU Computing and Architecture
Wed29.05.201911:00 - 13:00Seminarraum Techn. Informatik GPU Computing and Architecture
Tue04.06.201909:00 - 11:00Seminarraum Techn. Informatik GPU Computing and Architecture

Course registration

Begin End Deregistration end
04.02.2019 10:00 17.03.2019 23:59 17.03.2019 23:59

Curricula

Study CodeObligationSemesterPrecon.Info
066 645 Data Science Not specified
066 932 Visual Computing Mandatory elective
066 937 Software Engineering & Internet Computing Mandatory elective
066 938 Computer Engineering Mandatory elective

Literature

No lecture notes are available.

Previous knowledge

  • VU Algorithmen und Datenstrukturen 1
  • VU Algorithmen und Datenstrukturen 2
  • 182.695 LU Digital Design and Computer Architecture
  • 182.709 UE Operating Systems
  • 351.015 VU Signals and Systems 1
  • 389.055 VU Signals and Systems 2

Preceding courses

Miscellaneous

Language

English