Mar 23 – 26, 2020
Porto, Portugal
Europe/Lisbon timezone

PRACEdays20 Hands-on Workshops for Students

 

From 23 -27 March 2020, PRACE will organise 7th edition of Scientific and Industrial Conference – PRACEdays20 – as part of the EuroHPC Summit Week, in Porto, Portugal.

PRACE organises once again five student workshops as part of the EuroHPC Summit Week Programme. The call for applications is now open to the hands-on workshops for students. The call will close by 24 January 2020. PRACE also encourages students from outside Portugal to apply for a student travel grant.

The training workshops will take place in the afternoon of Wednesday 25 March 2020  from about 13:30 to 18:00 at the hotel Sheraton Porto.

We encourage you to register for the hands-on workshops, indicating your preferred workshops topics from list below. Please note that the workshops run in parallel. You can change from workshop to another only in workshops 1 through 4. The 5th workshop is a full half-day workshop.

  1. Deep Learning with Tensorflow, Keras and Python
  2. Machine Learning with scikit-learn and Python
  3. Fundamentals of Accelerated Computing with OpenACC
  4. Fundamentals of Accelerated Computing with CUDA C/C++
  5. Tutorial: A Source-to-source Compiler + DSL-based Approach for Performance Optimization of HPC Applications (CANCELLED due to lack of sufficient amount of  participants)

We also encourage you to attend all EuroHPC Summit Week plenary sessions at the Porto Pálacio Congress Hotel & Spa.

For whom

Master students, PhD students, postdoctoral researchers, other students and researchers. Participants can also submit a poster and present it during the poster session on Tuesday 24 March from 18:00 to 21:00 at the conference venue, the Porto Pálacio Congress Hotel & Spa.

Where

Hotel Sheraton Porto, Portugal, Rooms Ariane 1 + 2
Rua Tenente Valadim, 146, Lordelo do Ouro e Massarelos, 4100-476 Porto, Portugal

Travel grant

PRACE offers free registration to the conference, training workshops and social programme. Reimbursement of travel costs of students studying and living outside Portugal will be arranged. Number of travel grants is limited, to 30 students coming outside of Portugal and max 400€/person. Few grants are still available. Travel grant application should include an existing student card or equivalent student ID and CV.

The DL for the travel grant application is extended to 24 January 2020, there are some grants still available. The application selection takes place in early January and the confirmation of the approved application as well as the travel grant for students will be confirmed by the end of January to each student personally. Additionally, as a condition for the grant, all the selected students are kindly asked to register in at the venue on 24 March by 4 PM and attend the “Pitch your scientific work!” workshop on the 24 March at 16:30.

Deadlines

The Call extended to 24 January at 17:00 CET.

The students will receive a confirmation of accepted application
by the end of January 2020 and should confirm their travel plans.

For more information, please contact us at hands-on@prace-ri.eu.

Online registration

https://events.prace-ri.eu/event/937/registrations/703/


Please note that after your acceptance letter you should register to the
conference as an attendee
 https://www.eiseverywhere.com/ehpcsw2020
and select

the Pitch your research course on Tuesday 24 March

the Hands on workshops on Wednesday 25 March

Please indicate also your participation in the social events. 

 


Please see a detailed overview of the Hands-on Workshops here:

Workshop 1

Title: Deep Learning with Tensorflow, Keras and Python
Time slot: 13.30- 15:30
Room: Ariane 1, Sheraton, Porto

Target audience
Anyone interested in using Tensorflow and Keras to build and train Deep Neural Networks

Brief description
Learn how to use Tensorflow and Keras to build own Deep Neural Networks (DNNs) and train them in the HPC realm. We will explain how DNNs work in a nutshell and provide hands-on examples you can use as starting point after the course for your own projects.

Furthermore, we will discuss the differences to train on different HPC architectures (CPU and GPU). We will also give you an overview on the metrics used to evaluate the performance of DNNs and share best known methods with you on how to prepare training data sets for best performance.

Prerequisites
Basic Python knowledge

Requirements (hardware, HPC access)
Own laptop

Instructor
Georg Zitzlsberger, IT4Innovations

 

Workshop 2

Title: Machine Learning with scikit-learn and Python

Time slot: 15:45- 17:45

Room: Ariane 1, Sheraton Porto

Target audience
Anyone interested in using scikit-learn

Brief description
Learn how to use the most important Machine Learning (ML) methods scikit-learn offers, such as classification, clustering, regression, dimensionality reduction and visualization.

For every category, we will provide hands-on examples from different problem domains. We also visualize and explain the most important ML methods to help you decide where to use them for your own projects. Last but not least, we show you what's needed to run ML with scikit-learn efficiently on HPC architectures.

Prerequisites
Basic Python knowledge

Requirements (hardware, HPC access)
Own laptop

Instructor
Georg Zitzlsberger, IT4Innovations

Workshop 3

Title: Fundamentals of Accelerated Computing with OpenACC
Time slot: 13:30-15:30
Room: Ariane 2, Sheraton Porto

Target audience
Anyone interested in accelerated computing

Brief description
In this workshop you learn the basics of OpenACC, a high-level programming language for programming on GPUs. Discover how to accelerate the performance of your applications beyond the limits of CPU-only programming with simple pragmas. In this workshop, you will learn:

  • How to profile and optimise your CPU-only applications to identify hot spots for acceleration
  • How to use OpenACC directives to GPU accelerate your codebase
  • How to optimise data movement between the CPU and GPU accelerator

Upon completion, you will be ready to use OpenACC to GPU accelerate CPU-only applications. The lectures are interleaved with many hands-on sessions using Jupyter notebooks on fully configured GPU-accelerated cloud resources.

The workshop is co-organised by LRZ, PRACE and NVIDIA Deep Learning Institute (DLI).

Prerequisites
basic knowledge in C/C++ or Fortran

Requirements
Own laptop with a web browser

Lecturer
Dr. Volker Weinberg (Leibniz Supercomputing Centre, Germany)

 

Workshop 4

Title: Fundamentals of Accelerated Computing with CUDA C/C++
Time slot: 15:45–17:45
Room: Ariane 2,  Sheraton Porto

Target audience
Anyone interested in accelerated computing

Brief description
The CUDA computing platform enables the acceleration of CPU-only applications to run on the world’s fastest massively parallel GPUs. Experience C/C++ application acceleration by:

  • Accelerating CPU-only applications, and refactoring them to run in parallel on GPUs
  • Utilizing essential CUDA memory management techniques to optimise accelerated applications
  • Exposing accelerated application potential for concurrency and exploiting it with CUDA streams
  • Leveraging command line and visual profiling to guide and check your work

Upon completion, you will be able to accelerate and optimise existing C/C++ CPU-only applications using the most essential CUDA tools and techniques. You will understand an iterative style of CUDA development that will allow you to ship accelerated applications fast. The lectures are interleaved with many hands-on sessions using Jupyter notebooks on fully configured GPU-accelerated cloud resources.

The workshop is co-organised by LRZ, PRACE and NVIDIA Deep Learning Institute (DLI).

Prerequisites
basic knowledge in C or C++

Requirements
Own laptop with a web browser

Lecturer
Dr. Momme Allalen (Leibniz Supercomputing Centre, Germany)

 

Workshop 5

(cancelled due to lack of participants)

Title: Tutorial: A Source-to-source Compiler + DSL-based Approach for Performance Optimization of HPC Applications
Time slot: 13.30- 17:30
Room: Ariane 3, Sheraton Porto

Target audience
Researchers, students (PhD and MSc), developers, practitioners, performance engineers, and technology decision makers.

Workshop content level
20% beginner, 30% intermediate, 50% advanced

Brief description
Developing and optimizing applications for HPC systems is a challenging problem. They are complex tasks that require mastering several programming languages and tools for performance tuning, which is incompatible with the trend to open HPC infrastructures to a wider range of users. The support of standard languages and APIs is crucial to provide migration paths towards novel heterogeneous HPC platforms as well as to guarantee the ability of developers to work effectively on these platforms.

We developed a DSL-based approach (Clava+LARA) that allows a user to create scripts for analysis and transformation of C/C++ source code, in order to apply strategies regarding extra-functional requirements, such as performance and energy efficiency. We provide a versatile approach that can be easily integrated into existing projects (i.e., by using a CMake plugin).

In this tutorial, through representative case studies and a hands-on approach, we show how our tool flow can effectively assist various development/optimization stages, including application analysis and profiling, code transformations and parallelization.

Goals of the tutorial

  • To provide knowledge about source code optimizations and their application regarding extra-functional requirements;
  • To provide knowledge about how extra-functional requirements can be translated to scripts using the LARA DSL, and how to apply them to source code with the Clava C/C++ source-to-source compiler;
  • Show the advantages of using the Clava+LARA tools and approach regarding: application analysis; custom profiling and instrumentation for power and performance measurements; code transformations and parallelization;

We also call the attention that the DSL and some of the APIs presented can also be used to target other languages (e.g., Java, JavaScript). Thus, attendees are not only acquiring specific knowledge about a specific approach, but a broader knowledge that can be important in other contexts.

Prerequisites

  • Knowledge about programming, especially experience on C and/or C++.
  • Knowledge about HPC platforms, abstract-syntax trees (ASTs) and JavaScript can be useful, but not mandatory.

    Program: The tools used during the tutorial are available at the following sites (by the tutorial there will be updated versions of the tools, of examples, and of documentation):
     
  • [Clava] https://github.com/specs-feup/clava
  • [Clava+LARA] Complete working versions for a sample of examples: https://github.com/specs-feup/specs-lara/tree/master/2018-PACT

Half-Day Tutorial Program

  • Introduction to LARA: 30 min.
  • Overview of the Clava+LARA Toolflow: 30 min.
  • DSL and Source to Source Compilation: the Clava+LARA approach: 30 min.
  • Coffee Break 30 min.
  • Hands on approach using Clava+LARA for Code Analysis, Instrumentation, and Monitoring: 30 min.
  • Hands-on-approach using code transformations and auto-parallelization: 30 min.
  • Use of Clava+LARA and experiments with representative benchmarks: 30 min.

Instructors
João Carlos Viegas Martins Bispo, Pedro Pinto, João MP Cardoso, Jorge Barbosa