Start: Monday, 08 April 2019 @ 07:00

End: Thursday, 11 April 2019 @ 16:00

Description:

The registration to this course is now open.

All PATC Courses at BSC do not charge fees.

PLEASE BRING YOUR OWN LAPTOP.

Local Web Page: This course will provide very good introduction to the PUMPS Summer School run jointly with NVIDIA -also  at Campus Nord, Barcelona. For further information visit the school website  as this school has attendee selection process.
You may also be interested in our Introduction to OpenACC course.

Convener: 
Antonio Peña, Computer Sciences Senior Researcher, Accelerators and Communications for High Performance Computing, BSC

Objectives: 

The aim of this course is to provide students with knowledge and hands-on experience in developing applications software for processors with massively parallel computing resources. In general, we refer to a processor as massively parallel if it has the ability to complete more than 64 arithmetic operations per clock cycle. Many commercial offerings from NVIDIA, AMD, and Intel already offer such levels of concurrency. Effectively programming these processors will require in-depth knowledge about parallel programming principles, as well as the parallelism models, communication models, and resource limitations of these processors.

Agenda:

DAY 1

Session 1 / 9:00am – 1:00 pm (3:30 h lectures)

L1 9:00-10:45 The GPU hardware: Many-core Nvidia developments

10:45-11:15 Coffee break

L2 11:15-13:00 CUDA Programming: Threads, blocks, kernels, grids

13:00-14:00 Lunch break

 

Session 2 / 2:00pm – 6:00 pm (3:30 h lectures)

L3 14:00-15:45 CUDA Tools: Compiling, debugging, profiling, occupancy calculator

15:45-16:15 Coffee break

L4 16:15-18:00 CUDA Examples(1): VectorAdd, Stencil, ReverseArray

 

DAY 2

Session 3 / 9:00am – 1:00 pm (3:30 h lectures)

L5   9:00-10:45 CUDA Examples (2): Matrices Multiply. Assorted optimizations

10:45-11:15 Coffee break

L6 11:15-13:00 CUDA Examples (3): Dynamic parallelism, Hyper-Q, unified memory

13:00-14:00 Lunch break

 

Session 4 / 2:00pm – 6:00 pm (3:30 h practical)

H1 14:00-15:45 Hands-on Lab 1

15:45-16:15 Coffee break

H2 16:15-18:00 Hands-on Lab 2

 

DAY 3

Session 5 / 9:00am – 1:00 pm (3:30 h lectures)

L7 9:00-10:45 Inside Pascal: Multiprocessors, stacked memory, NV-link

10:45-11:15 Coffee break

L8 11:15-13:00 OpenACC and other approaches to GPU computing

13:00-14:00 Lunch break

 

Session 6 / 2:00pm – 6:00 pm (3:30 h practical)

H3 14:00-15:45 Hands-on Lab 3

15:45-16:15 Coffee break

H4 16:15-18:00 Hands-on Lab 4

 

DAY 4

Session 7 / 9:00am – 1:00 pm (3:30 h practical)

H5 9:00-10:45 Hands-on Lab 5

10:45-11:15 Coffee break

H6 11:15-13:00 Hands-on Lab 6

13:00-14:00 Lunch break

 

Session 8 / 2:00pm – 6:00 pm (3:30 h practical)

H7 14:00-15:45 Hands-on Lab 7

 15:45-16:15 Coffee break

H8 16:15-18:00 Free Hands-on Lab

End of Course

The target audiences of the course are students who want to develop exciting applications for these processors, as well as those who want to develop programming tools and future implementations for these processors.

Level: INTERMEDIATE: for trainees with some theoretical and practical knowledge; those who finished the beginners course

ADVANCED: for trainees able to work independently and requiring guidance for solving complex problems

Prerequisites: Basics of C programming and concepts of parallel processing will help, but are not critical to follow the lectures.
https://events.prace-ri.eu/event/768/

Event type:
  • Workshops and courses
Introduction to CUDA Programming @ BSC https://tess.elixir-europe.org/events/introduction-to-cuda-programming-bsc-865fc5e1-a20d-4615-a4ea-a964fcd15bf5 The registration to this course is now open. All PATC Courses at BSC do not charge fees. PLEASE BRING YOUR OWN LAPTOP. Local Web Page: This course will provide very good introduction to the PUMPS Summer School run jointly with NVIDIA -also  at Campus Nord, Barcelona. For further information visit the school website  as this school has attendee selection process. You may also be interested in our Introduction to OpenACC course. Convener:  Antonio Peña, Computer Sciences Senior Researcher, Accelerators and Communications for High Performance Computing, BSC Objectives:  The aim of this course is to provide students with knowledge and hands-on experience in developing applications software for processors with massively parallel computing resources. In general, we refer to a processor as massively parallel if it has the ability to complete more than 64 arithmetic operations per clock cycle. Many commercial offerings from NVIDIA, AMD, and Intel already offer such levels of concurrency. Effectively programming these processors will require in-depth knowledge about parallel programming principles, as well as the parallelism models, communication models, and resource limitations of these processors. Agenda: DAY 1 Session 1 / 9:00am – 1:00 pm (3:30 h lectures) L1 9:00-10:45 The GPU hardware: Many-core Nvidia developments 10:45-11:15 Coffee break L2 11:15-13:00 CUDA Programming: Threads, blocks, kernels, grids 13:00-14:00 Lunch break   Session 2 / 2:00pm – 6:00 pm (3:30 h lectures) L3 14:00-15:45 CUDA Tools: Compiling, debugging, profiling, occupancy calculator 15:45-16:15 Coffee break L4 16:15-18:00 CUDA Examples(1): VectorAdd, Stencil, ReverseArray   DAY 2 Session 3 / 9:00am – 1:00 pm (3:30 h lectures) L5   9:00-10:45 CUDA Examples (2): Matrices Multiply. Assorted optimizations 10:45-11:15 Coffee break L6 11:15-13:00 CUDA Examples (3): Dynamic parallelism, Hyper-Q, unified memory 13:00-14:00 Lunch break   Session 4 / 2:00pm – 6:00 pm (3:30 h practical) H1 14:00-15:45 Hands-on Lab 1 15:45-16:15 Coffee break H2 16:15-18:00 Hands-on Lab 2   DAY 3 Session 5 / 9:00am – 1:00 pm (3:30 h lectures) L7 9:00-10:45 Inside Pascal: Multiprocessors, stacked memory, NV-link 10:45-11:15 Coffee break L8 11:15-13:00 OpenACC and other approaches to GPU computing 13:00-14:00 Lunch break   Session 6 / 2:00pm – 6:00 pm (3:30 h practical) H3 14:00-15:45 Hands-on Lab 3 15:45-16:15 Coffee break H4 16:15-18:00 Hands-on Lab 4   DAY 4 Session 7 / 9:00am – 1:00 pm (3:30 h practical) H5 9:00-10:45 Hands-on Lab 5 10:45-11:15 Coffee break H6 11:15-13:00 Hands-on Lab 6 13:00-14:00 Lunch break   Session 8 / 2:00pm – 6:00 pm (3:30 h practical) H7 14:00-15:45 Hands-on Lab 7  15:45-16:15 Coffee break H8 16:15-18:00 Free Hands-on Lab End of Course The target audiences of the course are students who want to develop exciting applications for these processors, as well as those who want to develop programming tools and future implementations for these processors. Level: INTERMEDIATE: for trainees with some theoretical and practical knowledge; those who finished the beginners course ADVANCED: for trainees able to work independently and requiring guidance for solving complex problems Prerequisites: Basics of C programming and concepts of parallel processing will help, but are not critical to follow the lectures. https://events.prace-ri.eu/event/768/ 2019-04-08 07:00:00 UTC 2019-04-11 16:00:00 UTC [] [] [] workshops_and_courses [] []