NAISS Training News Letter
No 5, 28 April 2023
– Published 28 April 2023
Warm welcome to the fifth edition of the new NAISS training newsletters.
In this edition we advertise a number of new events, including training on Python in an HPC environment, Programming Formalism, handling of sensitive research data and the UPPMAX introduction course.
There is a last chance to register for the code refinery workshop in Uppsala. The PDC summer school has just opened registration and the ENCCS GPU programming event is now also open for registration.
The NAISS training team wishes everyone a pleasant Valborgsmässoafton
- Using Python in an HPC environment, 23 May (online)
- Programming Formalisms Course, May 29 - June 2 (online)
- Introduction to Bianca: Handling Sensitive Research Data, June 14 (online)
- UPPMAX Introductory Course, August 21-24 (in person in Uppsala)
- CodeRefinery workshop, Uppsala, 9-11 May 2023
Training events organised by HPC centres in Sweden
- PDC Summer School 2023: Introduction to High Performance Computing, 14-25 August 2023 (in person in Stockholm)
ENCCS training events
- GPU Programming: Why, When and How? 9 and 12 June, 9:00-16:00 CEST (online)
Using Python in an HPC environment, 23 May (online)
This course aims to give a brief, but comprehensive introduction to using Python in an HPC environment. You will learn how to use modules to load Python, how to find site installed Python packages, as well as how to install packages yourself. In addition, you will learn how to use virtual environments, write a batch script for running Python, use Python in parallel, and how to use Python for ML and on GPUs.
The course is a cooperation between UPPMAX and HPC2N. The instructors will use UPPMAX' systems for demos and there will be hands-on exercises for the participants. This course will consist of lectures interspersed with hands-on sessions where you get to try out what you have just learned.
Remote/online participation: The course will be completely online and we will use Zoom. More information about connecting and such will be sent to the participants close to the course.
The goal for the course is that you will be able to
- Load Python modules and site-installed Python packages
- Create a virtual environment
- Install Python packages with pip and/or conda
- Write a batch script for running Python
- Use Python in parallel
- Use Python for ML
- Use GPUs with Python
- Prerequisites: familiarity with the LINUX command line, basic Python
Programming Formalisms Course, May 29 - June 2 (online)
This course aims to give life scientists, bioinformaticians, and other scientists 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 a 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.
For more information and registration, please visit the Programming Formalisms course page at UPPMAX.
Introduction to Bianca: Handling Sensitive Research Data, June 14 (online)
Are you working with your sensitive data in your research? If yes, welcome to a full day introduction to handling sensitive data on the UPPMAX cluster, Bianca. We will tell you about NAISS-SENS, how to login to Bianca, transfer files via wharf, Slurm workload manager and the module system, and how to work with Conda packages.
You do not need to be a member of a NAISS-SENS project in order to join the workshop. A SUPR course project will be available to all participants. The workshop will consist of both lectures and exercise sessions.
When: June 14
Where: online via Zoom
For more information and registration please visit the Bianca event page at UPPMAX.
UPPMAX Introductory Course, August 21-24 (in person in Uppsala)
This 4-day course provides an introduction to the high-performance computing (HPC) environment offered at UPPMAX.
It offers an overview on how the systems work and covers skills from basic Linux usage to more advanced tips and tricks, including Python scripting.
Participation is open to all existing and prospective NAISS users.
When: August 21-24
Where: EBC, Uppsala
For more information and registration, please visit the UPPMAX Introduction course page.
CodeRefinery workshop, Uppsala, 9-11 May 2023
Do you write code for your research? Do you manage data? Most importantly, are you doing it properly? Has it ever happened to you to have to rewrite or simply copy-paste codes from one folder to another, possibly losing things during the process? Have you ever opened an old code you wrote and had no clue what it does? Maybe you feel you waste a lot of time doing a lot of manual work to process your data and would like to automate it? Or maybe you also are not doing any of this yet, but would like to avoid these issues from happening in the future and do things properly from the beginning?
If you answered yes to any of the previous questions, then you are strongly encouraged to participate in the CodeRefinery workshop in Uppsala on May 9-11, 2023.
Topics covered in the workshop include:
- Using Git to maintain your codes and collaborate with others
- Principles of reproducible research and FAIR
- Good coding practices in general (writing documentation, testing, how to choose an appropriate license)
- The Workshop will not teach you to code, but all the “good practice skills” that are needed to write good maintainable software and achieve reproducible research.
The workshop will alternate between type along tutorials and hands-on exercises. You may register for parts of the workshop.
More information and the registration form may be found on the CodeRefinery workshop page.
Training events organised by HPC centres in Sweden
PDC Summer School 2023: Introduction to High Performance Computing, 14-25 August 2023 (in person in Stockholm)
The PDC Center for High Performance Computing (PDC) and the KTH School of Electrical Engineering and Computer Science (EECS) welcome you to our "Introduction to High Performance Computing" summer school. Students and researchers in scientific and/or high-performance computing (with academic or industrial/commercial backgrounds) from anywhere in the world are welcome to apply to attend the course.
This course provides the knowledge and skills needed to utilise high-performance computing (HPC) resources for research purposes. The topics that are covered in the course include:
- parallel algorithms,
- parallel programming,
- modern HPC architectures,
- performance analysis and engineering
- software engineering.
The course is especially suited to computational and data scientists, and a variety of relevant HPC use cases will be studied to help illustrate the topics. The course consists of both lectures and guided hands-on lab sessions.
More information about the school, including a link to the application form, is available on the 2023 PDC Summer School webpage.
The deadline for applications is 30 May 2023.
ENCCS training events
GPU Programming: Why, When and How?
Event supported by KTH, HPC2N, CSC/Finland, NRIS/Norway, Aarhus University/Denmark, Vilnius University/Lithuania, Aalto University/Finland
GPUs are essential in many HPC systems worldwide and are expected to dominate HPC computing power in the near future. However, navigating the GPU hardware, software and programming environment is complex. Various vendors offer their own software stack and development toolkits, and there are several tools, languages and frameworks to write code for GPUs. This workshop aims to help both developers and project leaders understand the GPU programming landscape and make informed decisions. It covers the reasons and concepts for using GPUs, an overview of different software frameworks and fundamentals of major GPU programming frameworks which will enable you to quickly become productive.
- Familiarity with one or more programming languages like C/C++, Fortran, Python or Julia.
- The workshop is most relevant to researchers and engineers who already develop software which runs on CPUs in workstations or supercomputers, but also to project leaders who don’t write code but make strategic decisions in software projects
For further information and registration, please go to the GNU Programming workshop page at ENCCS.