杰森你好
我们不接受此选项。
仅仅为Linux vm使用整个GPU太昂贵了。
是的我知道。
让我解释一下与NVENC相关的问题:
首先,每个NVENC API调用都需要“void * encoder”对象。
该对象只能由nvEncOpenEncodeSessionEx函数创建。
但是nvEncOpenEncodeSessionEx函数需要为我提供“指向CUDA设备的指针”或“指向Direct X设备的指针”。
我的开发/目标平台是Linux。
微软尚未实现Direct X for Linux :)。
因此,使用NVENC for Linux只是一种选择 - 它是CUDA设备。
但是对于vGPU禁用CUDA。
如何使用Linux vGPU vm使用NVENC编码器?
可能还有其他方式吗?
是否可以在没有CUDA的情况下使用NVENC?
谢谢。
来自NVENC头文件的NvEncOpenEncodeSessionEx文档。
// NvEncOpenEncodeSessionEx
/ **
* brief打开编码会话。
*
*打开编码会话并返回指向编码器接口的指针
* p **编码器参数。
客户端应该通过调用开始编码过程
*此API首先。
*客户端必须在 p * device参数中传递指向IDirect3DDevice9 / CUDA接口的指针。
*如果编码器会话的创建失败,则客户端必须调用:: NvEncDestroyEncoder API
*退出前。
*
* param [in] openSessionExParams
*指向:: NV_ENC_OPEN_ENCODE_SESSION_EX_PARAMS结构的指针。
* param [out]编码器
*将会话指针编码到NvEncodeAPI接口。
以上来自于谷歌翻译
以下为原文
Hello Jason
This option is not acceptable for us. it is too expensive to use whole GPU just for Linux vm.
Yes, I know.
Let me explain my issue related to NVENC:
First, every NVENC API call require "void * encoder" object. This object can be created only by nvEncOpenEncodeSessionEx function.
But nvEncOpenEncodeSessionEx function require to provide me "pointer to CUDA device" or "pointer to Direct X device".
My develop/target platform is Linux. Microsoft is not implemented Direct X for Linux yet :).
So it is only one option to use NVENC for Linux - it is CUDA device. But CUDA is disabled for vGPU.
How can I use NVENC encoder using Linux vGPU vm? May be there any other way? Is it possible to use NVENC without CUDA?
Thank you.
NvEncOpenEncodeSessionEx documentation from NVENC header file.
// NvEncOpenEncodeSessionEx
/**
* brief Opens an encoding session.
*
* Opens an encoding session and returns a pointer to the encoder interface in
* the p **encoder parameter. The client should start encoding process by calling
* this API first.
* The client must pass a pointer to IDirect3DDevice9/CUDA interface in the p *device parameter.
* If the creation of encoder session fails, the client must call ::NvEncDestroyEncoder API
* before exiting.
*
* param [in] openSessionExParams
* Pointer to a ::NV_ENC_OPEN_ENCODE_SESSION_EX_PARAMS structure.
* param [out] encoder
* Encode Session pointer to the NvEncodeAPI interface.
杰森你好
我们不接受此选项。
仅仅为Linux vm使用整个GPU太昂贵了。
是的我知道。
让我解释一下与NVENC相关的问题:
首先,每个NVENC API调用都需要“void * encoder”对象。
该对象只能由nvEncOpenEncodeSessionEx函数创建。
但是nvEncOpenEncodeSessionEx函数需要为我提供“指向CUDA设备的指针”或“指向Direct X设备的指针”。
我的开发/目标平台是Linux。
微软尚未实现Direct X for Linux :)。
因此,使用NVENC for Linux只是一种选择 - 它是CUDA设备。
但是对于vGPU禁用CUDA。
如何使用Linux vGPU vm使用NVENC编码器?
可能还有其他方式吗?
是否可以在没有CUDA的情况下使用NVENC?
谢谢。
来自NVENC头文件的NvEncOpenEncodeSessionEx文档。
// NvEncOpenEncodeSessionEx
/ **
* brief打开编码会话。
*
*打开编码会话并返回指向编码器接口的指针
* p **编码器参数。
客户端应该通过调用开始编码过程
*此API首先。
*客户端必须在 p * device参数中传递指向IDirect3DDevice9 / CUDA接口的指针。
*如果编码器会话的创建失败,则客户端必须调用:: NvEncDestroyEncoder API
*退出前。
*
* param [in] openSessionExParams
*指向:: NV_ENC_OPEN_ENCODE_SESSION_EX_PARAMS结构的指针。
* param [out]编码器
*将会话指针编码到NvEncodeAPI接口。
以上来自于谷歌翻译
以下为原文
Hello Jason
This option is not acceptable for us. it is too expensive to use whole GPU just for Linux vm.
Yes, I know.
Let me explain my issue related to NVENC:
First, every NVENC API call require "void * encoder" object. This object can be created only by nvEncOpenEncodeSessionEx function.
But nvEncOpenEncodeSessionEx function require to provide me "pointer to CUDA device" or "pointer to Direct X device".
My develop/target platform is Linux. Microsoft is not implemented Direct X for Linux yet :).
So it is only one option to use NVENC for Linux - it is CUDA device. But CUDA is disabled for vGPU.
How can I use NVENC encoder using Linux vGPU vm? May be there any other way? Is it possible to use NVENC without CUDA?
Thank you.
NvEncOpenEncodeSessionEx documentation from NVENC header file.
// NvEncOpenEncodeSessionEx
/**
* brief Opens an encoding session.
*
* Opens an encoding session and returns a pointer to the encoder interface in
* the p **encoder parameter. The client should start encoding process by calling
* this API first.
* The client must pass a pointer to IDirect3DDevice9/CUDA interface in the p *device parameter.
* If the creation of encoder session fails, the client must call ::NvEncDestroyEncoder API
* before exiting.
*
* param [in] openSessionExParams
* Pointer to a ::NV_ENC_OPEN_ENCODE_SESSION_EX_PARAMS structure.
* param [out] encoder
* Encode Session pointer to the NvEncodeAPI interface.
举报