The browser you are using is not supported by this website. All versions of Internet Explorer are no longer supported, either by us or Microsoft (read more here: https://www.microsoft.com/en-us/microsoft-365/windows/end-of-ie-support).

Please use a modern browser to fully experience our website, such as the newest versions of Edge, Chrome, Firefox or Safari etc.

Computational Science: Parallel Programming in Scientific Computing

Course • Master's level • 7.5 credits

Learn how parallel programming accelerates numerical algorithms on modern multicore and multinode systems. The course covers sharedmemory and distributedmemory paradigms and how to achieve substantial speedups in scientific computing.

Application dates

Start

Autumn 2026

Level

Master's

Language

English

Place of study

Lund

Course code

BERN09

Application dates

This course provides a concise introduction to parallel programming in scientific computing for students who want to extend their computational skills to modern multicore and multi node systems. The course covers the main ideas behind sharedmemory and distributedmemory programming. It will exemplify common performance inhibitors, possible causes for non-reproducible results and reasons for program execution freezing. You also study how algorithmic structure interacts with hardware and how to analyse the performance and scalability of parallel implementations.

Course content

  • Introduction to programming in C
  • Concepts behind distributed and shared memory parallel computing
  • Commonly used commands of the MPI and OpenMP API
  • Performance assessment of parallel applications
  • Debugging and profiling of parallel codes
  • Efficient OpenMP and MPI parallelisation of standard algorithmic constructs such as matrix–vector products, scalar products, unbalanced summations, recursive calls, divide and conquer
  • Hybrid parallelisation (shared and distributed memory) of a stencil code on a regular grid.

The course is alternative-compulsory within the Master’s programme in Computational Science and may be taken as an elective in the Master’s programme in Mathematics with a specialisation in Numerical Analysis. It is also given as a standalone course. 

Teaching consists of lectures, tutorials, and computer exercises focused on writing and optimising parallel codes. A compulsory programming project culminates in a written report and a seminar presentation, which—together with submitted assignments and oral explanations—form the basis for assessment. By the end of the course, you will be able to design, modify, and assess parallel programs and apply them to realistic problems in scientific computing.

Parallel programming is essential when computational speed matters. Computational hardware currently deployed in scientific computing supports and requires parallel software to be efficient. This holds for everything ranging from multicore laptops to high performance computing clusters.

During the course you will learn how parallelism can accelerate numerical algorithms, how performance bottlenecks arise, and how to write programs that behave correctly when many processes run at once. After completing this course, you will be prepared to build, modify and extent efficient parallel algorithms, analyse their performance, and apply them in scientific computing, engineering, physics, data science, and numerical analysis. The skills gained distributedmemory programming, sharedmemory programming and performance optimisation provide a strong foundation for advanced studies in highperformance computing and for careers involving largescale computational modelling. 

Autumn Semester 2026

Closed for applications. This application round runs from mid-March to mid–April.

Start

2 November 2026

2 Nov 2026

End

17 January 2027

17 Jan 2027

Form

Normal learning

Pace

Part time

Language

English

City

Lund

When and how to apply

This is a local application round, primarily recommended for EU/EEA citizens. Due to time constraints, we do not recommend applying if you are from outside the EU/EEA or Switzerland. You must first find and add the course or programme on Antagning.se before you can log in to Universityadmissions.se and apply.

Entry requirements

For admission to the course English 6/B and at least 90 credits in natural science are required, including knowledge equivalent to the course NUMA01 Computational Programming with Python (7.5 credits). In addition, knowledge equivalent to one of the following courses is required: NUMA32 Numerical Methods for Differential Equations (7.5 credits), NUMN21 Advanced Course in Numerical Algorithms with Python/SciPy (7.5 credits), FYTN03 Computational Physics (7.5 credits) or FYSN33 Applied Computational Physics and Machine Learning (7.5 credits).

Selection criteria

Seats are allocated according to: ECTS (HPAV): 100 %.

When and how to apply

This is a local application round, primarily recommended for EU/EEA citizens. Due to time constraints, we do not recommend applying if you are from outside the EU/EEA or Switzerland. You must first find and add the course or programme on Antagning.se before you can log in to Universityadmissions.se and apply.

Tuition fees for non-EU/EEA citizens

Citizens of countries outside:

  • The European Union (EU)
  • The European Economic Area (EEA) and
  • Switzerland

are required to pay tuition fees. You pay an instalment of the tuition fee in advance of each
semester.

Tuition fees, payments and exemptions

Full programme/course tuition fee: SEK 23,125
First payment: SEK 23,125

Convert currency – xe.com

Note that you may also need to pay an application fee, or provide proof of exemption.

Application fee

No tuition fees for citizens of the EU, EEA and Switzerland

There are no tuition fees for citizens of the European Union (EU), the European Economic Area (EEA) and Switzerland.

A shared second home for mathematics

Matematikcentrum gathers students and researchers in mathematics, mathematical statistics, and numerical analysis and computational science. Along Sölvegatan, close to green spaces and the wider university area, you find a shared environment for everyone who uses mathematics as a common language. Research here has led to innovations and companies in areas such as optimisation, image analysis and software, with applications ranging from logistics to video analysis and mobile technology.

Photo Matematikcentrum.

Contact us

Student counselling

Email: studentcounselling@math.lu.se