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).
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.
Overview
Syllabus
- RDMA Basics
- In this module, you will learn what is RDMA and fundamental concepts such as memory zero copy and transport offloads.
- Core RDMA
- In this module you will be introduced to core RDMA components: RDMA verbs RDMA data-path RDMA memory management
- RDMA Operations
- 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
- In this module, you will become familiar with essential code examples from the RDMA core GitHub repository.
- RDMA Connection Management
- 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
- 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
- It is highly recommended that you complete all the course activities before you begin the quiz. Good luck!
Taught by
NVIDIA Training