NVIDIA DOCA SDK Data Center on a Chip Framework Documentation
gpunetio_rdma_client_server_write_sample.c File Reference
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#include <doca_log.h>
#include <doca_error.h>
#include <doca_argp.h>
#include "rdma_common.h"
#include "common.h"
Include dependency graph for gpunetio_rdma_client_server_write_sample.c:

Go to the source code of this file.

Macros

#define SLEEP_IN_NANOS   (10 * 1000)
 
#define NUM_CONN   2
 

Functions

 DOCA_LOG_REGISTER (GPURDMA::SAMPLE)
 
static doca_error_t create_memory_local_remote_server (int oob_sock_fd, struct rdma_resources *resources, int conn_idx, cudaStream_t stream)
 
static doca_error_t create_memory_local_remote_client (int oob_sock_fd, struct rdma_resources *resources, int conn_idx, cudaStream_t stream)
 
static void destroy_memory_local_remote_server (struct rdma_resources *resources)
 
static void destroy_memory_local_remote_client (struct rdma_resources *resources)
 
doca_error_t rdma_write_server (struct rdma_config *cfg)
 
doca_error_t rdma_write_client (struct rdma_config *cfg)
 

Variables

struct rdma_resources resources = {0}
 
struct rdma_mmap_obj server_local_mmap_obj_A [NUM_CONN] = {0}
 
struct rdma_mmap_obj client_local_mmap_obj_B [NUM_CONN] = {0}
 
struct rdma_mmap_obj client_local_mmap_obj_C [NUM_CONN] = {0}
 
struct rdma_mmap_obj client_local_mmap_obj_F [NUM_CONN] = {0}
 
struct doca_mmap * server_remote_mmap_F [NUM_CONN]
 
struct doca_mmap * client_remote_mmap_A [NUM_CONN]
 
const uint32_t access_params = DOCA_ACCESS_FLAG_LOCAL_READ_WRITE | DOCA_ACCESS_FLAG_RDMA_WRITE
 
uint8_t * server_local_buf_A_gpu [NUM_CONN]
 
uint8_t * server_local_buf_A_cpu [NUM_CONN]
 
uint8_t * client_local_buf_B_gpu [NUM_CONN]
 
uint8_t * client_local_buf_B_cpu [NUM_CONN]
 
uint8_t * client_local_buf_C_gpu [NUM_CONN]
 
uint8_t * client_local_buf_C_cpu [NUM_CONN]
 
uint8_t * client_local_buf_F [NUM_CONN]
 
struct buf_arr_obj server_local_buf_arr_A [NUM_CONN] = {0}
 
struct buf_arr_obj server_remote_buf_arr_F [NUM_CONN] = {0}
 
struct buf_arr_obj client_remote_buf_arr_A [NUM_CONN] = {0}
 
struct buf_arr_obj client_local_buf_arr_B [NUM_CONN] = {0}
 
struct buf_arr_obj client_local_buf_arr_C [NUM_CONN] = {0}
 
struct buf_arr_obj client_local_buf_arr_F [NUM_CONN] = {0}
 
cudaStream_t cstream
 
int oob_sock_fd = -1
 
int oob_client_sock = -1
 

Macro Definition Documentation

◆ NUM_CONN

#define NUM_CONN   2

Definition at line 41 of file gpunetio_rdma_client_server_write_sample.c.

◆ SLEEP_IN_NANOS

#define SLEEP_IN_NANOS   (10 * 1000)

Definition at line 40 of file gpunetio_rdma_client_server_write_sample.c.

Function Documentation

◆ create_memory_local_remote_client()

static doca_error_t create_memory_local_remote_client ( int  oob_sock_fd,
struct rdma_resources resources,
int  conn_idx,
cudaStream_t  stream 
)
static

Definition at line 207 of file gpunetio_rdma_client_server_write_sample.c.

◆ create_memory_local_remote_server()

static doca_error_t create_memory_local_remote_server ( int  oob_sock_fd,
struct rdma_resources resources,
int  conn_idx,
cudaStream_t  stream 
)
static

Definition at line 75 of file gpunetio_rdma_client_server_write_sample.c.

◆ destroy_memory_local_remote_client()

static void destroy_memory_local_remote_client ( struct rdma_resources resources)
static

Definition at line 475 of file gpunetio_rdma_client_server_write_sample.c.

◆ destroy_memory_local_remote_server()

static void destroy_memory_local_remote_server ( struct rdma_resources resources)
static

Definition at line 433 of file gpunetio_rdma_client_server_write_sample.c.

◆ DOCA_LOG_REGISTER()

DOCA_LOG_REGISTER ( GPURDMA::SAMPLE  )

◆ rdma_write_client()

doca_error_t rdma_write_client ( struct rdma_config cfg)

Definition at line 822 of file gpunetio_rdma_client_server_write_sample.c.

◆ rdma_write_server()

doca_error_t rdma_write_server ( struct rdma_config cfg)

Definition at line 554 of file gpunetio_rdma_client_server_write_sample.c.

Variable Documentation

◆ access_params

◆ client_local_buf_arr_B

struct buf_arr_obj client_local_buf_arr_B[NUM_CONN] = {0}

Definition at line 57 of file gpunetio_rdma_client_server_write_sample.c.

◆ client_local_buf_arr_C

struct buf_arr_obj client_local_buf_arr_C[NUM_CONN] = {0}

Definition at line 57 of file gpunetio_rdma_client_server_write_sample.c.

◆ client_local_buf_arr_F

struct buf_arr_obj client_local_buf_arr_F[NUM_CONN] = {0}

Definition at line 57 of file gpunetio_rdma_client_server_write_sample.c.

◆ client_local_buf_B_cpu

uint8_t* client_local_buf_B_cpu[NUM_CONN]

Definition at line 54 of file gpunetio_rdma_client_server_write_sample.c.

◆ client_local_buf_B_gpu

uint8_t* client_local_buf_B_gpu[NUM_CONN]

Definition at line 53 of file gpunetio_rdma_client_server_write_sample.c.

◆ client_local_buf_C_cpu

uint8_t* client_local_buf_C_cpu[NUM_CONN]

Definition at line 56 of file gpunetio_rdma_client_server_write_sample.c.

◆ client_local_buf_C_gpu

uint8_t* client_local_buf_C_gpu[NUM_CONN]

Definition at line 55 of file gpunetio_rdma_client_server_write_sample.c.

◆ client_local_buf_F

uint8_t* client_local_buf_F[NUM_CONN]

Definition at line 57 of file gpunetio_rdma_client_server_write_sample.c.

◆ client_local_mmap_obj_B

struct rdma_mmap_obj client_local_mmap_obj_B[NUM_CONN] = {0}

Definition at line 38 of file gpunetio_rdma_client_server_write_sample.c.

◆ client_local_mmap_obj_C

struct rdma_mmap_obj client_local_mmap_obj_C[NUM_CONN] = {0}

Definition at line 38 of file gpunetio_rdma_client_server_write_sample.c.

◆ client_local_mmap_obj_F

struct rdma_mmap_obj client_local_mmap_obj_F[NUM_CONN] = {0}

Definition at line 38 of file gpunetio_rdma_client_server_write_sample.c.

◆ client_remote_buf_arr_A

struct buf_arr_obj client_remote_buf_arr_A[NUM_CONN] = {0}

Definition at line 57 of file gpunetio_rdma_client_server_write_sample.c.

◆ client_remote_mmap_A

struct doca_mmap* client_remote_mmap_A[NUM_CONN]

Definition at line 49 of file gpunetio_rdma_client_server_write_sample.c.

◆ cstream

cudaStream_t cstream

Definition at line 64 of file gpunetio_rdma_client_server_write_sample.c.

◆ oob_client_sock

int oob_client_sock = -1

Definition at line 66 of file gpunetio_rdma_client_server_write_sample.c.

◆ oob_sock_fd

int oob_sock_fd = -1

Definition at line 65 of file gpunetio_rdma_client_server_write_sample.c.

◆ resources

struct rdma_resources resources = {0}

Definition at line 38 of file gpunetio_rdma_client_server_write_sample.c.

◆ server_local_buf_A_cpu

uint8_t* server_local_buf_A_cpu[NUM_CONN]

Definition at line 52 of file gpunetio_rdma_client_server_write_sample.c.

◆ server_local_buf_A_gpu

uint8_t* server_local_buf_A_gpu[NUM_CONN]

Definition at line 51 of file gpunetio_rdma_client_server_write_sample.c.

◆ server_local_buf_arr_A

struct buf_arr_obj server_local_buf_arr_A[NUM_CONN] = {0}

Definition at line 57 of file gpunetio_rdma_client_server_write_sample.c.

◆ server_local_mmap_obj_A

struct rdma_mmap_obj server_local_mmap_obj_A[NUM_CONN] = {0}

Definition at line 38 of file gpunetio_rdma_client_server_write_sample.c.

◆ server_remote_buf_arr_F

struct buf_arr_obj server_remote_buf_arr_F[NUM_CONN] = {0}

Definition at line 57 of file gpunetio_rdma_client_server_write_sample.c.

◆ server_remote_mmap_F

struct doca_mmap* server_remote_mmap_F[NUM_CONN]

Definition at line 48 of file gpunetio_rdma_client_server_write_sample.c.