One-Sided Communication and the MPI Shared Memory Interface (FutureLearn)

One-Sided Communication and the MPI Shared Memory Interface (FutureLearn)

Learn how to make the most of the new shared memory interface within the MPI application. Get to grips with the new interface of MPI-3 and its practical use. Message Passing Interface (MPI) 3.0 has two new features that enable you to share memory windows. On this four-week course from Partnership for Advanced Computing in Europe (PRACE), you’ll learn how to use these new methods to maximise your use of the application.

Class Deals by MOOC List - Click here and see FutureLearn's Active Discounts, Deals, and Promo Codes.

Refresh your knowledge of MPI one-sided communication
One-sided communication, compared to two-sided communication, can help to improve performance by reducing synchronisation, having no delay in sending data, and increasing functionality and scalability.
You’ll begin by getting an introduction to MPI one-sided communication to refresh your knowledge and skills. You’ll learn how to use the new interface, examining case-use studies in the real world to further cement your learning.
Discover the principles of MPI shared memory and how to use it
You’ll explore how to split a communicator in shared memory islands and how to synchronise load and store operations. By the end of the course, you’ll understand restrictions and advanced options when using MPI-3 shared memory.
Learn from the experts at PRACE
The mission of PRACE is to enable high-impact scientific discovery and engineering research and development across all disciplines. By offering world-class computing and data management resources and services, they aim to enhance European competitiveness for the benefit of society.

Syllabus

Week 1: Overview and the principles of One-Sided MPI Communication
Week 2: Details and examples of One-Sided MPI communication
Week 3: MPI Shared Memory – principles and how to use
Week 4: MPI-3 Memory models and fast synchronization Options

Learning on this course
You can take this self-guided course and learn at your own pace. On every step of the course you can meet other learners, share your ideas and join in with active discussions in the comments.

What will you achieve?
By the end of the course, you‘ll be able to...

  • Apply MPI one-sided communication to your communication patterns in your MPI applications
  • Explain the main advantages and disadvantages of MPI one-sided communication and MPI shared memory
  • Design your program using methods of MPI communication that prevent deadlocks and ensure a correct program
  • Improve scalability by substituting non-scalable solutions with scalable one-sided approaches

**Who is the course for?
This course is designed for anyone familiar with MPI that wants to learn to program using the new interface.

What software or tools do you need?**
To take part in this course you don’t need a supercomputer, just an MPI environment on your laptop or computer.

Go to Class
MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Related Courses

Create Expressive Videogames (FutureLearn) FutureLearn
Institute of Coding,UAL Creative Computing Institute

Create Expressive Videogames (FutureLearn)

Take your first steps towards constructing your own games by exploring game design, play, and experience creation. Explore the theory and practise of creative computer game design. Anyone who’s played videogames understands that designing them requires a complex blend of technical ability, creative skill, and theoretical knowledge.

Jun 29th 2020
4 Weeks
Designing a multidimensional poverty index (UNDP) Other Providers
University of Oxford,United Nations Development Programme - UNDP,Oxford Poverty and Human Development Initiative - OPHI

Designing a multidimensional poverty index (UNDP)

To leave no one behind for a COVID-19 recovery, it is time to develop poverty metrics beyond income. UNDP and University of Oxford are offering a FREE Massive Open Online Course "Designing a Multidimensional Poverty Index" in English, French, and Spanish on Learning for Nature. Starting 22 February, this six-week course will provide you with the tools to monitor, analyze, and report progress in reducing multidimensional poverty for a COVID-19 recovery in your country.

No sessions available
5-12 Weeks
Precalculus: the Mathematics of Numbers, Functions and Equations (FutureLearn) FutureLearn
University of Padova

Precalculus: the Mathematics of Numbers, Functions and Equations (FutureLearn)

Get an introduction to the essential mathematical knowledge and skills required to take a first course in calculus. This course is the first of two precalculus courses from the University of Padova, providing you with an introduction to the fundamental mathematical skills required to complete a first course in calculus.

Sep 14th 2020
5-12 Weeks
Distributed Programming in Java (Coursera) Coursera
Rice University

Distributed Programming in Java (Coursera)

This course teaches learners (industry professionals and students) the fundamental concepts of Distributed Programming in the context of Java 8. Distributed programming enables developers to use multiple nodes in a data center to increase throughput and/or reduce latency of selected applications. By the end of this course, you will learn how to use popular distributed programming frameworks for Java programs, including Hadoop, Spark, Sockets, Remote Method Invocation (RMI), Multicast Sockets, Kafka, Message Passing Interface (MPI), as well as different approaches to combine distribution with multithreading.

Jun 22nd 2026
4 Weeks
High Performance Computing (Udacity) Udacity
Georgia Institute of Technology,Udacity

High Performance Computing (Udacity)

The goal of this course is to give you solid foundations for developing, analyzing, and implementing parallel and locality-efficient algorithms. This course focuses on theoretical underpinnings. To give a practical feeling for how algorithms map to and behave on real systems, we will supplement algorithmic theory with hands-on exercises on modern HPC systems, such as Cilk Plus or OpenMP on shared memory nodes, CUDA for graphics co-processors (GPUs), and MPI and PGAS models for distributed memory systems.

Self Paced
Self-Paced
MPI: A Short Introduction to One-sided Communication (FutureLearn) FutureLearn
Partnership for Advanced Computing in Europe - PRACE

MPI: A Short Introduction to One-sided Communication (FutureLearn)

Learn the details of one-sided communication in MPI programming. Discover the advantages to one-sided communication in parallel programming. Message Passing Interface (MPI) is a key standard for parallel computing architectures. On this course, you’ll learn the essential concepts of one-sided communication in MPI, as well as the advantages of the MPI communication model.

No sessions available
2 Weeks
Data Visualisation: Creating Charts and Complex Visualisations in Tableau (FutureLearn) FutureLearn
FutureLearn

Data Visualisation: Creating Charts and Complex Visualisations in Tableau (FutureLearn)

Learn the fundamentals of data visualisation and storytelling to boost your career options. Struggling to turn data insights into action within your organisation? Learn how to identify the right metrics to add to data dashboards and identify the most effective components to help you tell data stories through beautiful visualisations. This course will take you from theory into practice. You’ll build the skills you need to create interactive dashboards using Tableau.

May 23rd 2022
4 Weeks
Data Visualisation with Python: Matplotlib and Visual Analysis (FutureLearn) FutureLearn
FutureLearn

Data Visualisation with Python: Matplotlib and Visual Analysis (FutureLearn)

Discover how to produce visual data analytics and business insights with the powerful Python programming language. Learn how to use Python for business analysis. Many organisations can collect and analyse data effectively, but not all are able to transform these insights into effective decision-making that results in organisational value. That’s where data visualisation comes in. This Python online course will supercharge your data visualisation skills for both exploratory and explanatory purposes, using the commonly used programming language.

May 30th 2022
4 Weeks
An Introduction to Computer Networking for Teachers (FutureLearn) FutureLearn
Raspberry Pi Foundation,National Centre for Computing Education

An Introduction to Computer Networking for Teachers (FutureLearn)

Build your knowledge and understanding of computer networks as a computer science teacher. Learn how you can create connections with computers. Explore the fundamentals of computer networking with this online course for GCSE teachers. You will improve your understanding of key concepts and gain the confidence to teach the subject in the classroom.

Nov 1st 2021
3 Weeks
Introduction to Databases and SQL (FutureLearn) FutureLearn
Raspberry Pi Foundation,National Centre for Computing Education

Introduction to Databases and SQL (FutureLearn)

Discover how databases work and how to use SQL in this introductory course. Supported by Google. Learn about databases and how to use SQL to search and manipulate data. On this course from the Raspberry Pi Foundation you’ll learn what databases are and why we use them, exploring how to use SQL to search and manipulate data.

Jan 2nd 2023
3 Weeks
Delivering Research Data Management Services (FutureLearn) FutureLearn
University of Edinburgh,Research Data Netherlands,Digital Curation Centre

Delivering Research Data Management Services (FutureLearn)

Gain confidence in your ability to design, develop and review research data management services. Discover how data should be managed in your business. Data transforms the way we live and work, so it’s becomingly increasingly important it’s stored and organised correctly. On this course, you’ll learn how to develop and deliver effective data management services to improve research in your organisation.

Sep 6th 2021
5-12 Weeks
Cyber Security in the Software Development Life Cycle (FutureLearn) FutureLearn
Coventry University

Cyber Security in the Software Development Life Cycle (FutureLearn)

Examine security in the software development life cycle and discuss the legal and ethical aspects of secure systems. Learn how to safeguard your software systems and help prevent cyber crime. Cyber attacks can pose a major threat to any digital business. Addressing the need for system security during the software development life cycle should be a top priority for any organisation.

No sessions available
2 Weeks