NVIDIA DOCA SDK Data Center on a Chip Framework Documentation
doca_dpa_dev.h File Reference
#include <stdint.h>
#include <stddef.h>
#include <doca_compat.h>
Include dependency graph for doca_dpa_dev.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define DOCA_DPA_DEVICE
 declares that we are compiling for the DPA Device More...
 
#define __forceinline   static inline __attribute__((always_inline))
 static inline wrapper More...
 
#define DOCA_DPA_DEV_LOG_ERR(...)   doca_dpa_dev_log(DOCA_DPA_DEV_LOG_LEVEL_ERROR, __VA_ARGS__)
 Generate a DOCA DPA device ERROR log message. More...
 
#define DOCA_DPA_DEV_LOG_WARN(...)   doca_dpa_dev_log(DOCA_DPA_DEV_LOG_LEVEL_WARNING, __VA_ARGS__)
 Generate a DOCA DPA device WARNING log message. More...
 
#define DOCA_DPA_DEV_LOG_INFO(...)   doca_dpa_dev_log(DOCA_DPA_DEV_LOG_LEVEL_INFO, __VA_ARGS__)
 Generate a DOCA DPA device INFO log message. More...
 
#define DOCA_DPA_DEV_LOG_DBG(...)   doca_dpa_dev_log(DOCA_DPA_DEV_LOG_LEVEL_DEBUG, __VA_ARGS__)
 Generate a DOCA DPA device DEBUG log message. More...
 

Typedefs

typedef __dpa_global__ enum doca_dpa_dev_log_level doca_dpa_dev_log_level_t
 DOCA DPA device log levels, sorted by verbosity from high to low. More...
 

Enumerations

enum  doca_dpa_dev_log_level {
  DOCA_DPA_DEV_LOG_LEVEL_DISABLE = 10 , DOCA_DPA_DEV_LOG_LEVEL_ERROR = 30 , DOCA_DPA_DEV_LOG_LEVEL_WARNING = 40 , DOCA_DPA_DEV_LOG_LEVEL_INFO = 50 ,
  DOCA_DPA_DEV_LOG_LEVEL_DEBUG = 60 , DOCA_DPA_DEV_LOG_LEVEL_DISABLE = 10 , DOCA_DPA_DEV_LOG_LEVEL_ERROR = 30 , DOCA_DPA_DEV_LOG_LEVEL_WARNING = 40 ,
  DOCA_DPA_DEV_LOG_LEVEL_INFO = 50 , DOCA_DPA_DEV_LOG_LEVEL_DEBUG = 60
}
 DOCA DPA device log levels, sorted by verbosity from high to low. More...
 
enum  doca_dpa_dev_completion_type_t {
  DOCA_DPA_DEV_COMP_SEND = 0x0 , DOCA_DPA_DEV_COMP_RECV_RDMA_WRITE_IMM = 0x1 , DOCA_DPA_DEV_COMP_RECV_SEND = 0x2 , DOCA_DPA_DEV_COMP_RECV_SEND_IMM = 0x3 ,
  DOCA_DPA_DEV_COMP_SEND_ERR = 0xD , DOCA_DPA_DEV_COMP_RECV_ERR = 0xE
}
 DPA completion type. More...
 
enum  doca_dpa_dev_submit_flag { DOCA_DPA_DEV_SUBMIT_FLAG_NONE = 0U , DOCA_DPA_DEV_SUBMIT_FLAG_FLUSH = (1U << 0) , DOCA_DPA_DEV_SUBMIT_FLAG_OPTIMIZE_REPORTS = (1U << 1) }
 DPA submit flag type. More...
 

Functions

DOCA_EXPERIMENTAL void doca_dpa_dev_device_set (doca_dpa_dev_t dpa_handle)
 Set a DPA device. More...
 
DOCA_EXPERIMENTAL unsigned int doca_dpa_dev_thread_rank (void)
 Obtains the thread rank. More...
 
DOCA_EXPERIMENTAL unsigned int doca_dpa_dev_num_threads (void)
 Obtains the number of threads running the kernel. More...
 
DOCA_EXPERIMENTAL doca_dpa_dev_uintptr_t doca_dpa_dev_thread_get_local_storage (void)
 Get DPA thread local storage. More...
 
DOCA_EXPERIMENTAL void doca_dpa_dev_yield (void)
 Yield a DPA thread. More...
 
DOCA_EXPERIMENTAL void doca_dpa_dev_thread_reschedule (void)
 Reschedule a DPA thread. More...
 
DOCA_EXPERIMENTAL void doca_dpa_dev_thread_finish (void)
 Finish a DPA thread. More...
 
DOCA_EXPERIMENTAL void doca_dpa_dev_thread_notify (doca_dpa_dev_notification_completion_t comp_handle)
 Notify the completion handle and trigger the attached thread. More...
 
DOCA_EXPERIMENTAL void doca_dpa_dev_log (doca_dpa_dev_log_level_t log_level, const char *format,...) __attribute__((format(printf
 Print logs to Host. More...
 
DOCA_EXPERIMENTAL void doca_dpa_dev_trace (uint64_t arg1, uint64_t arg2, uint64_t arg3, uint64_t arg4, uint64_t arg5)
 Creates trace message entry with arguments. More...
 
DOCA_EXPERIMENTAL void doca_dpa_dev_trace_flush (void)
 Flush the trace message buffer to Host. More...
 
DOCA_EXPERIMENTAL void doca_dpa_dev_hash_table_add (doca_dpa_dev_hash_table_t ht_handle, uint32_t key, uint64_t value)
 Map a specific key to the specified value in the hash table. More...
 
DOCA_EXPERIMENTAL void doca_dpa_dev_hash_table_remove (doca_dpa_dev_hash_table_t ht_handle, uint32_t key)
 Remove the key and its corresponding value from the hash table. More...
 
DOCA_EXPERIMENTAL int doca_dpa_dev_hash_table_find (doca_dpa_dev_hash_table_t ht_handle, uint32_t key, uint64_t *value)
 Returns the value to which the specified key is mapped in the hash table. More...
 
DOCA_EXPERIMENTAL int doca_dpa_dev_get_completion (doca_dpa_dev_completion_t dpa_comp_handle, doca_dpa_dev_completion_element_t *comp_element)
 Get DPA completion element. More...
 
DOCA_EXPERIMENTAL doca_dpa_dev_completion_type_t doca_dpa_dev_get_completion_type (doca_dpa_dev_completion_element_t comp_element)
 Get completion element type. More...
 
DOCA_EXPERIMENTAL uint32_t doca_dpa_dev_get_completion_user_data (doca_dpa_dev_completion_element_t comp_element)
 Get completion element user data. More...
 
DOCA_EXPERIMENTAL uint32_t doca_dpa_dev_get_completion_immediate (doca_dpa_dev_completion_element_t comp_element)
 Get completion element immediate data. More...
 
DOCA_EXPERIMENTAL void doca_dpa_dev_completion_ack (doca_dpa_dev_completion_t dpa_comp_handle, uint64_t num_comp)
 Acknowledge that the completions have been read on the completion context. More...
 
DOCA_EXPERIMENTAL void doca_dpa_dev_completion_request_notification (doca_dpa_dev_completion_t dpa_comp_handle)
 Request notification on the DPA completion. More...
 

Variables

__dpa_global__ typedef uint64_t doca_dpa_dev_t
 DPA context handle type definition. More...
 
__dpa_global__ typedef uint64_t doca_dpa_dev_uintptr_t
 DPA pointer type definition. More...
 
__dpa_global__ typedef uint64_t doca_dpa_dev_hash_table_t
 DPA hash table handle type definition. More...
 
__dpa_global__ typedef uint64_t doca_dpa_dev_completion_t
 DPA completion handle type definition. More...
 
__dpa_global__ typedef uint64_t doca_dpa_dev_completion_element_t
 DPA completion element handle type definition. More...
 
__dpa_global__ typedef uint64_t doca_dpa_dev_async_ops_t
 DPA asynchronous ops handle type definition. More...
 
__dpa_global__ typedef uint64_t doca_dpa_dev_notification_completion_t
 DPA notification completion handle type definition. More...