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

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.

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

You’ll learn the details of how exactly MPI works, as well how to use Remote Memory Access (RMA) routines. Examples, exercises, and tests will be used to help you learn and explore.

Syllabus

Week 1: Overview and the principles of One-Sided MPI Communication
Week 2: Details and examples of One-Sided MPI communication

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
  • Design your program using methods of MPI communication that prevent deadlocks and ensure the correctness of the program
  • Improve scalability of your program by substituting non-scalable solutions with scalable one-sided approaches

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.
For users of screen readers, the text of the course contains all necessary information, and images are additional illustrations. Unfortunately the quizzes in this course cannot be made screen-reader accessible, however learners can achieve all learning outcomes and understand all the content without completing these.

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

Related Courses

Understanding Computer Systems (FutureLearn) FutureLearn
Raspberry Pi Foundation

Understanding Computer Systems (FutureLearn)

Understand how the components of a computer system interact with each other on this online course for computing teachers. Learn what really happens when you turn a computer on. Understanding how a computer works after you press the power button is key to working with technology effectively. On this course, you will explore what happens inside the machine and learn how computers turn inputs into outputs.

Nov 1st 2021
3 Weeks
Parallel Programming Concepts (openHPI) OpenHPI
Hasso-Plattner-Institut

Parallel Programming Concepts (openHPI)

The openHPI online course “Parallel Programming Concepts” presents relevant theoretical and practical foundations for parallel programming. We show crucial theoretical ideas such as semaphores and actors, the architecture of modern parallel hardware, different programming models such as task parallelism, message passing and functional programming, and several patterns and best practices.

Self Paced
Self-Paced
Data Visualisation: Data Dashboards and Storytelling with Tableau (FutureLearn) FutureLearn
FutureLearn

Data Visualisation: Data Dashboards and Storytelling with Tableau (FutureLearn)

Learn the techniques that underpin predictive data analytics and understand the ethics behind them. Do you want to bring your predictive models to life and communicate with a diverse audience? Data visualisation is a great tool for predictive analysis and bringing statistical models to life within your organisation. You’ll learn how to use your data to make business predictions and get to grips with the ethical issues that can arise in the process. On this course, you’ll explore statistical techniques and the importance of testing and refining the models that you use for data analysis.

May 23rd 2022
4 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.

Oct 12th 2026
4 Weeks
Introduction to Concurrent Programming with GPUs (Coursera) Coursera
Johns Hopkins University

Introduction to Concurrent Programming with GPUs (Coursera)

This course will help prepare students for developing code that can process large amounts of data in parallel. It will focus on foundational aspects of concurrent programming, such as CPU/GPU architectures, multithreaded programming in C and Python, and an introduction to CUDA software/hardware.

Oct 12th 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
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
Fortran for Scientific Computing (FutureLearn) FutureLearn
Partnership for Advanced Computing in Europe - PRACE,Vlaams Supercomputer Centre

Fortran for Scientific Computing (FutureLearn)

Learn how to program in Fortran. Use object-oriented programming to design efficient and maintainable code. Discover the power of Fortran for scientific programming. Fortran is a programming language that has been designed for scientific computing, allowing users to naturally express numerical problems. On this course, you’ll discover how to express your numerical problems as a Fortran program, exploring the power and versatility of this popular programming language.

Sep 27th 2021
5-12 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
Decentralised Finance: Blockchain, Ethereum, and The Future of Banking (FutureLearn) FutureLearn
RMIT University

Decentralised Finance: Blockchain, Ethereum, and The Future of Banking (FutureLearn)

Explore the future of decentralised finance and grow your understanding of blockchain-powered cryptocurrencies. Learn the latest on decentralising areas of finance & blockchains like Ethereum. Decentralised Finance (DeFi) is changing the future of banking and finance. With the use of blockchain technology and cryptocurrencies, like Ethereum, DeFi doesn’t have to rely on traditional financial institutions.

Self Paced
4 Weeks
Data Visualisation with Tableau Fundamentals (FutureLearn) FutureLearn
FutureLearn

Data Visualisation with Tableau Fundamentals (FutureLearn)

Learn the fundamentals of data visualisation – from core components to interactive elements. Want to create meaningful data visualisations that fuel decision-making and growth within your business? This course teaches you the basics – from individual elements and relationships through to data preparation in Tableau. You’ll learn design theories and how to identify important dashboard elements before moving on to hands-on exercises.

May 23rd 2022
4 Weeks
Introduction to Digital Transformation: Understand and Manage Digital Transformation in the Workplace (FutureLearn) FutureLearn
Media Design School

Introduction to Digital Transformation: Understand and Manage Digital Transformation in the Workplace (FutureLearn)

Improve your skills and knowledge of digital transformation and how to manage the process of technological change. Build skills for the future work landscap. In this course from the Media Design School, you’ll explore the future of the work landscape and how technology continues to redefine it through the process of digital transformation.

Jun 27th 2022
5-12 Weeks