We may earn an affiliate commission when you visit our partners.
Course image
NVIDIA Training

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.

Read more

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.

Enroll now

What's inside

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
Read more
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!

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Builds a strong foundation for beginners who want to learn Remote Direct Memory Access, RDMA, enabling server-to-server data movement directly between application memory without CPU involvement
Taught by NVIDIA Training, a recognized leader in hardware, and networking with experience accompanying leading HPC, storage, finance, and cloud companies in RDMA application development projects
Develops core RDMA skills, including RDMA verbs, RDMA data-path, and RDMA memory management
Provides 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
Useful for personal growth and development of those in enterprise data centers and supercomputers seeking to understand data movement directly between application memory without any CPU involvement
Offers hands-on labs and interactive materials to help students implement the knowledge acquired in this course

Save this course

Save The Fundamentals of RDMA Programming to your list so you can find it easily later:
Save

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in The Fundamentals of RDMA Programming with these activities:
Review C Programming
The course assumes familiarity with C programming. Review the basics of C before starting the course.
Browse courses on C Programming
Show steps
  • Read through notes from a previous C programming course
  • Complete practice problems
Create and Maintain a Glossary of RDMA Terms
RDMA introduces many new terms and concepts. Creating a glossary will help in understanding and retaining terminology.
Show steps
  • Create a document or spreadsheet to store terms
  • Add new terms as you encounter them in the course
Practice Writing RDMA Code with Exercises
The course provides example RDMA code but doesn't require writing any code. Complete the practice exercise to ensure understanding of course content.
Browse courses on Code Examples
Show steps
  • Implement core RDMA operations in a programming language of your choice
  • Optimize and troubleshoot your code for performance and efficiency
One other activity
Expand to see all activities and additional details
Show all four activities
Mentor a Peer on RDMA Concepts
Mentoring others requires a deep understanding of the material. It also helps identify areas where you may need further study and reinforces concepts.
Show steps
  • Identify a peer to mentor
  • Plan mentoring sessions

Career center

Learners who complete The Fundamentals of RDMA Programming will develop knowledge and skills that may be useful to these careers:
High-Performance Computing Engineer
High Performance Computing Engineers design and build powerful computer systems that can handle large amounts of data and perform complex calculations quickly. This course can help build a foundation for this career by teaching the fundamentals of RDMA programming, which is a key technology used in high performance computing.
Data Engineer
Data Engineers design and build systems to store, process, and analyze large amounts of data. This course can help build a foundation for this career by teaching the fundamentals of RDMA programming, which is a key technology used in data engineering.
Network Engineer
Network Engineers design, build, and maintain computer networks. This course can help build a foundation for this career by teaching the fundamentals of RDMA programming, which is a key technology used in networking.
Software Engineer
Software Engineers design, develop, and maintain software applications. This course can help build a foundation for this career by teaching the fundamentals of RDMA programming, which is a key technology used in software development.
Cloud Architect
Cloud Architects design and build cloud computing systems. This course can help build a foundation for this career by teaching the fundamentals of RDMA programming, which is a key technology used in cloud computing.
DevOps Engineer
DevOps Engineers work to bridge the gap between software development and operations. This course can help build a foundation for this career by teaching the fundamentals of RDMA programming, which is a key technology used in DevOps.
Security Engineer
Security Engineers design and implement security measures to protect computer systems and networks. This course can help build a foundation for this career by teaching the fundamentals of RDMA programming, which is a key technology used in security.
Data Scientist
Data Scientists use data to solve business problems. This course can help build a foundation for this career by teaching the fundamentals of RDMA programming, which is a key technology used in data science.
Machine Learning Engineer
Machine Learning Engineers design and build machine learning models. This course can help build a foundation for this career by teaching the fundamentals of RDMA programming, which is a key technology used in machine learning.
Artificial Intelligence Engineer
Artificial Intelligence Engineers design and build artificial intelligence systems. This course can help build a foundation for this career by teaching the fundamentals of RDMA programming, which is a key technology used in artificial intelligence.
Quantum Computing Engineer
Quantum Computing Engineers design and build quantum computers. This course may be useful for this career as it teaches the fundamentals of RDMA programming, which is a key technology used in quantum computing.
Blockchain Developer
Blockchain Developers design and build blockchain applications. This course may be useful for this career as it teaches the fundamentals of RDMA programming, which is a key technology used in blockchain development.
Computational Scientist
Computational Scientists use computers to solve scientific problems. This course may be useful for this career as it teaches the fundamentals of RDMA programming, which is a key technology used in computational science.
Systems Analyst
Systems Analysts design and implement computer systems. This course may be useful for this career as it teaches the fundamentals of RDMA programming, which is a key technology used in systems analysis.
IT Manager
IT Managers plan and direct the activities of an organization's IT department. This course may be useful for this career as it teaches the fundamentals of RDMA programming, which is a key technology used in IT management.

Reading list

We've selected nine books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in The Fundamentals of RDMA Programming.
Excellent resource for learning about parallel programming on modern architectures, including multicore processors and GPUs.
Offers a detailed coverage of OpenMP programming. Useful resource for those interested in OpenMP.
Provides a comprehensive collection of numerical recipes for scientific computing. It valuable resource for scientists and engineers who need to solve complex numerical problems.
Provides a comprehensive overview of computational complexity. It good resource for learning about the theory of computation and the complexity of different computational problems.
An in-depth guide to the TCP/IP protocol suite. valuable resource for network programmers.
An extensive and commonly used guide to computer networking. A great resource if you need to brush up on the core concepts. Could also serve as additional reading for background knowledge.
The advanced concepts of UNIX programming, this book must-have for any programmer. Covers all the important details and concepts. This could serve as background for this course, especially on networking-related concepts.
Provides a comprehensive overview of parallel programming with MPI. It good resource for understanding the basics of parallel programming and how to use MPI to develop parallel applications.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Here are nine courses similar to The Fundamentals of RDMA Programming.
Omnibond: Creating an HPC Environment in Google Cloud...
Most relevant
Introduction to High-Performance and Parallel Computing
Most relevant
Logging and Monitoring in Google Cloud
Logging and Monitoring in Google Cloud
Embedded Systems using C
Introduction to Pointers and Memory Management in C/C++
Introduction to Computers
Java SE Performance with JMeter
Build a Guessing Game Application using Java
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser