NVIDIA DOCA SDK Data Center on a Chip Framework Documentation
DOCA umem
Collaboration diagram for DOCA umem:

Functions

DOCA_EXPERIMENTAL doca_error_t doca_umem_create (const struct doca_dev *dev, void *address, size_t size, uint32_t access_flags, struct doca_umem **umem_obj)
 creates a doca umem More...
 
DOCA_EXPERIMENTAL doca_error_t doca_umem_dpa_create (struct doca_dpa *dpa, uint64_t address, size_t size, uint32_t access_flags, struct doca_umem **umem_obj)
 creates a DPA doca umem More...
 
DOCA_EXPERIMENTAL doca_error_t doca_umem_gpu_create (struct doca_gpu *gpu, struct doca_dev *dev, void *address, size_t size, uint32_t access_flags, struct doca_umem **umem_obj)
 creates a GPU doca umem More...
 
DOCA_EXPERIMENTAL doca_error_t doca_umem_destroy (struct doca_umem *umem_obj)
 destroys doca umem More...
 
DOCA_EXPERIMENTAL doca_error_t doca_umem_get_id (const struct doca_umem *umem_obj, uint32_t *umem_id)
 This method retrieves the umem id from the umem object. More...
 
DOCA_EXPERIMENTAL doca_error_t doca_umem_get_size (const struct doca_umem *umem_obj, uint32_t *umem_size)
 This method retrieves the umem size from the umem object. More...
 
DOCA_EXPERIMENTAL doca_error_t doca_umem_get_address (const struct doca_umem *umem_obj, void **umem_addr)
 This method retrieves the umem address from the umem object. More...
 

Detailed Description

The DOCA UMEM represents a user mapped memory

Function Documentation

◆ doca_umem_create()

DOCA_EXPERIMENTAL doca_error_t doca_umem_create ( const struct doca_dev *  dev,
void *  address,
size_t  size,
uint32_t  access_flags,
struct doca_umem **  umem_obj 
)

creates a doca umem

Parameters
[in]devDOCA device to create umem on
[in]addresshost address
[in]sizeThe size of the UMEM
[in]access_flagsflags (see doca_access_flag in doca_types.h)
[out]umem_objThe UMEM object
Returns
DOCA_SUCCESS - in case of success. doca_error code - in case of failure:
  • DOCA_ERROR_INVALID_VALUE - if an invalid input had been received.
  • DOCA_ERROR_NO_MEMORY - failed to alloc doca_mmap.
  • DOCA_ERROR_DRIVER - in case of error in a DOCA driver call.

◆ doca_umem_destroy()

DOCA_EXPERIMENTAL doca_error_t doca_umem_destroy ( struct doca_umem *  umem_obj)

destroys doca umem

Parameters
[in]umem_objThe UMEM object
Returns
DOCA_SUCCESS - in case of success. doca_error code - in case of failure:
  • DOCA_ERROR_INVALID_VALUE - if an invalid input had been received.
  • DOCA_ERROR_DRIVER - in case of error in a DOCA driver call.

◆ doca_umem_dpa_create()

DOCA_EXPERIMENTAL doca_error_t doca_umem_dpa_create ( struct doca_dpa *  dpa,
uint64_t  address,
size_t  size,
uint32_t  access_flags,
struct doca_umem **  umem_obj 
)

creates a DPA doca umem

Parameters
[in]dpaDOCA DPA ctx to create UMEM for
[in]addressDPA heap address, acquired by DPA library
[in]sizeThe size of the UMEM
[in]access_flagsflags (see doca_access_flag in doca_types.h)
[out]umem_objThe UMEM object
Returns
DOCA_SUCCESS - in case of success. doca_error code - in case of failure:
  • DOCA_ERROR_INVALID_VALUE - if an invalid input had been received.
  • DOCA_ERROR_NO_MEMORY - failed to alloc doca_mmap.
  • DOCA_ERROR_DRIVER - in case of error in a DOCA driver call.

◆ doca_umem_get_address()

DOCA_EXPERIMENTAL doca_error_t doca_umem_get_address ( const struct doca_umem *  umem_obj,
void **  umem_addr 
)

This method retrieves the umem address from the umem object.

Parameters
[in]umem_objobject
[out]umem_addraddress
Returns
DOCA_SUCCESS - in case of success. doca_error code - in case of failure:
  • DOCA_ERROR_INVALID_VALUE - if an invalid input had been received.

◆ doca_umem_get_id()

DOCA_EXPERIMENTAL doca_error_t doca_umem_get_id ( const struct doca_umem *  umem_obj,
uint32_t *  umem_id 
)

This method retrieves the umem id from the umem object.

Parameters
[in]umem_objThe UMEM object
[out]umem_idid
Returns
DOCA_SUCCESS - in case of success. doca_error code - in case of failure:
  • DOCA_ERROR_INVALID_VALUE - if an invalid input had been received.

◆ doca_umem_get_size()

DOCA_EXPERIMENTAL doca_error_t doca_umem_get_size ( const struct doca_umem *  umem_obj,
uint32_t *  umem_size 
)

This method retrieves the umem size from the umem object.

Parameters
[in]umem_objobject
[out]umem_sizesize
Returns
DOCA_SUCCESS - in case of success. doca_error code - in case of failure:
  • DOCA_ERROR_INVALID_VALUE - if an invalid input had been received.

◆ doca_umem_gpu_create()

DOCA_EXPERIMENTAL doca_error_t doca_umem_gpu_create ( struct doca_gpu *  gpu,
struct doca_dev *  dev,
void *  address,
size_t  size,
uint32_t  access_flags,
struct doca_umem **  umem_obj 
)

creates a GPU doca umem

Parameters
[in]gpuDOCA GPU dev to create UMEM for
[in]devDOCA dev to create UMEM for
[in]addressGPU UMEM address
[in]sizeThe size of the UMEM
[in]access_flagsflags (see doca_access_flag in doca_types.h)
[out]umem_objThe UMEM object
Returns
DOCA_SUCCESS - in case of success. doca_error code - in case of failure:
  • DOCA_ERROR_INVALID_VALUE - if an invalid input had been received.
  • DOCA_ERROR_NO_MEMORY - failed to alloc doca_mmap.
  • DOCA_ERROR_DRIVER - in case of error in a DOCA driver call.