Monday November 23, 2020

Session:
Welcome

Welcome - Carlos Osuna

Performance, Portability and Productivity - Rupert Ford

Introduction to DSLs - Carlos Osuna

Setup - Andrew Porter & Matthias Röthlin

Lunch Break

Session:
Introduction to PSyclone, PSyIR and fparser

An Introduction to PSyclone - Andrew Porter

PSyIR: The PSyclone Internal Representation - Sergi Siso

Hands-on: Fparser2 and PSyIR tutorial - Rupert Ford

Coffee Break

Session:
LFRic

LFRic: Introduction - Iva Kavcic

Hands-on: Kernels, Built-ins, Time-permitting - Iva Kavcic

 

Tuesday November 24, 2020

Session:
The PSyData API

PSyclone's PSyData API - Joerg Henrichs

Hands-on: Read-only, Extractions, NaN checking - Joerg Henrichs

Coffee Break
Session:
Distributed memory in LFRic

PSyclone LFRic distributed memory support - Rupert Ford

Hands-on: Going parallel, Annexed dofs, Asynchrounus comms, Reductions - Rupert Ford

Lunch Break

Session:
Shared-Memory parallelisation in LFRic

PSyclone LFRic single node support - Rupert Ford

Hands-on: OpenMP, OpenACC, Sequential optimizations - Rupert Ford

Coffee Break

Session:
PSyclone for NEMO I

PSyclone and NEMO Tutorial - Agenda - Andrew Porter

Overview of Using PSyclone with NEMO - Andrew Porter

Hands-on: applying PSyclone to the tracer-advection mini-app - Andrew Porter

PSyclone Transformations for NEMO - Andrew Porter

Hands-on: Using PSyclone to add profiling to the mini-app - Andrew Porter

 

Wednesday November 25, 2020

Session:
PSyclone for NEMO II

Hands-on: Adding OpenMP to the mini-app - Andrew Porter

Hands-on: Adding OpenACC to the mini-app - Andrew Porter

Coffee Break

Session:
PSyclone Outlook

PSyclone and Existing Applications - Joerg Henrichs

Expanding PSyclone target language to leverage the wider HPC software ecosystem - Sergi Siso

Investigating Interoperability - Rupert Ford

PSyclone: What you've learned (hopefully) - Andrew Porter

 

Lunch Break

Session:
Introduction to dawn

Introduction to dawn - Motivation, History, Future - Benjamin Weber

Prerequisites - Models, Meshes, Vector Analysis - Matthias Röthlin

Integration - Matthias Röthlin

Coffee Break

Session:
dusk Hello World

Introduction to dusk - Benjamin Weber

Hands-on: Tools Intro - Benjamin Weber

 

Thursday November 26, 2020

Session:
Basic Concepts on Unstructured Meshes

dusk & dawn - Basic Concepts - Matthias Röthlin

Coffee Break

Session:
Differential Operators and Laplacian

Hands-on: dusk & dawn - Differential Operators - Matthias Röthlin

Hands-on: dusk & dawn - Vector Laplacian - Matthias Röthlin

Lunch Break

Session:
Advanced Concepts on
Unstructured Meshes I

dusk & dawn - Advanced Concepts I - Matthias Röthlin

Hands-on: dusk & dawn - Diffusion - Matthias Röthlin

Coffee Break

Session:
Advanced Concepts on
Unstructured Meshes I
I

dusk & dawn - Advanced Concepts II - Matthias Röthlin

Parallel Model and Vertical Solvers - Matthias Röthlin

Hands-on: dusk & dawn - Shallow Water - Matthias Röthlin

 

Friday November 27, 2020

Session:
Performance I

Performance I & II - Giacomo Serafini

Coffee Break

Session:
Performance II

Performance III - Giacomo Serafini

Hands-on: Performance - Giacomo Serafini
Lunch Break

Session:
Summary and wrap up

 

List of speakers:
Carlos Osuna (MeteoSwiss, CH)
Rupert Ford (STFC Hartree Centre, UK)
Andrew Porter (STFC Hartree Centre, UK)
Matthias Röthlin (MeteoSwiss, CH)
Sergi Siso (STFC Hartree Centre, UK)
Iva Kavcic (Met Office, UK)
Joerg Henrichs (Australian Bureau of Meteorology, AU)
Sergi Siso (STFC Hartree Centre, UK)
Benjamin Weber (MeteoSwiss, CH)
Matthias Röthlin (MeteoSwiss, CH)
Giacomo Serafini (MeteoSwiss, CH)