Scientific Computing course in Delft

Scientific Computing Course for the ESRs of the WAKEUPCALL project Organized by VORtech and TU Delft - TU Delft, Faculty EEMCS, October 3-7, 2016.
  • When Oct 03, 2016 09:15 AM to Oct 07, 2016 01:30 PM (Europe/Amsterdam / UTC200)
  • Where Technical University Delft
  • Add event to calendar iCal

Introduction


In this one-week course, we will explain the basic principles of parallel programming and scientific software engineering. We combine this with showing many examples and let you practice with them in our lab room. We will particularly focus on GPU computing and scientific software engineering with Python. After this course you should be able to make adequate scientific computing programs in Python/CUDA, which can be run on both CPU and GPU.

Practical information

  • Location: TU Delft, Faculty EEMCS, Mekelweg 4, 2628 CD Delft.

       o Lectures: Dijkstrazaal (HB09.150) and Snijderzaal (LB01.010).
       o Lab sessions: Lab room on the fifth floor (next to HB05.140).
       o Lunch: Elektron (HB01).

  • Date: October 3-7, 2016.
  • Teachers:

       o Prof.dr.ir. Kees Vuik,
       o Ir. Kees Lemmens,
       o Dr. Matthias Möller,
       o Dr.ir. Ruurd Dorsman.

Program

Monday, October 3, 2016

09:15 - 09:30 Arrival with coffee and tea

09:30 - 10:30 Parallel computing on GPUs (prof.dr.ir. C. Vuik)

10:45 - 11:30 GPU’s design and architecture (ir. C.W.J. Lemmens)

11:45 - 12:30 Lab 1: CUDA introduction (ir. C.W.J. Lemmens)

12:45 - 13:30 Lunch

13:30 - 14:45 Lab 2: Using CuBlas, CuFFT (ir. C.W.J. Lemmens)

15:00 - 16:30 Lab 3: Debugging and Profiling (ir. C.W.J. Lemmens)

Tuesday, October 4, 2016

09:15 - 09:30 Arrival with coffee and tea

09:30 - 10:30 Paralution (prof.dr.ir. C. Vuik)

10:45 - 11:30 Parallel solvers on GPUs (dr. Matthias Möller)

11:45 - 12:30 Lab 4: Shared memory, streams, atomics (ir. C.W.J. Lemmens)

12:45 - 13:30 Lunch

13:30 - 14:45 Lab 5: Optimizing code: Inner product (ir. C.W.J. Lemmens)

15:00 - 16:30 Lab 6: Solvers on GPU (dr. Matthias Möller)

16:30 - 17:00 Lab 7: Playing around on Jetson Tegra K1 (ir. C.W.J. Lemmens)

Wednesday, October 5, 2016

09:15 - 09:30 Arrival with coffee and tea

09:30 - 10:30 Python refresher (dr.ir. R. Dorsman)

10:45 - 11:30 Introduction to Scientific Software Engineering (dr.ir. R. Dorsman)

11:45 - 12:30 Clean code and refactoring (dr.ir. R. Dorsman)

12:45 - 13:30 Lunch

13:30 - 14:45 Lab 8: Refactoring existing Python code (dr.ir. R. Dorsman)

15:00 - 16:30 Lab 9: Writing new Python code (dr.ir. R. Dorsman)

Thursday, October 6, 2016

09:15 - 09:30 Arrival with coffee and tea

09:30 - 10:30 Software design and testing (dr.ir. R. Dorsman)

10:45 - 11:30 Version control and documentation (dr.ir. R. Dorsman)

11:45 - 12:30 Code design for case study (dr.ir. R. Dorsman)

12:45 - 13:30 Lunch

13:30 - 16:30 Lab 10: Python coding for case study (dr.ir. R. Dorsman)

Friday, October 7, 2016

09:15 - 09:30 Arrival with coffee and tea

09:30 - 12:00 Presentations on case study results, discussion (dr.ir. R. Dorsman)

12:00 - 12:30 Take home message (dr.ir. R. Dorsman)

12:45 - 13:30 Lunch & Goodbye

Preliminaries

The material below is important to study as a preparation for the course.
1. The course material from the “Crash Course on Python” you have attended: https://sites.google.com/site/crashcourseonpython/home
2. The concise “Crash Course in C”: http://www.mattababy.org/~belmonte/Teaching/CCC/CrashCourseC.html
3. “An Easy Introduction to CUDA C and C++”:
https://devblogs.nvidia.com/parallelforall/easy-introduction-cuda-c-and-c/
4. The interactive online labs “Introduction to Accelerated Computing” and “Accelerating Applications with CUDA Python”:
https://nvidia.qwiklab.com/learning_paths/6/lab_catalogue

Notes

  • We expect that the WAKEUPCALL ESRs will be present at all days of the course.
  • The ESRs are expected to have studied the preliminary materials as mentioned above before they attend the course.
  • The first two days of the course is a separate GPU course that is also open for other students and practitioners.
  • The last three days of the course is only accessible by the ESRs of the WAKEUPCALL project.
  • The case study on October 6-7 will be based on a Monte-Carlo simulation carried out in Python. Groups consisting of two participants will be formed that will work on the case study.

Accommodation

If you wish to stay in a hotel in Delft, you may consider the following options:

  • Hampshire Hotel Delft Centre, 015-2122125, reservations@hoteldelftcentre.nl, hoteldelftcentre.nl, Koepoortplaats 3, 2612 RR Delft;
  • Hotel Leeuwenbrug, 015-2147741, sales@leeuwenbrug.nl, leeuwenbrug.nl, Koornmarkt 16, 2611 EE Delft;
  • Museum Hotel Best Western, 015-2153070, info@museumhotel.nl, museumhotels.nl, Oude Delft 189, 2611 HD Delft;
  • Hotel De Plataan, 015-2126046, info@hoteldeplataan.nl, hoteldeplataan.nl, Doelenplein 10, 2611 BP Delft.
  • Westcord hotel, 015-8889010, delft@westcordhotels.nl, westcordhotels.nl, Olof Palmestraat 2, 2616LM Delft.

Registration procedure

Please register yourself by going to the website: https://www.aanmelder.nl/gpucourse_october_2016/subscribe?survey_id=76310

  • Fill in your personal information.
  • Select “I will attend the GPU course: Both Days (Day 1 and Day 2)”.
  • Select “Entrance price including lunch and course material (specifically for members of the Wakeupcall project, will be charged separately, includes three more course days)”.
  • Press the “Verzenden” button.
  • ESR of WAKEUPCALL: €250 (excluding VAT);
  • Other participants: €500 (excluding VAT).

 

This covers all lunches, drinks, and course material. An invoice will be sent to your department/ university.
The maximum number of participants of the full course is 10.

Contact

  • Please contact Dr.ir. Jok Tang (jok.tang@vortech.nl or +316 3333 0844), if you have any questions/comments regarding this course.