History log of /dpdk/drivers/gpu/cuda/cuda.c (Results 1 – 14 of 14)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 0354e8e8 29-Apr-2022 Elena Agostini <[email protected]>

gpu/cuda: unmap GPU memory while freeing

Enable GPU_REGISTERED flag in gpu/cuda driver in the memory list.
If a GPU memory address CPU mapped is freed before being
unmapped, CUDA driver unmaps it be

gpu/cuda: unmap GPU memory while freeing

Enable GPU_REGISTERED flag in gpu/cuda driver in the memory list.
If a GPU memory address CPU mapped is freed before being
unmapped, CUDA driver unmaps it before freeing the memory.

Signed-off-by: Elena Agostini <[email protected]>

show more ...


# 7850d19f 13-Apr-2022 Elena Agostini <[email protected]>

gpu/cuda: add more NVIDIA devices

Add more NVIDIA GPU devices to the gpu/cuda driver list
compatible with GPUDirect RDMA.

Signed-off-by: Elena Agostini <[email protected]>


# 442876b2 04-Apr-2022 Elena Agostini <[email protected]>

gpu/cuda: add NVIDIA A30X identifier for DPU

A30X GPU code for DPU.

Signed-off-by: Elena Agostini <[email protected]>


Revision tags: v22.03, v22.03-rc4
# 1fd3de64 08-Mar-2022 Elena Agostini <[email protected]>

gpudev: fix page alignment in communication list

Memory allocated for CPU mapping the status flag
in the communication list should be aligned to the
GPU page size, which can be different of CPU page

gpudev: fix page alignment in communication list

Memory allocated for CPU mapping the status flag
in the communication list should be aligned to the
GPU page size, which can be different of CPU page alignment.

The GPU page size is added to the GPU info,
and is used when creating a communication list.

Fixes: 9b8cae4d991e ("gpudev: use CPU mapping in communication list")

Signed-off-by: Elena Agostini <[email protected]>

show more ...


Revision tags: v22.03-rc3
# 0105d49e 01-Mar-2022 Elena Agostini <[email protected]>

gpu/cuda: fix dependency loading path

A slash was missing in libcuda.so path for dlopen.

Signed-off-by: Elena Agostini <[email protected]>


Revision tags: v22.03-rc2
# 24c77594 25-Feb-2022 Elena Agostini <[email protected]>

gpu/cuda: map GPU memory with GDRCopy

To enable the gpudev rte_gpu_mem_cpu_map feature to expose
GPU memory to the CPU, the GPU CUDA driver library needs
the GDRCopy library and driver.

If DPDK is

gpu/cuda: map GPU memory with GDRCopy

To enable the gpudev rte_gpu_mem_cpu_map feature to expose
GPU memory to the CPU, the GPU CUDA driver library needs
the GDRCopy library and driver.

If DPDK is built without GDRCopy, the GPU CUDA driver returns
error if the is invoked rte_gpu_mem_cpu_map.

All the others GPU CUDA driver functionalities are not affected by
the absence of GDRCopy, thus this is an optional functionality
that can be enabled in the GPU CUDA driver.

CUDA driver documentation has been updated accordingly.

Signed-off-by: Elena Agostini <[email protected]>

show more ...


Revision tags: v22.03-rc1
# 56b5bb50 10-Feb-2022 Elena Agostini <[email protected]>

gpu/cuda: differentiate V100 32GB GPU IDs

Differentiate between GPU V100 32GB SMX2 device id
and V100 32GB PCIe device id.

Signed-off-by: Elena Agostini <[email protected]>


# d69bb47d 27-Jan-2022 Elena Agostini <[email protected]>

gpudev: expose GPU memory to CPU

Enable the possibility to expose a GPU memory area and make it
accessible from the CPU.

GPU memory has to be allocated via rte_gpu_mem_alloc().

This patch allows t

gpudev: expose GPU memory to CPU

Enable the possibility to expose a GPU memory area and make it
accessible from the CPU.

GPU memory has to be allocated via rte_gpu_mem_alloc().

This patch allows the gpudev library to map (and unmap),
through the GPU driver, a chunk of GPU memory and to return
a memory pointer usable by the CPU to access the GPU memory area.

Signed-off-by: Elena Agostini <[email protected]>

show more ...


# c8557ed4 08-Jan-2022 Elena Agostini <[email protected]>

gpudev: add alignment for memory allocation

Similarly to rte_malloc, rte_gpu_mem_alloc accepts as
input the memory alignment size.

GPU driver should return GPU memory address aligned
with the input

gpudev: add alignment for memory allocation

Similarly to rte_malloc, rte_gpu_mem_alloc accepts as
input the memory alignment size.

GPU driver should return GPU memory address aligned
with the input value.

Signed-off-by: Elena Agostini <[email protected]>

show more ...


# 65ac1464 19-Jan-2022 Elena Agostini <[email protected]>

gpu/cuda: add NVIDIA GPU A100 identifier for DPU

Adding a new NVIDIA GPU identifier to let
driver recognize the A100 on a DPU card.

Signed-off-by: Elena Agostini <[email protected]>


# 98ddd04c 21-Dec-2021 Elena Agostini <[email protected]>

gpu/cuda: fix memory list cleanup

Memory list cleanup (called by cuda_mem_free)
was not properly set the new head of the list
when deleting an entry.

Fixes: 1306a73b1958 ("gpu/cuda: introduce CUDA

gpu/cuda: fix memory list cleanup

Memory list cleanup (called by cuda_mem_free)
was not properly set the new head of the list
when deleting an entry.

Fixes: 1306a73b1958 ("gpu/cuda: introduce CUDA driver")
Cc: [email protected]

Signed-off-by: Elena Agostini <[email protected]>

show more ...


Revision tags: v21.11
# 94220b39 24-Nov-2021 Elena Agostini <[email protected]>

gpu/cuda: set rte_errno

Set correct rte_errno variable in CUDA driver
and return -rte_errno in case of error.

rte_errno values are compliant with the gpudev library documentation.

Fixes: 1306a73b1

gpu/cuda: set rte_errno

Set correct rte_errno variable in CUDA driver
and return -rte_errno in case of error.

rte_errno values are compliant with the gpudev library documentation.

Fixes: 1306a73b1958 ("gpu/cuda: introduce CUDA driver")

Signed-off-by: Elena Agostini <[email protected]>

show more ...


Revision tags: v21.11-rc4
# 1674c56d 23-Nov-2021 Elena Agostini <[email protected]>

gpudev: manage null parameters in memory functions

The gpudev functions free, register and unregister
return gracefully if input pointer is NULL or size 0,
as API doc was indicating no-op accepted v

gpudev: manage null parameters in memory functions

The gpudev functions free, register and unregister
return gracefully if input pointer is NULL or size 0,
as API doc was indicating no-op accepted values.

CUDA driver checks are removed because redundant
with the checks added in gpudev library.

Fixes: e818c4e2bf50 ("gpudev: add memory API")

Signed-off-by: Elena Agostini <[email protected]>

show more ...


Revision tags: v21.11-rc3
# 1306a73b 16-Nov-2021 Elena Agostini <[email protected]>

gpu/cuda: introduce CUDA driver

This is the CUDA implementation of the gpudev library.
Functionalities implemented through CUDA Driver API are:
- Device probe and remove
- Manage device memory alloc

gpu/cuda: introduce CUDA driver

This is the CUDA implementation of the gpudev library.
Functionalities implemented through CUDA Driver API are:
- Device probe and remove
- Manage device memory allocations
- Register/unregister external CPU memory in the device memory area

Signed-off-by: Elena Agostini <[email protected]>

show more ...