Trip report: GPU Programming @ UERJ Felice Pantaleo SFT Group Meeting 03/11/2014 Felice Pantaleo SFT Group Meeting 03/11/2014.

Post on 11-Jan-2016

213 Views

Category:

Documents

3 Downloads

Preview:

Click to see full reader

Transcript

Trip report:GPU Programming @ UERJ

Felice Pantaleo

SFT Group Meeting03/11/2014

Eplanet visit

Host institute: Universidade do Estado do Rio de Janeiro (UERJ)Duration: Two-weeks long visit from Oct 6th to 17thTopic: GPU Programming

felice.pantaleo@cern.ch 2

First week

• Dedicated to installation of two nodes with two NVIDIA GTX 650

• CUDA 6.5 installed• IT specialists learning about

configuration and capabilities• Introductory questionnaire sent to

students in order to get to know them and tailor the lectures

felice.pantaleo@cern.ch 3

Questionnaire

felice.pantaleo@cern.ch 4

Yes

No

0 1 2 3 4 5 6 7

Have you ever attended a Paral-lel Programming course?

Questionnaire

felice.pantaleo@cern.ch 5

Yes

No

0 1 2 3 4 5 6 7 8

Have you ever attended a GPU programming course be-fore?

Questionnaire

felice.pantaleo@cern.ch 6

Master

Good

Average

Poor

None

0 1 2 3 4 5

What is your C/C++ knowledge?

Questionnaire

felice.pantaleo@cern.ch 7

Computing Eng.

Computer Science

Mathematics

Physics

0 1 2 3 4 5 6 7

What is your field of work/study?

Parallel Programming intro

Introduction on Parallel Programming: motivations, architectures and algorithms.• Reasons Computing Systems are

becoming more and more parallel and heterogeneous were explained.

felice.pantaleo@cern.ch 8

Introduction to GPU Programming using CUDA

• Introduce through examples, based on the CUDA programming language, the three abstractions that make the foundations of GPU programming:

- Thread hierarchy- Synchronization- Memory hierarchy/Shared Memory

felice.pantaleo@cern.ch 9

Load Balancing and Partitioning

• The aim was to make the students understand the relationship between a domain problem and the computational models available.

• Techniques to reduce the Streaming Multiprocessors idle time by making use of dynamic scheduling and dynamic partitioning were shown.

felice.pantaleo@cern.ch 10

Hands-on

• Duration: 10 hours• GPU Memory management: allocation,

data transfer between host and device, synchronization

• Kernel launch: offload of a parallel section to the GPU

• Partitioning of a problem to the GPU threads

• Profiling of a CUDA applicationfelice.pantaleo@cern.ch 11

Hands-on

• Making use of the GPU shared memory• Making use of Asynchronous operations• Reducing contention by privatization• Scatter to gather• Filling histograms on GPUsThe interest was so high that many of the students kept working on the exercises from home!

felice.pantaleo@cern.ch 12

Feedback

• The students were asked to give some feedback using an anonymous questionnaire (see backup)

• Very positive feedback

felice.pantaleo@cern.ch 13

Conclusion

• All goals that were set before the visit were achieved

• Language was sometimes a problem– Italian helped ;-)

• Interest in preparing a degree thesis on the topic of parallel computing for high energy physics experiment in the context of the host group

• Didactic material available:https://twiki.cern.ch/twiki/bin/view/Sandbox/EplanetPantaleoUERJ2014

felice.pantaleo@cern.ch 14

Didactic Material

• I am starting the initiative of collecting GPU Training material with some people from the HPC community (Cambridge, CINECA, BSC)– Could be done in the context of the

Concurrency Forum– Common github resource for trainers– Expertise acquisition from HPC

community (GPUs for linear algebra, OpenACC)

felice.pantaleo@cern.ch 15

Backup

felice.pantaleo@cern.ch 16

Anonymous Feedback

felice.pantaleo@cern.ch 17

Totally Positive

Positive

Negative

Totally Negative

0 1 2 3 4 5

Is your background sufficient to enable you to comprehend the course topics?

Anonymous Feedback

felice.pantaleo@cern.ch 18

Totally Positive

Positive

Negative

Totally Negative

0 1 2 3 4 5 6

Does the instructor encourage and motivate students?

Anonymous Feedback

felice.pantaleo@cern.ch 19

Totally Positive

Positive

Negative

Totally Negative

0 1 2 3 4

Does the instructor explain the course topics clearly?

Anonymous Feedback

felice.pantaleo@cern.ch 20

Totally Positive

Positive

Negative

Totally Negative

0 1 2 3 4 5 6 7

Is the instructor available for any clarification and additional explanation?

Anonymous Feedback

felice.pantaleo@cern.ch 21

Improve the quality of the didactic materials

Provide extensive background

Less lectures, more exercises

More lectures, less exercises

0 1 2 3

Suggestions for improvement:

Anonymous Feedback

felice.pantaleo@cern.ch 22

Totally Positive

Positive

Negative

Totally Negative

0 1 2 3 4 5

What is your overall appreciation for the course?

top related