6.28. 表面对象管理
本节介绍CUDA运行时应用程序编程接口的低级纹理对象管理功能。 表面对象API仅支持计算能力3.0或更高的设备。
Functions
- __host__ cudaError_t cudaCreateSurfaceObject ( cudaSurfaceObject_t* pSurfObject, const cudaResourceDesc* pResDesc )
- Creates a surface object.
- __host__ cudaError_t cudaDestroySurfaceObject ( cudaSurfaceObject_t surfObject )
- Destroys a surface object.
- __host__ cudaError_t cudaGetSurfaceObjectResourceDesc ( cudaResourceDesc* pResDesc, cudaSurfaceObject_t surfObject )
- Returns a surface object's resource descriptor Returns the resource descriptor for the surface object specified by surfObject.
Functions
- __host__ cudaError_t cudaCreateSurfaceObject ( cudaSurfaceObject_t* pSurfObject, const cudaResourceDesc* pResDesc )
-
创建一个表面对象。
参数
- pSurfObject
- - Surface object to create
- pResDesc
- - Resource descriptor
返回
cudaSuccess, cudaErrorInvalidValue, cudaErrorInvalidChannelDescriptor, cudaErrorInvalidResourceHandle
描述
创建一个表面对象并在pSurfObject中返回它。pResDesc描述了要执行表面加载/存储操作的数据。cudaResourceDesc::resType必须设置为cudaResourceTypeArray,且cudaResourceDesc::res::array::array必须设置为有效的CUDA数组句柄。
表面对象仅支持计算能力3.0或更高的设备。此外,表面对象是一个不透明的值,因此应仅通过CUDA API调用来访问。
Note:-
请注意,如果此调用尝试初始化CUDA RT内部状态,该函数也可能返回cudaErrorInitializationError、cudaErrorInsufficientDriver或cudaErrorNoDevice。
-
请注意,根据cudaStreamAddCallback的规定,回调函数中不得调用任何CUDA函数。在这种情况下,可能会(但不保证)返回cudaErrorNotPermitted作为诊断信息。
另请参阅:
- __host__ cudaError_t cudaDestroySurfaceObject ( cudaSurfaceObject_t surfObject )
-
销毁一个表面对象。
参数
- surfObject
- - Surface object to destroy
描述
销毁由surfObject指定的表面对象。
Note:-
请注意,如果此调用尝试初始化CUDA RT内部状态,该函数也可能返回cudaErrorInitializationError、cudaErrorInsufficientDriver或cudaErrorNoDevice。
-
请注意,根据cudaStreamAddCallback的规定,回调函数中不得调用任何CUDA函数。在这种情况下,可能会(但不保证)返回cudaErrorNotPermitted作为诊断信息。
-
在此调用后使用该句柄将导致未定义行为。
另请参阅:
- __host__ cudaError_t cudaGetSurfaceObjectResourceDesc ( cudaResourceDesc* pResDesc, cudaSurfaceObject_t surfObject )
-
Returns a surface object's resource descriptor Returns the resource descriptor for the surface object specified by surfObject.
参数
- pResDesc
- - Resource descriptor
- surfObject
- - Surface object
描述
Note:-
请注意,如果此调用尝试初始化CUDA RT内部状态,该函数也可能返回cudaErrorInitializationError、cudaErrorInsufficientDriver或cudaErrorNoDevice。
-
请注意,根据cudaStreamAddCallback的规定,回调函数中不得调用任何CUDA函数。在这种情况下,可能会(但不保证)返回cudaErrorNotPermitted作为诊断信息。
另请参阅: