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: 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.

Sep 14th 2026
4 Weeks
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
CS50's Introduction to Computer Science (edX) EdX
HarvardX,Harvard University

CS50's Introduction to Computer Science (edX)

An introduction to the intellectual enterprises of computer science and the art of programming. This is CS50, Harvard University's introduction to the intellectual enterprises of computer science and the art of programming for majors and non-majors alike, with or without prior programming experience. An entry-level course taught by David J. Malan, CS50 teaches students how to think algorithmically and solve problems efficiently.

Self Paced
Self-Paced
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
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
Intermediate Object-Oriented Programming for Unity Games (Coursera) Coursera
University of Colorado System

Intermediate Object-Oriented Programming for Unity Games (Coursera)

This course is the third 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.

Sep 14th 2026
4 Weeks
计算导论与C语言基础 (Coursera) Coursera
Peking University

计算导论与C语言基础 (Coursera)

你有没有好奇过:计算机为什么能够进行计算?计算机程序是怎样运行的?你是否想知道:计算机未来可能的发展趋势有哪些?程序是如何编写出来的?如何学习程序设计语言?程序设计语言的基本成分有哪些?《计算导论》这门课将帮助你解决这些疑惑。

Jun 15th 2026
5-12 Weeks
С/C++ for competitive programming (Coursera) Coursera
Moscow Institute of Physics and Technology

С/C++ for competitive programming (Coursera)

C and C++ are the most popular programming languages in competitive programming, the most convenient and frequently used in competitions. The «C/C++ for competitive programming» online course will introduce the basic concepts of the language, such as variables, data types, conditionals, loops, functions, and others.

Jul 25th 2022
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!

Sep 14th 2026
4 Weeks