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

操作系统原理 (Operating Systems) (Coursera) Coursera
Peking University

操作系统原理 (Operating Systems) (Coursera)

操作系统原理》是针对计算机科学技术专业三年级本科生开设的一门专业基础课程。本课程着重学生系统观的培养,通过重点讲述操作系统的内部结构、工作原理及典型技术的实现,使学生建立起对操作系统的整体及各个功能模块的认识,从而系统掌握计算机的专业知识,进一步提升学生的软件开发能力乃至系统软件开发能力。

Nov 23rd 2026
13-24 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.

Nov 9th 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: 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
Competitive Programmer's Core Skills (Coursera) Coursera
Saint Petersburg State University

Competitive Programmer's Core Skills (Coursera)

During the course, you’ll learn everything needed to participate in real competitions — that’s the main goal. Along the way you’ll also gain useful skills for which competitive programmers are so highly valued by employers: ability to write efficient, reliable, and compact code, manage your time well when it’s limited, apply basic algorithmic ideas to real problems, etc.

May 16th 2022
5-12 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.

Nov 2nd 2026
4 Weeks
C Programming: Modular Programming and Memory Management - 3 (Coursera) Coursera
Institut Mines-Telecom,Dartmouth College

C Programming: Modular Programming and Memory Management - 3 (Coursera)

Enhance your coding skills along your path to becoming a proficient C programmer with the essential concepts of functions and pointers. In this course you will be introduced to the concept of modular programming: that is, dividing up more complex tasks into manageable pieces. You will learn how to write your own functions (just like functions in mathematics for example). You will also gain insight into a computer's architecture and learn how its memory is organized.

Nov 9th 2026
3 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.

Nov 9th 2026
4 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.

Nov 9th 2026
4 Weeks