Skip to main content

NAISS Training Newsletter

No 11, 22 September 2023

– Published 28 September 2023

Welcome to the latest addition of the NAISS training newsletter.    We newly list an introduction to UNIX/LINUX aimed at new users of HPC services.  As a new event in the NAISS training portfolio we have a course on creating publication level data visualisations in Matplotlib.  Courses in MPI and programming formalism are schedule for the second half of November.  We have reminders on the singularity workshop as well as the introduction to R, Python and Julia course.  CodeRefinery is offering a course on Python for Scientific Computing.  We list two event from ENCCS and SciLiveLab has asked us to advertise their Berzelius training event.

Overview

NAISS events

  • Online workshop: “Basic Singularity: Running and Building Singularity Containers”, 6 October 2023
  • Online course “introduction to running R, Python, and Julia in HPC”, 17-19 October 2023
  • Online training seminar: An introduction to the UNIX/LINUX command-line, 25 October 2023 at 13:30
  • Online course: Matplotlib for Publications, 8th November 2023
  • Online course: An introduction to parallel programming using Message Passing with MPI, 21, 22, 28 and 29 November 2023
  • Online Training: Programming Formalisms course, Nov 27 - Dec 1, 09:00-16:00

Online interactive support and discussion forum

  • NAISS Zoom-in - a virtual open-house, 26 October from 14:00 until 15:00

CodeRefinery event

  • Online course: Python for Scientific Computing, 7-10 November, 8:50-12:00 CEST

ENCCS training events

  • Quantum Autumn School, Gothenburg, October 25-27, 9:00-17:00
  • High Performance Programming, online, November 13-15, 9:00-12:00

SciLifeLab/Berzelius training events

  • Online seminar: "Using containers to simplify ML training on Berzelius and other supercomputers: beginner-friendly introduction", 19 October 10:00 - 11:00

NAISS training

Online workshop: Basic Singularity: Running and Building Singularity Containers, 6 October 2023

The online workshop is an introduction to the basic concepts of containerised software environment solutions within the Singularity framework (Sylabs).

During the workshop you will have the opportunity to follow the interactive guide on

  • how to run Singularity containers
  • how to build your own
  • good (and bad) practices on designing and building Singularity recipes
  • build and/or host container remotely and what are the limitations

To fully benefit from the workshop, basic Linux system administration experience is highly desirable i.e. knowledge of package management and common tools for building and managing software: git, pip, conda, wget, curl, etc.

Please follow the instructions to install Singularity (GitHub) on your computer before the workshop.

When: 9:15-12:00, 13:15-16:00 - 6 October 2023

Where: online via Zoom

For more information and registration, please visit the singularity workshop page (UPPMAX).

Online course introduction to running R, Python, and Julia in HPC, 17-19 October 2023

HPC2N, in cooperation with UPPMAX, is offering a three-day ONLINE training course "Introduction to running R, Python, and Julia in HPC".

Learn how to run R, Python, and Julia at Swedish HPC centres. We will show you how to find and load the needed modules, how to write a batch script, as well as how to install and use your own packages, and more.

The course will consist of lectures interspersed with hands-on sessions where you get to try out what you have just learned.

This course will consist of three days, 9:00 - 15:00, one for each language. Participation is free and open to all current and prospective users of NAISS.

Time and date: 09:00 - 15:00, 17-19 October 2023

Location: online via Zoom

For more information and registration, see the course website:

Online training seminar: An introduction to the UNIX/LINUX command-line, 25 October 2023 at 13:30

This training seminar provides a first introduction to the UNIX/LINUX environment.  It is aimed at new users of UNIX and will discuss UNIX skills required to work on a typical HPC cluster, such as provided by LUNARC, NAISS and other Swedish Universities. .  Topics include manipulating files and directories, editing file contents and the development of simple scripts, such as required for job submission.

Time: 25 October at 13:30

Location: A zoom link will be provided to registered participants

For more information and registration visit the UNIX/LINUX command-line seminar page (LUNARC).

Online course: Matplotlib for Publications, 8th November 2023

Matplotlib is among the most popular and advanced function libraries for the production of journal-quality data visualisations, with extensive, often under-utilised resources to make figures both richer in content and easier on the eye. In this course, participants will learn the finer details of producing figures for publication with Matplotlib, including tips on:

  • how to choose plot types based on the quantity and distribution of data
  • how to legibly display multiple sets of data or models on the same plot, and customise cycling through distinguishing features
  • how (and why) to choose fonts and colors to accommodate common visual impairments
  • how to customise axis label formats and tick locations
  • how to standardise plot settings with rcparams.

For more information and access to registration visit the Matplotlib course page (LUNARC).

Online course: An introduction to parallel programming using Message Passing with MPI, 21, 22, 28 and 29 November 2023

Message Passing is presently a widely deployed programming model in massively parallel high performance computing. Message Passing is suitable for programming a wide range of current computer architectures, ranging from multi-core desk top equipment to the fastest HPC systems in the world, offering several hundred thousand processing elements.

This online course is at the beginners level and assumes no prior experience in parallel computing. The concepts behind message passing and distributed memory computing will be introduced and the syntax of the key MPI calls will be explained. The course will include point-to-point communications, non-blocking communication and the collective communications calls.  Live demonstrations and practical sessions to deepen the understanding of the lectures will be part of the course. At the end of the course participants should be able to write their own MPI programs at an intermediate level. The teaching language will be English.

For more information and access to registration, please refer to the event pages at HPC2N, LUNARC and PDC:

Online Training: Programming Formalisms course, Nov 27 - Dec 1, 09:00-16:00

This full 5-day course aims to give scientists, bioinformaticians and other research engineers  with some experience in programming and scripting an understanding of the underlying principles of software development, design, and programming. The course aims to strengthen the understanding of more advanced programming concepts, ability to produce more reusable scripts through modular programming and to enable a better understanding of how to evaluate a script or programs performance.

We will cover an introduction to Algorithms and Data structures, Programming Paradigms especially structured and object oriented programming, and to give an overview of other paradigms like functional programming. Modular development and (code) reusability, testing and optimisation.

We will cover theory with bridging practical examples and applications to enhance the theoretical understanding of the principles. The material is language agnostic, we do use git and Python for exercises.

For more information and registration, please visit the programming formalisms course page (UPPMAX).

Online interactive support and discussion forum

NAISS Zoom-in - a virtual open-house, 26 October from 14:00 until 15:00

You are invited to a virtual meeting room.  Inside the meeting room we like to discuss services offered by NAISS and how they can be used for your computational needs, help you process your data and visualise your results.  Participants are highly encouraged to pose their own questions.

We also expect to have experts available from C3SE, HPC2N and LUNARC, to discuss the University operated HPC services at Chalmers, Umeå and Lund University.

The virtual meeting room is reached through the Zoom link for the Zoom-in session 26 October.

CodeRefinery training events

Online course: Python for Scientific Computing, 7-10 November, 8:50-12:00 CEST

Python is a modern, object-oriented programming language, which has become popular in several areas of software development.  This course discusses how Python can be utilised in scientific computing.  The workshop starts by introducing the main Python package for numerical computing, NumPy, and discusses the SciPy toolbox for various scientific computing tasks as well as visualisation with the Matplotlib package.  In addition, it talks about how Python is used: related scientific libraries, reproducibility, and the broader ecosystem of science in Python.

This multilateral collaborative workshop is hosted by Aalto Scientific Computing (Aalto University, Finland) in partnership with CodeRefinery, NAISS, and other organisations. The workshop will be streamed via Twitch (https://twitch.tv/coderefinery).

For registration and more information, please visit the Python for scientific computing course page (Aalto Scientific Computing).

ENCCS training events

Quantum Autumn School, Gothenburg, October 25-27, 9:00-17:00

Recent developments in quantum technology are bringing the world closer to a new technological revolution – the advent of usable quantum computers able to provide enormous acceleration to important computational tasks. In coming years, quantum computing is expected to have a significant impact on many areas of research that can utilise computational modelling. ENCCS is now again joining forces with the Wallenberg Centre of Quantum Technologies (WACQT) and the Nordic/Baltic NordIQuEst project to deliver a three-day autumn school covering the fundamentals of quantum computing.

The main attendance mode of the autumn school will be on-site at Chalmers University of Technology in Gothenburg. On-site participants will also be treated to social and networking events and a guided tour to see the QAL9000 quantum computer at Chalmers. However, seminars and hands-on sessions will also be broadcast live for online participants who will be able to participate actively in the school through live Q&A and chat.

The school will cover:

  • Introduction to key concepts: quantum states, qubits, quantum algorithms
  • Overview of the main QC hardware approaches.
  • Overview of the QC software stack.
  • Integration of QC with classical computing: hybrid classical/quantum algorithms and HPC-QC systems.
  • QC programming in high-level languages for use cases in optimisation, finance, life science and quantum chemistry.

Morning lectures will be combined with afternoon hands-on sessions where participants learn to use high-level QC programming languages using either simulators or real quantum computers.

For further information and registration, please visit the quantum autumn school page (ENCCS).

High Performance Programming, online, November 13-15, 9:00-12:00

Welcome to our online workshop on High Performance Programming, focusing on single core performance optimisation. Over the course of three half-day sessions, we will delve into the intricacies of algorithms, algorithms and complexity, cache efficiency, SIMD vectorisation, and compiler optimisations. We will keep a practical focus on useful techniques and mindsets.

Our workshop is designed for those familiar with the C language, but will also be relevant to Fortran programmers, with a hardware focus on modern 64-bit x86 systems. We will assume a Linux environment, as it is the most common in high performance computing. Whether you’re a seasoned programmer looking to optimise your code, or a newcomer to the field, this workshop offers valuable insights into the world of high performance programming.

This workshop is an interactive online event, featuring live coding, demos, and practical exercises. We aim to equip you with the tools and knowledge to write efficient, high-performance code. After attending the workshop, you will:

  • Be familiar with the most common complexity classes and the relationship between program structure and complexity.
  • Be able to use some widely useful approaches to algorithmic efficiency like sharing, sparseness, and memoisation.
  • Know something of how the compiler will translate your code, and what optimisations you can rely on the compiler to do
  • (so that you don’t need to make them).
  • Be aware of how you can check the output of the compiler if you are still unsure.
  • Know the basic structure of a modern out-of-order issue processor core.
  • Know how a modern memory hierarchy works and how to write code that utilizes caches efficiently.
  • Know something about SIMD vectorisation and how it can be exploited.
  • Know how to time your program and avoid the related pitfalls.
  • Be aware of how you can use performance counters to further analyse the execution of your program.

For further information and registration, please visit the high performance programming workshop page (ENCCS).

SciLifeLab/Berzelius training events

Online seminar: "Using containers to simplify ML training on Berzelius and other supercomputers: beginner-friendly introduction", 19 October 10:00 - 11:00

Using a container environment allows a highly portable workflow and reproducible results between systems as diverse as a laptop, Berzelius or EuroHPC resources such as LUMI for instance. During this beginner-friendly event, we will introduce and demonstrate how to work with containers on Berzelius (Apptainer and Enroot) using an example from life sciences, starting from raw data and finishing with a trained model. During the Q&A session, the Berzelius life science support team will answer your questions.

Speakers: AI engineers from the SciLifeLab Data Centre and application experts from Berzelius (NSC, LiU).

Where and when: 19 October 10:00 - 11:00, online via zoom

The event is open to researchers in Sweden and beyond.

For more information and registration see the container introduction seminar page (SciLifeLab).