Getting Started with SLURM
Note: This post has been updated to reflect the changes in the queueing system after the software upgrade of Beskow in June, 2019. Our supercomputer clusters at PDC, equipped with thousands of...
View ArticleSkip the configuration, get to the cluster: Docker way
Sometimes it can be a daunting task to get all the Kerberos and SSH configurations right on your first attempt at using the PDC systems. Nearly every day PDC Support receives a number of help requests...
View ArticleScalability: strong and weak scaling
High performance computing (HPC) clusters are able to solve big problems using a large number of processors. This is also known as parallel computing, where many processors work simultaneously to...
View ArticleUsing Jupyter Notebooks to manage SLURM jobs
Jupyter Notebooks are gaining in popularity across many academic and industrial research fields . The in-browser, cell-based user interface of the Notebook application enables researchers to interleave...
View ArticleParallel programming in Python: multiprocessing (part 1)
Parallel programming solves big numerical problems by dividing them into smaller sub-tasks, and hence reduces the overall computational time on multi-processor and/or multi-core machines. Parallel...
View ArticleParallel programming in Python: multiprocessing (part 2)
In the previous post we introduced the Pool class of the multiprocessing module. In this post we continue on and introduce the Process class, which makes it possible to have direct control over...
View ArticleTop500 list: a brief introduction
You may have heard of the Top500 list. It ranks the world’s 500 most powerful supercomputers based on their performance as measured by the Linpack benchmark. Published twice per year (in June and...
View ArticleParallel programming in Python: mpi4py (part 1)
In previous posts we have introduced the multiprocessing module which makes it possible to parallelize Python programs on shared memory systems. The limitation of the multiprocessing module is that it...
View ArticleParallel programming in Python: mpi4py (part 2)
In part 1 of this post, we introduced the mpi4py module (MPI for Python) which provides an object-oriented interface for Python resembling the message passing interface (MPI) and enables Python...
View ArticleWorking with Python Virtual Environments
Note: This post has been updated to reflect the modules on Dardel (December 2021). When we use Python in our work or personal projects, it is often necessary to use a number of packages that are not...
View Article