Skip to main content

NAISS Training Newsletter

No 12, 20 October 2023

– Published 20 October 2023

Welcome to a new edition of the NAISS training newsletter.  This week we newly announce an events for new users of NSC and an introduction to Git.  We have reminders on the introduction to UNIX/LINUX command line, the introduction to Message Passing (MPI) and the Programming formalism course.

Those that like to discuss their issues and needs about NAISS services in a zoom session are invited to the next session of the popular NAISS zoom-in on the 26th October.

We remind on the CodeRefinery course Python for Scientific Computing and the ENCCS event “High Performance Programming”.

Overview

NAISS events

  • Online training seminar: An introduction to the UNIX/LINUX command-line, 25 October 2023 at 13:30
  • Online training and support event: “NSC introduction to Tetralith/Sigma”, 7 November 2023 at 10:00
  • Online training course: "Introduction to Git", 13-17 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

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

NAISS training

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 training and support event: “NSC introduction to Tetralith/Sigma”, 7 November 2023 at 10:00

An online event with two parts:

  • A short introduction suitable for new users to the NSC Tetralith (NAISS) and Sigma (LiU) clusters. Topics include the module system, submitting jobs, working with Python, allocating GPU:s for simulations or graphics and other useful information.
  • The ongoing upgrade of the operating system from CentOS 7 to Rocky Linux 9 and how it affects running applications is also discussed:
  • An open session for questions with several NSC application experts attending.

Feel free to join (and leave) whenever depending on your interest. The online event is open for all present and prospective NSC users.

Time: 7 Nov 2023, 10:00 - ca. 11:15 Introduction, ca 11:15 - Open session

Links

Online training course: "Introduction to Git", 13-17 November 2023

HPC2N and UPPMAX are offering an ONLINE training course "Introduction to Git". It will be given on 13 - 17 November 2023, 09:00 - 12:00 each day.

The course will be an introduction to version control, with a strong focus on Git.  Some of the main concepts, like repositories, commits, trees, branches, and merges will be covered, as will many of the basic commands, like clone, add, push, pull, commit, and fork.

The lectures will be complemented by demos, as well as hands-ons, during which the participants will learn both how to do simple Git commands as well as more complex cases. The hands-ons will mainly be done on your own computers and using GitHub.

This NAISS course is a cooperation between HPC2N and UPPMAX. It is open for anyone in Swedish academia.

For more information and registration, see the introduction to Git course page (HPC2N).

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

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).