将 NVIDIA GPUDirect RDMA 与 nvJPEG 结合使用

问题描述 投票:0回答:3

是否可以将 NVIDIA GPIDirect RDMANVIDIA nvJPEG 一起使用?

从 RDMA 技术的描述来看,这应该是可能的,但似乎 nvJPEG 接口只需要主机内存输入。

c++ image-processing cuda jpeg nvidia
3个回答
2
投票

您可以使用 nvJPEG 对设备内存中的原始数据进行编码,并将输出存储在设备内存中。您可以使用 nvjpegEncodeImage() ,然后使用 nvjpegEncodeRetrieveBitstreamDevice()

关于解码,您可以使用带有_DEVICE后端的批处理API!它允许传递设备指针


1
投票

Nvidia nvJPEG 使用混合方法进行 JPEG 解码。有些代码在CPU上执行,有些在GPU上执行。

特别参见解耦函数https://docs.nvidia.com/cuda/nvjpeg/index.html#nvjpeg-de Coupled-decode-api

所以,不,这是不可能的。


0
投票

CUDA工具包12.6版注意事项: https://docs.nvidia.com/cuda/nvjpeg/index.html#nvjpeg-de Coupled-decode-api

这里我看到有两种方法:

NVJPEG_BACKEND_HYBRID
- 使用 CPU 进行霍夫曼解码。

NVJPEG_BACKEND_GPU_HYBRID
- 使用 GPU 进行霍夫曼解码。当批量大小大于 50 时,nvjpegDecodeBatched 将使用 GPU 解码具有交错扫描的基线 JPEG 图像。解耦的 API 将使用 GPU 辅助 Huffman 解码。

我猜 CUDA 可以使用以下方法进行霍夫曼解码:

NVJPEG_BACKEND_GPU_HYBRID

注意:这两种方法似乎不属于内置 JPEG 硬件解码器(仅在企业级 GPU 中存在),因此应通过 CUDA 核心完成。

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.