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

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?

Oct 12th 2026
3 Weeks
C Programming: Getting Started - 1 (Coursera) Coursera
Institut Mines-Telecom,Dartmouth College

C Programming: Getting Started - 1 (Coursera)

Start learning one of the most powerful and widely used programming languages: C. Within moments you will be coding hands-on in a browser tool that will provide instant feedback on your code. The C programming language is one of the most stable and popular programming languages in the world. It helps to power your smartphone, your car's navigation system, robots, drones, trains, and almost all electronic devices. C is used in any circumstances where speed and flexibility are important, such as in embedded systems or high-performance computing. In this course, you will get started with C and learn how to write your first programs, how to make simple computations and print the results to the screen, how to store values in variables and how to repeat instructions using loops.

Oct 12th 2026
4 Weeks
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
Introducción a la programación en C: Funciones y punteros (edX) EdX
Universidad Autonoma de Madrid

Introducción a la programación en C: Funciones y punteros (edX)

En este curso aprenderás cómo hacer programas modulares a través de funciones y punteros en el lenguaje de programación C, uno de los más utilizados. Este curso en línea te permitirá aprender más conceptos para ampliar tus habilidades de programación en el lenguaje C. Ahora resolveremos los problemas de forma modular, dividiendo el código en pequeñas partes definidas como funciones.

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
Building Objects in C (Coursera) Coursera
University of Michigan

Building Objects in C (Coursera)

In this course, learn how Python was built in C and, by extension, languages like Java and JavaScript. Review object-oriented programming syntax from several languages and use your knowledge of C to build a library that integrates high-level data structures like strings, lists, and dictionaries. Learn how to make your program run as efficiently as possible by covering memory allocation, de-allocation, and object lifecycle.

Oct 12th 2026
5-12 Weeks
More C# Programming and Unity (Coursera) Coursera
University of Colorado System

More C# Programming and Unity (Coursera)

This course is the second course in the specialization about learning how to develop video games using the C# programming language and the Unity game engine on Windows or Mac. Why use C# and Unity instead of some other language and game engine? Well, C# is a really good language for learning how to program and then programming professionally. Also, the Unity game engine is very popular with indie game developers; Unity games were downloaded 16,000,000,000 times in 2016! Finally, C# is one of the programming languages you can use in the Unity environment.

Oct 12th 2026
4 Weeks
Writing, Running, and Fixing Code in C (Coursera) Coursera
Duke University

Writing, Running, and Fixing Code in C (Coursera)

Building on the course Programming Fundamentals, this course will teach you how to write code by first planning what your program should do—an important approach for novice and professional programmers. You will learn how to compile and run your program, and then how to test and debug it. This course builds on the Seven Steps you have already learned and provides a framework for systematically testing for problems and fixing them, so you can find and fix problems efficiently.

Oct 5th 2026
4 Weeks
Programming Fundamentals (Coursera) Coursera
Duke University

Programming Fundamentals (Coursera)

Programming is an increasingly important skill, whether you aspire to a career in software development, or in other fields. This course is the first in the specialization Introduction to Programming in C, but its lessons extend to any language you might want to learn. This is because programming is fundamentally about figuring out how to solve a class of problems and writing the algorithm, a clear set of steps to solve any problem in its class.

Oct 5th 2026
4 Weeks
C Programming: Using Linux Tools and Libraries - 7 (Coursera) Coursera
Institut Mines-Telecom,Dartmouth College

C Programming: Using Linux Tools and Libraries - 7 (Coursera)

Learn how to use professional tools and libraries to write and build C programs within the Linux operating system. This seventh and final course in the C Programming with Linux Specialization will allow you to develop and use your C code within the Linux operating system. Using libraries in C is a fundamental concept when it comes to sharing code with others. In addition to compiling and linking, you will also learn how to pass arguments to an executable program.

Oct 12th 2026
3 Weeks