PATC Course: Introduction to CUDA Programming

NOTE: PATC courses do not have registration fee but you need to register.

The registration for this course opens on 1st of October 2013.

PLEASE BRING YOUR OWN LAPTOP.

This course is delivered by the CUDA Center of Excellence (CCOE) awarded by NVIDIA to the Barcelona Supercomputing Center (BSC) in association with Universitat Politecnica de Catalunya (UPC).

 

Date: 
Monday, 2 June, 2014 - 09:00 to Friday, 6 June, 2014 - 18:00
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. 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.

Learning Outcomes:

The students who finish this course will learn how to program massively parallel processors and achieve high performance, functionality, maintainability, and scalability across future generations.

The students who finish this course will acquire technical knowledge required to achieve the above goals by learning principles and patterns of parallel algorithms, processor architecture features and constraints, and programming API, tools and techniques.

Agenda: 

Course Outline:

Day 1

Session 1 / 9am - 1 pm: (3h lectures with 5 min breaks on the hour)

  1. Introduction to CUDA
  2. CUDA Threading Model (I)
  3. CUDA Threading Model (II)

Lunch Break (1pm to 2pm)

Session 2 / 2 pm- 6 pm: (3h practical session)

Lab exercises

Day 2

Session 3 / 9am- 1 pm: ((3h lectures with 5 min breaks on the hour))

  1. CUDA Memory Model
  2. Matrix Multiplication – Shared Memory
  3. 2D Convolution – Constant Memory

Lunch Break (1pm to 2pm)

Session 4 / 2 pm- 6 pm: (3h practical session)

Lab exercises

Day 3

Session 5 / 9am- 1 pm: ((3h lectures with 5 min breaks on the hour))

  1. CUDA Memory Model
  2. Matrix Multiplication – Shared Memory
  3. 2D Convolution – Constant Memory

Lunch Break (1pm to 2pm)

Session 6 / 2 pm- 6 pm: (3h practical session)

Lab exercises

Day 4

Session 7 / 9am- 1 pm: (3h practical session)

  1. Parallel Reductions
  2. Memory Bandwidth Considerations
  3. Prefix Scan

Lunch Break (1pm to 2pm)

Session 8 / 2 pm- 6 pm: (3h practical session)

Lab exercises

Day 5

Session 9 / 9am - 1 pm: (3h lectures with 5 min breaks on the hour)

MPI and Multi-GPU programming

Lunch Break (1pm to 2pm)

Session 10/ 2 pm- 6 pm: (3h practical session)

Lab exercises

END of COURSE

Target group: 

Level: BEGINNERS: for trainees from different background or very little knowledge (All courses are designed for specialists with at least finished 1st cycle degree)

Venue: 

The course will take place in Barcelona Supercomputing Centre, within the UPC Campus Nord premises,

Room VS219, Vertex Building (green on the map)
S indicates that the room is 2 floors below the entrance level.

How to arrive?: 

From the Airport

Barcelona airport is at 12 Km from the city. More information about Barcelona’s airport: www.aena.es. You can arrive with different transport methods from the airport to BSC:

By taxi
In T1, you will find a taxi stand in the arrivals zone (P0) and in the Barcelona-Madrid air corridor; in T2, opposite terminals T2A, T2B and T2C. If they are available, they will show a green light with the text LIBRE or LLIURE (it means “available”). You can check fees at www.taxibarcelona.cat.

By car
If you rent a car from the airport (T1), please leave “El Prat del Llobregat” and take C-32B. Continue along this route and head towards Ronda de Dalt / Lleida / Girona. Close to Barcelona, take route C-32 passing close to Cornellà del Llobregat and L’Hospitalet. Take B-20 and take Exit 10 called “Carretera d'Esplugues”. Take the street called “carrer del Gran Capità” and turn left towards Jordi Girona street.

By train
There is a Renfe suburban train. The airport station is situated opposite of terminal T2, and is connected to this terminal via an airbridge. There is also a Bus transit service between the Rail station and T1. From the airport to Barcelona Sants there is approximately 20 minutes journey. From this station, take the L3 (green line) in direction to “Zona Universitaria” and get off on the “Palau Reial” stop. You will have a 5-minutes walking distance to arrive to BSC. (www.renfe.es)

By Bus (Aerobus)

Airport stops: Bus stops at Terminal T1 and T2 (A, B, C) 

Downtown stops: This line ends at Plaça Catalunya (city center). Once there, you may take L3 of the underground to "Palau Reial" or "Zona Universitaria" stations.

From the City Centre

Campus Nord of Universitat Politècnica de Catalunya is located at the North-West corner of the city, at the end of the Green Line (L3) of the underground. In order to reach the Campus by public transport, it is advisable to use the underground. There are two stations near to the Campus, “Zona Universitària” and “Palau Reial”, both on L3.

Cost: 

There is no registration fee. The attendees would need to cover the expenses for travel, accommodation and meals. Click to go to suggested accommodation

Requirements: 

Basic knowledge of C/C++ programming

Attendees will need to bring their own laptops with a SSH client

 

Contact Us: 

CONTACT US for further details about MSc, PhD, Post Doc studies, exchanges and collaboration in education and training with BSC.

For further details about Postgraduate Studies in UPC - Barcelona School of Informatics (FiB), visit the website.

Sponsors: 

The PATC@BSc training events are fundey BSC and PRACE 3 IP project.

If you want to learn more about PRACE Project, visit the website.