The Fundamentals of RDMA Programming (Coursera)

Offered by NVIDIA,
The Fundamentals of RDMA Programming (Coursera)

Welcome to the Fundamentals of RDMA Programming Course! Remote Direct Memory Access, RDMA, enables server-to-server data movement directly between application memory without any CPU involvement.
RDMA technology empowers advanced enterprise data centers and the world’s fastest supercomputers (HPC).

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

RDMA allows real CPU offloads and kernel bypass, and, as such, RDMA-based applications provide better utilization of network HW resources while increasing speed and lowering link latencies.
NVIDIA leads the interconnect industry with RDMA supported hardware and has paved the way for RDMA programming.
It has gained unique and extensive experience by accompanying the world’s leading HPC, storage, finance, and cloud companies in RDMA application development projects.
This online course offers an Innovative training experience, with short and focused videos, interactive quizzes and hands-on exercises needed to acquire the technical skills for programming RDMA-based applications.
This course provides application developers with the required knowledge and skills to start programming RDMA applications that run seamlessly over Ethernet (RoCE) and InfiniBand networks.
By the end of this course, you will be able to write and edit simple applications with RDMA.
Upon successfully passing the exam at the end of this course, you will be provided with a digital completion certificate that validates your training experience needed to acquire the technical skills for programming RDMA-based applications.

What you'll learn

  • RDMA Basics: Bypassing the OS, Memory zero copy and transport offload
  • Core RDMA: RDMA verbs and objects, data-path flow and memory management
  • RDMA Operations: Send and receive operations, RDMA write and RDMA read operations, atomic operations
  • Become familiar with InfiniBand architecture layer, RDMA basic flow, create a completion queue (CQ) and a queue pair (QP), and execute RDMA operation
  • Establish connection using RDMA_CM API

Syllabus

RDMA Basics
Module 1
In this module, you will learn what is RDMA and fundamental concepts such as memory zero copy and transport offloads.

Core RDMA
Module 2
In this module you will be introduced to core RDMA components: RDMA verbs RDMA data-path RDMA memory management

RDMA Operations
Module 3
In this module, you will learn how RDMA messages are sent and received. In addition, you will be introduced to RDMA atomic operations.

RDMA Code Examples
Module 4
In this module, you will become familiar with essential code examples from the RDMA core GitHub repository.

RDMA Connection Management
Module 5
In this module you will learn two methods to establish the initial RDMA connection between hosts - using TCP sockets or the RDMA connection manager.

RCpingpong
Module 6
In this module, you will implement the knowledge acquired in this course, by using the RCpingpong program code.

Course Completion Quiz - The Fundamentals of RDMA Programming
Module 7
It is highly recommended that you complete all the course activities before you begin the quiz. Good luck!

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

Related Courses

Introduction to Embedded Systems Software and Development Environments (Coursera) Coursera
University of Colorado Boulder

Introduction to Embedded Systems Software and Development Environments (Coursera)

Welcome to the Introduction to Embedded Systems Software and Development Environments. This course is focused on giving you real world coding experience and hands on project work with ARM based Microcontrollers. You will learn how to implement software configuration management and develop embedded software applications. Course assignments include creating a build system using the GNU Toolchain GCC, using Git version control, and developing software in Linux on a Virtual Machine.

Sep 14th 2026
4 Weeks
Real-Time Embedded Systems Concepts and Practices (Coursera) Coursera
University of Colorado Boulder

Real-Time Embedded Systems Concepts and Practices (Coursera)

This course can also be taken for academic credit as ECEA 5315, part of CU Boulder’s Master of Science in Electrical Engineering degree. Course Description: In this course, students will design and build a microprocessor-based embedded system application using a real-time operating system or RT POSIX extensions with Embedded Linux. The course focus is on the process as well as fundamentals of integrating microprocessor-based embedded system elements for digital command and control of typical embedded hardware systems.

Aug 24th 2026
4 Weeks
Introducción a la programación en C: Instrucciones de control y ficheros de texto (edX) EdX
Universidad Autonoma de Madrid

Introducción a la programación en C: Instrucciones de control y ficheros de texto (edX)

En este curso aprenderás sobre condicionales, bucles y ficheros de texto en el lenguaje de programación C, uno de los más utilizados. Este curso en línea te permitirá continuar aprendiendo sobre conceptos para desarrollar habilidades de programación en el lenguaje C. Ahora los programas comienzan a cobrar vida y a volverse más interesantes.

Self Paced
Self-Paced
Introducción a la programación en C: Tipos de datos y estructuras (edX) EdX
Universidad Autonoma de Madrid

Introducción a la programación en C: Tipos de datos y estructuras (edX)

Aprende a programar en C, uno de los lenguajes de programación más usados. En este curso en línea adquirirás los conocimientos necesarios para comenzar a convertirte en un experto en C. Este curso en línea te permitirá aprender los conceptos básicos que te ayudarán a desarrollar las habilidades de programación necesarias para iniciarte en el lenguaje C.

Self Paced
Self-Paced
Learn C Sharp Programming From Scratch (Eduonix) Eduonix
Eduonix Learning Solutions Pvt. Ltd.

Learn C Sharp Programming From Scratch (Eduonix)

Learn C#, the world’s most popular multi-paradigm programming language, with this C sharp programming online tutorial. Microsoft C Sharp (C #) is one of the worlds most popular programming languages. It was developed as part of Microsoft's .NET initiative. The main power of C# lies in its versitality and it being a Multi Paradigm language supports imperative, functional, generic, object oriented and component oriented programming styles.

Self Paced
Self-Paced
C for Everyone: Programming Fundamentals (Coursera) Coursera
University of California, Santa Cruz

C for Everyone: Programming Fundamentals (Coursera)

This course is for everyone. In the new world we live in, coding is a universally valuable skill, whether you're a scientist, artist, or a humanist. Algorithms are everywhere, and we all have to understand how they work. The C language is particularly well suited as an introduction to coding: It's a tried-and-true language, and it allows you to understand computing processes at a deep level.

Jun 15th 2026
5-12 Weeks
C Programming: Advanced Data Types - 5 (Coursera) Coursera
Institut Mines-Telecom,Dartmouth College

C Programming: Advanced Data Types - 5 (Coursera)

In this course you will define your own data types in C, and use the newly created types to more efficiently store and process your data. Many programming languages provide a number of built-in data types to store things such as integers, decimals, and characters in variables, but what if you wanted to store more complex data?

Aug 31st 2026
3 Weeks
Pointers, Arrays, and Recursion (Coursera) Coursera
Duke University

Pointers, Arrays, and Recursion (Coursera)

The third course in the specialization Introduction to Programming in C introduces the programming constructs pointers, arrays, and recursion. Pointers provide control and flexibility when programming in C by giving you a way to refer to the location of other data. Arrays provide a way to bundle data by guaranteeing sequences of data are grouped together. Finally, recursive functions—functions that call themselves—provide an alternative to iteration that are very useful for implementing certain algorithms.

Aug 31st 2026
5-12 Weeks
Simulation, Algorithm Analysis, and Pointers (Coursera) Coursera
University of Colorado System

Simulation, Algorithm Analysis, and Pointers (Coursera)

This course is the fourth and final course in the specialization exploring both computational thinking and beginning C programming. Rather than trying to define computational thinking, we’ll just say it’s a problem-solving process that includes lots of different components. Most people have a better understanding of what beginning C programming means!

Aug 31st 2026
4 Weeks
C Programming: Language Foundations - 2 (Coursera) Coursera
Institut Mines-Telecom,Dartmouth College

C Programming: Language Foundations - 2 (Coursera)

In this course you will learn to use logical statements and arrays in C. Logical statements are used for decision-making with follow-up instructions, based on conditions you define. Arrays are used to store, keep track of, and organize larger amounts of data. You will furthermore implement some fundamental algorithms to search and sort data.

Aug 31st 2026
3 Weeks