CUDA Driver API. API Reference Manual (January 2024) - page 11

 

  Index      Manuals     CUDA Driver API. API Reference Manual (January 2024)

 

Search            copyright infringement  

 

   

 

   

 

Content      ..     9      10      11     

 

 

 

 

CUDA Driver API. API Reference Manual (January 2024) - page 11

 

 

Data Structures
size_t CUDA_RESOURCE_VIEW_DESC_v1::depth
Depth of the resource view
unsigned int
CUDA_RESOURCE_VIEW_DESC_v1::firstLayer
First layer index
unsigned int
CUDA_RESOURCE_VIEW_DESC_v1::firstMipmapLevel
First defined mipmap level
CUresourceViewFormat
CUDA_RESOURCE_VIEW_DESC_v1::format
Resource view format
size_t CUDA_RESOURCE_VIEW_DESC_v1::height
Height of the resource view
unsigned int
CUDA_RESOURCE_VIEW_DESC_v1::lastLayer
Last layer index
unsigned int
CUDA_RESOURCE_VIEW_DESC_v1::lastMipmapLevel
Last defined mipmap level
size_t CUDA_RESOURCE_VIEW_DESC_v1::width
Width of the resource view
|
712
Data Structures
7.48. CUDA_TEXTURE_DESC_v1 Struct
Reference
Texture descriptor
CUaddress_mode
CUDA_TEXTURE_DESC_v1::addressMode
Address modes
float CUDA_TEXTURE_DESC_v1::borderColor
Border Color
CUfilter_mode CUDA_TEXTURE_DESC_v1::filterMode
Filter mode
unsigned int CUDA_TEXTURE_DESC_v1::flags
Flags
unsigned int
CUDA_TEXTURE_DESC_v1::maxAnisotropy
Maximum anisotropy ratio
float
CUDA_TEXTURE_DESC_v1::maxMipmapLevelClamp
Mipmap maximum level clamp
float
CUDA_TEXTURE_DESC_v1::minMipmapLevelClamp
Mipmap minimum level clamp
|
713
Data Structures
CUfilter_mode
CUDA_TEXTURE_DESC_v1::mipmapFilterMode
Mipmap filter mode
float CUDA_TEXTURE_DESC_v1::mipmapLevelBias
Mipmap level bias
7.49. CUdevprop_v1 Struct Reference
Legacy device properties
int CUdevprop_v1::clockRate
Clock frequency in kilohertz
int CUdevprop_v1::maxGridSize
Maximum size of each dimension of a grid
int CUdevprop_v1::maxThreadsDim
Maximum size of each dimension of a block
int CUdevprop_v1::maxThreadsPerBlock
Maximum number of threads per block
int CUdevprop_v1::memPitch
Maximum pitch in bytes allowed by memory copies
int CUdevprop_v1::regsPerBlock
32-bit registers available per block
int CUdevprop_v1::sharedMemPerBlock
Shared memory available per block in bytes
|
714
Data Structures
int CUdevprop_v1::SIMDWidth
Warp size in threads
int CUdevprop_v1::textureAlign
Alignment requirement for textures
int CUdevprop_v1::totalConstantMemory
Constant memory available on device in bytes
7.50. CUdevResource Struct Reference
A tagged union describing different resources identified by the type field. This structure should not be
directly modified outside of the API that created it.
‎ struct {
CUdevResourceType type;
union {
CUdevSmResource sm;
};
};
If type is CU_DEV_RESOURCE_TYPE_INVALID, this resoure is not valid and cannot be further
accessed.
If type is CU_DEV_RESOURCE_TYPE_SM, the CUdevSmResource structure sm is filled in.
For example, sm.smCount will reflect the amount of streaming multiprocessors available in this
resource.
7.51. CUdevSmResource Struct Reference
Data for SM-related resources
unsigned int CUdevSmResource::smCount
The amount of streaming multiprocessors available in this resource. This is an output parameter only,
do not write to this field.
7.52. CUeglFrame_v1 Struct Reference
CUDA EGLFrame structure Descriptor - structure defining one frame of EGL.
|
715
Data Structures
Each frame may contain one or more planes depending on whether the surface * is Multiplanar or not.
CUarray_format CUeglFrame_v1::cuFormat
CUDA Array Format
unsigned int CUeglFrame_v1::depth
Depth of first plane
CUeglColorFormat CUeglFrame_v1::eglColorFormat
CUDA EGL Color Format
CUeglFrameType CUeglFrame_v1::frameType
Array or Pitch
unsigned int CUeglFrame_v1::height
Height of first plane
unsigned int CUeglFrame_v1::numChannels
Number of channels for the plane
CUarray CUeglFrame_v1::pArray
Array of CUarray corresponding to each plane
unsigned int CUeglFrame_v1::pitch
Pitch of first plane
unsigned int CUeglFrame_v1::planeCount
Number of planes
void *CUeglFrame_v1::pPitch
Array of Pointers corresponding to each plane
|
716
Data Structures
unsigned int CUeglFrame_v1::width
Width of first plane
7.53. CUexecAffinityParam_v1 Struct
Reference
Execution Affinity Parameters
7.54. CUexecAffinitySmCount_v1 Struct
Reference
Value for CU_EXEC_AFFINITY_TYPE_SM_COUNT
unsigned int CUexecAffinitySmCount_v1::val
The number of SMs the context is limited to use.
7.55. CUextent3D_v1 Struct Reference
Struct representing width/height/depth of a CUarray in elements
7.56. CUgraphEdgeData Struct Reference
Optional annotation for edges in a CUDA graph. Note, all edges implicitly have annotations and
default to a zero-initialized value if not specified. A zero-initialized struct indicates a standard full
serialization of two nodes with memory visibility.
unsigned char CUgraphEdgeData::from_port
This indicates when the dependency is triggered from the upstream node on the edge.
The meaning is specfic to the node type. A value of 0 in all cases means full completion
of the upstream node, with memory visibility to the downstream node or portion thereof
(indicated by to_port). Only kernel nodes define non-zero ports. A kernel node can
use the following output port types: CU_GRAPH_KERNEL_NODE_PORT_DEFAULT,
CU_GRAPH_KERNEL_NODE_PORT_PROGRAMMATIC, or
CU_GRAPH_KERNEL_NODE_PORT_LAUNCH_ORDER.
|
717
Data Structures
unsigned char CUgraphEdgeData::reserved
These bytes are unused and must be zeroed. This ensures compatibility if additional fields are added in
the future.
unsigned char CUgraphEdgeData::to_port
This indicates what portion of the downstream node is dependent on the upstream node or portion
thereof (indicated by from_port). The meaning is specific to the node type. A value of 0 in all cases
means the entirety of the downstream node is dependent on the upstream work. Currently no node
types define non-zero ports. Accordingly, this field must be set to zero.
unsigned char CUgraphEdgeData::type
This should be populated with a value from CUgraphDependencyType. (It is typed as char due to
compiler-specific layout of bitfields.) See CUgraphDependencyType.
7.57. CUgraphExecUpdateResultInfo_v1
Struct Reference
Result information returned by cuGraphExecUpdate
CUgraphNode
CUgraphExecUpdateResultInfo_v1::errorFromNode
The from node of error edge when the topologies do not match. Otherwise NULL.
CUgraphNode
CUgraphExecUpdateResultInfo_v1::errorNode
The "to node" of the error edge when the topologies do not match. The error node when the error is
associated with a specific node. NULL when the error is generic.
CUgraphExecUpdateResult
CUgraphExecUpdateResultInfo_v1::result
Gives more specific detail when a cuda graph update fails.
|
718
Data Structures
7.58. CUgraphNodeParams Struct Reference
Graph node parameters. See cuGraphAddNode.
struct CUDA_MEM_ALLOC_NODE_PARAMS_v2
CUgraphNodeParams::alloc
Memory allocation node parameters.
struct CUDA_CONDITIONAL_NODE_PARAMS
CUgraphNodeParams::conditional
Conditional node parameters.
struct CUDA_EVENT_RECORD_NODE_PARAMS
CUgraphNodeParams::eventRecord
Event record node parameters.
struct CUDA_EVENT_WAIT_NODE_PARAMS
CUgraphNodeParams::eventWait
Event wait node parameters.
struct CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2
CUgraphNodeParams::extSemSignal
External semaphore signal node parameters.
struct CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2
CUgraphNodeParams::extSemWait
External semaphore wait node parameters.
struct CUDA_MEM_FREE_NODE_PARAMS
CUgraphNodeParams::free
Memory free node parameters.
|
719
Data Structures
struct CUDA_CHILD_GRAPH_NODE_PARAMS
CUgraphNodeParams::graph
Child graph node parameters.
struct CUDA_HOST_NODE_PARAMS_v2
CUgraphNodeParams::host
Host node parameters.
struct CUDA_KERNEL_NODE_PARAMS_v3
CUgraphNodeParams::kernel
Kernel node parameters.
struct CUDA_MEMCPY_NODE_PARAMS
CUgraphNodeParams::memcpy
Memcpy node parameters.
struct CUDA_BATCH_MEM_OP_NODE_PARAMS_v2
CUgraphNodeParams::memOp
MemOp node parameters.
struct CUDA_MEMSET_NODE_PARAMS_v2
CUgraphNodeParams::memset
Memset node parameters.
int CUgraphNodeParams::reserved0
Reserved. Must be zero.
long long CUgraphNodeParams::reserved1
Padding. Unused bytes must be zero.
|
720
Data Structures
long long CUgraphNodeParams::reserved2
Reserved bytes. Must be zero.
CUgraphNodeType CUgraphNodeParams::type
Type of the node
7.59. CUipcEventHandle_v1 Struct Reference
CUDA IPC event handle
7.60. CUipcMemHandle_v1 Struct Reference
CUDA IPC mem handle
7.61. CUlaunchAttribute Struct Reference
Launch attribute
CUlaunchAttributeID CUlaunchAttribute::id
Attribute to set
CUlaunchAttribute::value
Value of the attribute
7.62. CUlaunchAttributeValue Union
Reference
Launch attributes union; used as value field of CUlaunchAttribute
struct CUaccessPolicyWindow
CUlaunchAttributeValue::accessPolicyWindow
Value of launch attribute CU_LAUNCH_ATTRIBUTE_ACCESS_POLICY_WINDOW.
|
721
Data Structures
CUlaunchAttributeValue::@6
CUlaunchAttributeValue::clusterDim
Value of launch attribute CU_LAUNCH_ATTRIBUTE_CLUSTER_DIMENSION that represents the
desired cluster dimensions for the kernel. Opaque type with the following fields:
x - The X dimension of the cluster, in blocks. Must be a divisor of the grid X dimension.
y - The Y dimension of the cluster, in blocks. Must be a divisor of the grid Y dimension.
z - The Z dimension of the cluster, in blocks. Must be a divisor of the grid Z dimension.
CUclusterSchedulingPolicy
CUlaunchAttributeValue::clusterSchedulingPolicyPreference
Value of launch attribute
CU_LAUNCH_ATTRIBUTE_CLUSTER_SCHEDULING_POLICY_PREFERENCE. Cluster
scheduling policy preference for the kernel.
int CUlaunchAttributeValue::cooperative
Value of launch attribute CU_LAUNCH_ATTRIBUTE_COOPERATIVE. Nonzero indicates a
cooperative kernel (see cuLaunchCooperativeKernel).
CUlaunchAttributeValue::@10
CUlaunchAttributeValue::deviceUpdatableKernelNode
Value of launch attribute CU_LAUNCH_ATTRIBUTE_DEVICE_UPDATABLE_KERNEL_NODE.
with the following fields:
int deviceUpdatable - Whether or not the resulting kernel node should be device-updatable.
CUgraphDeviceNode devNode - Returns a handle to pass to the various device-side update
functions.
CUlaunchAttributeValue::@8
CUlaunchAttributeValue::launchCompletionEvent
Value of launch attribute CU_LAUNCH_ATTRIBUTE_LAUNCH_COMPLETION_EVENT with the
following fields:
CUevent event - Event to fire when the last block launches
int flags; - Event record flags, see cuEventRecordWithFlags. Does not accept
CU_EVENT_RECORD_EXTERNAL.
|
722
Data Structures
CUlaunchMemSyncDomain
CUlaunchAttributeValue::memSyncDomain
Value of launch attribute CU_LAUNCH_ATTRIBUTE_MEM_SYNC_DOMAIN.
See::CUlaunchMemSyncDomain
struct CUlaunchMemSyncDomainMap
CUlaunchAttributeValue::memSyncDomainMap
Value of launch attribute CU_LAUNCH_ATTRIBUTE_MEM_SYNC_DOMAIN_MAP. See
CUlaunchMemSyncDomainMap.
CUlaunchAttributeValue::@9
CUlaunchAttributeValue::preferredClusterDim
Value of launch attribute CU_LAUNCH_ATTRIBUTE_PREFERRED_CLUSTER_DIMENSION
that represents the desired preferred cluster dimensions for the kernel. Opaque type with the following
fields:
x - The X dimension of the preferred cluster, in blocks. Must be a divisor of the grid X dimension,
and must be a multiple of the x field of CUlaunchAttributeValue::clusterDim.
y - The Y dimension of the preferred cluster, in blocks. Must be a divisor of the grid Y dimension,
and must be a multiple of the y field of CUlaunchAttributeValue::clusterDim.
z - The Z dimension of the preferred cluster, in blocks. Must be equal to the z field of
CUlaunchAttributeValue::clusterDim.
int CUlaunchAttributeValue::priority
Value of launch attribute CU_LAUNCH_ATTRIBUTE_PRIORITY. Execution priority of the kernel.
CUlaunchAttributeValue::@7
CUlaunchAttributeValue::programmaticEvent
Value of launch attribute CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC_EVENT with the
following fields:
CUevent event - Event to fire when all blocks trigger it.
Event record flags, see cuEventRecordWithFlags. Does not
accept :CU_EVENT_RECORD_EXTERNAL.
triggerAtBlockStart - If this is set to non-0, each block launch will automatically trigger
the event.
|
723
Data Structures
int
CUlaunchAttributeValue::programmaticStreamSerializationAllowed
Value of launch attribute
CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC_STREAM_SERIALIZATION.
unsigned int
CUlaunchAttributeValue::sharedMemCarveout
Value of launch attribute
CU_LAUNCH_ATTRIBUTE_PREFERRED_SHARED_MEMORY_CARVEOUT.
CUsynchronizationPolicy
CUlaunchAttributeValue::syncPolicy
Value of launch attribute CU_LAUNCH_ATTRIBUTE_SYNCHRONIZATION_POLICY.
CUsynchronizationPolicy for work queued up in this stream
7.63. CUlaunchConfig Struct Reference
CUDA extensible launch configuration
CUlaunchAttribute *CUlaunchConfig::attrs
List of attributes; nullable if CUlaunchConfig::numAttrs == 0
unsigned int CUlaunchConfig::blockDimX
X dimension of each thread block
unsigned int CUlaunchConfig::blockDimY
Y dimension of each thread block
unsigned int CUlaunchConfig::blockDimZ
Z dimension of each thread block
|
724
Data Structures
unsigned int CUlaunchConfig::gridDimX
Width of grid in blocks
unsigned int CUlaunchConfig::gridDimY
Height of grid in blocks
unsigned int CUlaunchConfig::gridDimZ
Depth of grid in blocks
CUstream CUlaunchConfig::hStream
Stream identifier
unsigned int CUlaunchConfig::numAttrs
Number of attributes populated in CUlaunchConfig::attrs
unsigned int CUlaunchConfig::sharedMemBytes
Dynamic shared-memory size per thread block in bytes
7.64. CUlaunchMemSyncDomainMap Struct
Reference
Memory Synchronization Domain map
See cudaLaunchMemSyncDomain.
By default, kernels are launched in domain 0. Kernel launched with
CU_LAUNCH_MEM_SYNC_DOMAIN_REMOTE will have a different domain ID. User may also
alter the domain ID with CUlaunchMemSyncDomainMap for a specific stream / graph node / kernel
launch. See CU_LAUNCH_ATTRIBUTE_MEM_SYNC_DOMAIN_MAP.
Domain ID range is available through
CU_DEVICE_ATTRIBUTE_MEM_SYNC_DOMAIN_COUNT.
unsigned char CUlaunchMemSyncDomainMap::default_
The default domain ID to use for designated kernels
|
725
Data Structures
unsigned char CUlaunchMemSyncDomainMap::remote
The remote domain ID to use for designated kernels
7.65. CUmemAccessDesc_v1 Struct Reference
Memory access descriptor
CUmemAccess_flags CUmemAccessDesc_v1::flags
CUmemProt accessibility flags to set on the request
struct CUmemLocation CUmemAccessDesc_v1::location
Location on which the request is to change it's accessibility
7.66. CUmemAllocationProp_v1 Struct
Reference
Specifies the allocation properties for a allocation.
unsigned char
CUmemAllocationProp_v1::compressionType
Allocation hint for requesting compressible memory. On devices that support Compute Data
Compression, compressible memory can be used to accelerate accesses to data with unstructured
sparsity and other compressible data patterns. Applications are expected to query allocation property of
the handle obtained with cuMemCreate using cuMemGetAllocationPropertiesFromHandle to validate
if the obtained allocation is compressible or not. Note that compressed memory may not be mappable
on all devices.
struct CUmemLocation
CUmemAllocationProp_v1::location
Location of allocation
|
726
Data Structures
CUmemAllocationHandleType
CUmemAllocationProp_v1::requestedHandleTypes
requested CUmemAllocationHandleType
CUmemAllocationType CUmemAllocationProp_v1::type
Allocation type
unsigned short CUmemAllocationProp_v1::usage
Bitmask indicating intended usage for this allocation
void *CUmemAllocationProp_v1::win32HandleMetaData
Windows-specific POBJECT_ATTRIBUTES required when CU_MEM_HANDLE_TYPE_WIN32
is specified. This object attributes structure includes security attributes that define the scope of which
exported allocations may be transferred to other processes. In all other cases, this field is required to be
zero.
7.67. CUmemcpy3DOperand_v1 Struct
Reference
Struct representing an operand for copy with cuMemcpy3DBatchAsync
CUmemcpy3DOperand_v1::@37::@39
CUmemcpy3DOperand_v1::array
Struct representing an operand when CUmemcpy3DOperand::type is
CU_MEMCPY_OPERAND_TYPE_ARRAY
size_t CUmemcpy3DOperand_v1::layerHeight
Height of each layer in elements.
|
727
Data Structures
struct CUmemLocation
CUmemcpy3DOperand_v1::locHint
Hint location for the operand. Ignored when the pointers are not managed memory or memory allocated
outside CUDA.
CUmemcpy3DOperand_v1::@37::@38
CUmemcpy3DOperand_v1::ptr
Struct representing an operand when CUmemcpy3DOperand::type is
CU_MEMCPY_OPERAND_TYPE_POINTER
size_t CUmemcpy3DOperand_v1::rowLength
Length of each row in elements.
7.68. CUmemcpyAttributes_v1 Struct
Reference
Attributes specific to copies within a batch. For more details on usage see cuMemcpyBatchAsync.
struct CUmemLocation
CUmemcpyAttributes_v1::dstLocHint
Hint location for the destination operand. Ignored when the pointers are not managed memory or
memory allocated outside CUDA.
unsigned int CUmemcpyAttributes_v1::flags
Additional flags for copies with this attribute. See CUmemcpyFlags
CUmemcpySrcAccessOrder
CUmemcpyAttributes_v1::srcAccessOrder
Source access ordering to be observed for copies with this attribute.
|
728
Data Structures
struct CUmemLocation
CUmemcpyAttributes_v1::srcLocHint
Hint location for the source operand. Ignored when the pointers are not managed memory or memory
allocated outside CUDA.
7.69. CUmemDecompressParams Struct
Reference
Structure describing the parameters that compose a single decompression operation.
CUmemDecompressAlgorithm
CUmemDecompressParams::algo
The decompression algorithm to use.
void *CUmemDecompressParams::dst
Pointer to a buffer where the decompressed data will be written. The number of bytes written to this
location will be recorded in the memory pointed to by CUmemDecompressParams_st.dstActBytes
cuuint32_t *CUmemDecompressParams::dstActBytes
After the decompression operation has completed, the actual number of bytes written to
CUmemDecompressParams.dst will be recorded as a 32-bit unsigned integer in the memory at this
address.
size_t CUmemDecompressParams::dstNumBytes
The number of bytes that the decompression operation will be expected to write to
CUmemDecompressParams_st.dst. This value is optional; if present, it may be used by the CUDA
driver as a heuristic for scheduling the individual decompression operations.
const void *CUmemDecompressParams::src
Pointer to a buffer of at least CUmemDecompressParams_st.srcNumBytes compressed bytes.
size_t CUmemDecompressParams::srcNumBytes
The number of bytes to be read and decompressed from CUmemDecompressParams_st.src.
|
729
Data Structures
7.70. CUmemFabricHandle_v1 Struct
Reference
Fabric handle - An opaque handle representing a memory allocation that can be exported to processes
in same or different nodes. For IPC between processes on different nodes they must be connected via
the NVSwitch fabric.
7.71. CUmemLocation_v1 Struct Reference
Specifies a memory location.
int CUmemLocation_v1::id
identifier for a given this location's CUmemLocationType.
CUmemLocationType CUmemLocation_v1::type
Specifies the location type, which modifies the meaning of id.
7.72. CUmemPoolProps_v1 Struct Reference
Specifies the properties of allocations made from the pool.
CUmemAllocationType CUmemPoolProps_v1::allocType
Allocation type. Currently must be specified as CU_MEM_ALLOCATION_TYPE_PINNED
CUmemAllocationHandleType
CUmemPoolProps_v1::handleTypes
Handle types that will be supported by allocations from the pool.
struct CUmemLocation CUmemPoolProps_v1::location
Location where allocations should reside.
|
730
Data Structures
size_t CUmemPoolProps_v1::maxSize
Maximum pool size. When set to 0, defaults to a system dependent value.
unsigned char CUmemPoolProps_v1::reserved
reserved for future use, must be 0
unsigned short CUmemPoolProps_v1::usage
Bitmask indicating intended usage for the pool.
void *CUmemPoolProps_v1::win32SecurityAttributes
Windows-specific LPSECURITYATTRIBUTES required when CU_MEM_HANDLE_TYPE_WIN32
is specified. This security attribute defines the scope of which exported allocations may be transferred
to other processes. In all other cases, this field is required to be zero.
7.73. CUmemPoolPtrExportData_v1 Struct
Reference
Opaque data for exporting a pool allocation
7.74. CUmulticastObjectProp_v1 Struct
Reference
Specifies the properties for a multicast object.
unsigned long long CUmulticastObjectProp_v1::flags
Flags for future use, must be zero now
unsigned long long
CUmulticastObjectProp_v1::handleTypes
Bitmask of exportable handle types (see CUmemAllocationHandleType) for this object
|
731
Data Structures
unsigned int CUmulticastObjectProp_v1::numDevices
The number of devices in the multicast team that will bind memory to this object
size_t CUmulticastObjectProp_v1::size
The maximum amount of memory that can be bound to this multicast object per device
7.75. CUoffset3D_v1 Struct Reference
Struct representing offset into a CUarray in elements
7.76. CUstreamBatchMemOpParams_v1
Union Reference
Per-operation parameters for cuStreamBatchMemOp
7.77. CUtensorMap Struct Reference
Tensor map descriptor. Requires compiler support for aligning to 64 bytes.
7.14. Difference between the driver and
runtime APIs
The driver and runtime APIs are very similar and can for the most part be used interchangeably.
However, there are some key differences worth noting between the two.
Complexity vs. control
The runtime API eases device code management by providing implicit initialization, context
management, and module management. This leads to simpler code, but it also lacks the level of control
that the driver API has.
In comparison, the driver API offers more fine-grained control, especially over contexts and module
loading. Kernel launches are much more complex to implement, as the execution configuration and
kernel parameters must be specified with explicit function calls. However, unlike the runtime, where
all the kernels are automatically loaded during initialization and stay loaded for as long as the program
runs, with the driver API it is possible to only keep the modules that are currently needed loaded, or
|
732
Data Structures
even dynamically reload modules. The driver API is also language-independent as it only deals with
cubin objects.
Context management
Context management can be done through the driver API, but is not exposed in the runtime API.
Instead, the runtime API decides itself which context to use for a thread: if a context has been made
current to the calling thread through the driver API, the runtime will use that, but if there is no such
context, it uses a "primary context." Primary contexts are created as needed, one per device per
process, are reference-counted, and are then destroyed when there are no more references to them.
Within one process, all users of the runtime API will share the primary context, unless a context has
been made current to each thread. The context that the runtime uses, i.e, either the current context
or primary context, can be synchronized with cudaDeviceSynchronize(), and destroyed with
cudaDeviceReset().
Using the runtime API with primary contexts has its tradeoffs, however. It can cause trouble for users
writing plug-ins for larger software packages, for example, because if all plug-ins run in the same
process, they will all share a context but will likely have no way to communicate with each other. So,
if one of them calls cudaDeviceReset() after finishing all its CUDA work, the other plug-ins will
fail because the context they were using was destroyed without their knowledge. To avoid this issue,
CUDA clients can use the driver API to create and set the current context, and then use the runtime API
to work with it. However, contexts may consume significant resources, such as device memory, extra
host threads, and performance costs of context switching on the device. This runtime-driver context
sharing is important when using the driver API in conjunction with libraries built on the runtime API,
such as cuBLAS or cuFFT.
|
733
Chapter 8.
Data Fields
Here is a list of all documented struct and union fields with links to the struct/union documentation for
each field:
A
accessDescCount
CUDA_MEM_ALLOC_NODE_PARAMS_v1
CUDA_MEM_ALLOC_NODE_PARAMS_v2
accessDescs
CUDA_MEM_ALLOC_NODE_PARAMS_v2
CUDA_MEM_ALLOC_NODE_PARAMS_v1
accessPolicyWindow
CUlaunchAttributeValue
addressMode
CUDA_TEXTURE_DESC_v1
algo
CUmemDecompressParams
alignment
CUDA_ARRAY_MEMORY_REQUIREMENTS_v1
alloc
CUgraphNodeParams
allocType
CUmemPoolProps_v1
array
CUmemcpy3DOperand_v1
arrayDesc
CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_v1
attrs
CUlaunchConfig
B
base_ptr
CUaccessPolicyWindow_v1
|
734
Data Fields
blockDimX
CUDA_KERNEL_NODE_PARAMS_v1
CUDA_KERNEL_NODE_PARAMS_v3
CUlaunchConfig
CUDA_KERNEL_NODE_PARAMS_v2
CUDA_LAUNCH_PARAMS_v1
blockDimY
CUDA_KERNEL_NODE_PARAMS_v2
CUDA_KERNEL_NODE_PARAMS_v3
CUlaunchConfig
CUDA_LAUNCH_PARAMS_v1
CUDA_KERNEL_NODE_PARAMS_v1
blockDimZ
CUlaunchConfig
CUDA_LAUNCH_PARAMS_v1
CUDA_KERNEL_NODE_PARAMS_v2
CUDA_KERNEL_NODE_PARAMS_v3
CUDA_KERNEL_NODE_PARAMS_v1
borderColor
CUDA_TEXTURE_DESC_v1
bytesize
CUDA_MEM_ALLOC_NODE_PARAMS_v2
CUDA_MEM_ALLOC_NODE_PARAMS_v1
bytesOverBudget
CUasyncNotificationInfo
C
clockRate
CUdevprop_v1
clusterDim
CUlaunchAttributeValue
clusterSchedulingPolicyPreference
CUlaunchAttributeValue
compressionType
CUmemAllocationProp_v1
conditional
CUgraphNodeParams
cooperative
CUlaunchAttributeValue
copyCtx
CUDA_MEMCPY_NODE_PARAMS
copyParams
CUDA_MEMCPY_NODE_PARAMS
|
735
Data Fields
count
CUDA_BATCH_MEM_OP_NODE_PARAMS_v2
ctx
CUDA_KERNEL_NODE_PARAMS_v2
CUDA_CONDITIONAL_NODE_PARAMS
CUDA_MEMSET_NODE_PARAMS_v2
CUDA_KERNEL_NODE_PARAMS_v3
CUDA_BATCH_MEM_OP_NODE_PARAMS_v2
cuFormat
CUeglFrame_v1
D
default_
CUlaunchMemSyncDomainMap
depth
CUDA_ARRAY_SPARSE_PROPERTIES_v1
CUeglFrame_v1
Depth
CUDA_MEMCPY3D_v2
depth
CUDA_RESOURCE_VIEW_DESC_v1
Depth
CUDA_MEMCPY3D_PEER_v1
CUDA_ARRAY3D_DESCRIPTOR_v2
deviceBitMask
CUarrayMapInfo_v1
deviceUpdatableKernelNode
CUlaunchAttributeValue
devPtr
CUDA_RESOURCE_DESC_v1
dptr
CUDA_MEM_ALLOC_NODE_PARAMS_v1
CUDA_MEM_ALLOC_NODE_PARAMS_v2
CUDA_MEM_FREE_NODE_PARAMS
dst
CUmemDecompressParams
CUDA_MEMSET_NODE_PARAMS_v1
CUDA_MEMSET_NODE_PARAMS_v2
dstActBytes
CUmemDecompressParams
dstArray
CUDA_MEMCPY2D_v2
CUDA_MEMCPY3D_v2
|
736
Data Fields
CUDA_MEMCPY3D_PEER_v1
dstContext
CUDA_MEMCPY3D_PEER_v1
dstDevice
CUDA_MEMCPY2D_v2
CUDA_MEMCPY3D_v2
CUDA_MEMCPY3D_PEER_v1
dstHeight
CUDA_MEMCPY3D_v2
CUDA_MEMCPY3D_PEER_v1
dstHost
CUDA_MEMCPY2D_v2
CUDA_MEMCPY3D_v2
CUDA_MEMCPY3D_PEER_v1
dstLocHint
CUmemcpyAttributes_v1
dstLOD
CUDA_MEMCPY3D_v2
CUDA_MEMCPY3D_PEER_v1
dstMemoryType
CUDA_MEMCPY2D_v2
CUDA_MEMCPY3D_v2
CUDA_MEMCPY3D_PEER_v1
dstNumBytes
CUmemDecompressParams
dstPitch
CUDA_MEMCPY3D_PEER_v1
CUDA_MEMCPY3D_v2
CUDA_MEMCPY2D_v2
dstXInBytes
CUDA_MEMCPY3D_PEER_v1
CUDA_MEMCPY3D_v2
CUDA_MEMCPY2D_v2
dstY
CUDA_MEMCPY3D_PEER_v1
CUDA_MEMCPY2D_v2
CUDA_MEMCPY3D_v2
dstZ
CUDA_MEMCPY3D_PEER_v1
CUDA_MEMCPY3D_v2
|
737
Data Fields
E
eglColorFormat
CUeglFrame_v1
elementSize
CUDA_MEMSET_NODE_PARAMS_v1
CUDA_MEMSET_NODE_PARAMS_v2
errorFromNode
CUgraphExecUpdateResultInfo_v1
errorNode
CUgraphExecUpdateResultInfo_v1
event
CUDA_EVENT_RECORD_NODE_PARAMS
CUDA_EVENT_WAIT_NODE_PARAMS
eventRecord
CUgraphNodeParams
eventWait
CUgraphNodeParams
extentDepth
CUarrayMapInfo_v1
extentHeight
CUarrayMapInfo_v1
extentWidth
CUarrayMapInfo_v1
extra
CUDA_KERNEL_NODE_PARAMS_v3
CUDA_KERNEL_NODE_PARAMS_v1
CUDA_KERNEL_NODE_PARAMS_v2
extSemArray
CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v1
CUDA_EXT_SEM_WAIT_NODE_PARAMS_v1
CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2
CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2
extSemSignal
CUgraphNodeParams
extSemWait
CUgraphNodeParams
F
fd
CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1
CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1
|
738
Data Fields
fence
CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1
CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1
CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1
filterMode
CUDA_TEXTURE_DESC_v1
firstLayer
CUDA_RESOURCE_VIEW_DESC_v1
firstMipmapLevel
CUDA_RESOURCE_VIEW_DESC_v1
flags
CUDA_EXTERNAL_MEMORY_BUFFER_DESC_v1
CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1
CUDA_BATCH_MEM_OP_NODE_PARAMS_v2
CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1
CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1
CUDA_GRAPH_INSTANTIATE_PARAMS
CUarrayMapInfo_v1
CUmemcpyAttributes_v1
CUmulticastObjectProp_v1
CUDA_MEMCPY_NODE_PARAMS
CUmemAccessDesc_v1
CUDA_ARRAY_SPARSE_PROPERTIES_v1
Flags
CUDA_ARRAY3D_DESCRIPTOR_v2
flags
CUDA_RESOURCE_DESC_v1
CUDA_TEXTURE_DESC_v1
CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1
fn
CUDA_HOST_NODE_PARAMS_v2
CUDA_HOST_NODE_PARAMS_v1
format
CUDA_RESOURCE_DESC_v1
Format
CUDA_ARRAY3D_DESCRIPTOR_v2
CUDA_ARRAY_DESCRIPTOR_v2
format
CUDA_RESOURCE_VIEW_DESC_v1
frameType
CUeglFrame_v1
free
CUgraphNodeParams
|
739
Data Fields
from_port
CUgraphEdgeData
func
CUDA_KERNEL_NODE_PARAMS_v3
CUDA_KERNEL_NODE_PARAMS_v2
CUDA_KERNEL_NODE_PARAMS_v1
function
CUDA_LAUNCH_PARAMS_v1
G
graph
CUDA_CHILD_GRAPH_NODE_PARAMS
CUgraphNodeParams
gridDimX
CUDA_KERNEL_NODE_PARAMS_v2
CUDA_KERNEL_NODE_PARAMS_v3
CUDA_KERNEL_NODE_PARAMS_v1
CUlaunchConfig
CUDA_LAUNCH_PARAMS_v1
gridDimY
CUlaunchConfig
CUDA_KERNEL_NODE_PARAMS_v1
CUDA_KERNEL_NODE_PARAMS_v2
CUDA_KERNEL_NODE_PARAMS_v3
CUDA_LAUNCH_PARAMS_v1
gridDimZ
CUDA_KERNEL_NODE_PARAMS_v2
CUDA_KERNEL_NODE_PARAMS_v3
CUlaunchConfig
CUDA_KERNEL_NODE_PARAMS_v1
CUDA_LAUNCH_PARAMS_v1
H
handle
CUDA_CONDITIONAL_NODE_PARAMS
CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1
CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1
handleTypes
CUmulticastObjectProp_v1
CUmemPoolProps_v1
hArray
CUDA_RESOURCE_DESC_v1
|
740
Data Fields
Height
CUDA_MEMCPY3D_v2
height
CUDA_RESOURCE_VIEW_DESC_v1
CUeglFrame_v1
Height
CUDA_MEMCPY3D_PEER_v1
CUDA_ARRAY_DESCRIPTOR_v2
height
CUDA_RESOURCE_DESC_v1
CUDA_ARRAY_SPARSE_PROPERTIES_v1
Height
CUDA_ARRAY3D_DESCRIPTOR_v2
height
CUDA_MEMSET_NODE_PARAMS_v1
CUDA_MEMSET_NODE_PARAMS_v2
Height
CUDA_MEMCPY2D_v2
hErrNode_out
CUDA_GRAPH_INSTANTIATE_PARAMS
hitProp
CUaccessPolicyWindow_v1
hitRatio
CUaccessPolicyWindow_v1
hMipmappedArray
CUDA_RESOURCE_DESC_v1
host
CUgraphNodeParams
hStream
CUlaunchConfig
CUDA_LAUNCH_PARAMS_v1
hUploadStream
CUDA_GRAPH_INSTANTIATE_PARAMS
I
id
CUlaunchAttribute
CUmemLocation_v1
info
CUasyncNotificationInfo
|
741
Data Fields
K
kern
CUDA_KERNEL_NODE_PARAMS_v2
CUDA_KERNEL_NODE_PARAMS_v3
kernel
CUgraphNodeParams
kernelParams
CUDA_KERNEL_NODE_PARAMS_v1
CUDA_KERNEL_NODE_PARAMS_v2
CUDA_LAUNCH_PARAMS_v1
CUDA_KERNEL_NODE_PARAMS_v3
key
CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1
CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1
keyedMutex
CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1
CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1
L
lastLayer
CUDA_RESOURCE_VIEW_DESC_v1
lastMipmapLevel
CUDA_RESOURCE_VIEW_DESC_v1
launchCompletionEvent
CUlaunchAttributeValue
layer
CUarrayMapInfo_v1
layerHeight
CUmemcpy3DOperand_v1
level
CUarrayMapInfo_v1
location
CUmemAllocationProp_v1
CUmemAccessDesc_v1
CUmemPoolProps_v1
locHint
CUmemcpy3DOperand_v1
M
maxAnisotropy
CUDA_TEXTURE_DESC_v1
|
742
Data Fields
maxGridSize
CUdevprop_v1
maxMipmapLevelClamp
CUDA_TEXTURE_DESC_v1
maxSize
CUmemPoolProps_v1
maxThreadsDim
CUdevprop_v1
maxThreadsPerBlock
CUdevprop_v1
memcpy
CUgraphNodeParams
memHandleType
CUarrayMapInfo_v1
memOp
CUgraphNodeParams
memOperationType
CUarrayMapInfo_v1
memPitch
CUdevprop_v1
memset
CUgraphNodeParams
memSyncDomain
CUlaunchAttributeValue
memSyncDomainMap
CUlaunchAttributeValue
minMipmapLevelClamp
CUDA_TEXTURE_DESC_v1
mipmapFilterMode
CUDA_TEXTURE_DESC_v1
mipmapLevelBias
CUDA_TEXTURE_DESC_v1
miptailFirstLevel
CUDA_ARRAY_SPARSE_PROPERTIES_v1
miptailSize
CUDA_ARRAY_SPARSE_PROPERTIES_v1
missProp
CUaccessPolicyWindow_v1
N
name
CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1
CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1
|
743
Data Fields
num_bytes
CUaccessPolicyWindow_v1
numAttrs
CUlaunchConfig
NumChannels
CUDA_ARRAY3D_DESCRIPTOR_v2
numChannels
CUDA_RESOURCE_DESC_v1
CUeglFrame_v1
NumChannels
CUDA_ARRAY_DESCRIPTOR_v2
numDevices
CUmulticastObjectProp_v1
numExtSems
CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2
CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v1
CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2
CUDA_EXT_SEM_WAIT_NODE_PARAMS_v1
numLevels
CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_v1
nvSciBufObject
CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1
nvSciSync
CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1
nvSciSyncObj
CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1
O
offset
CUDA_EXTERNAL_MEMORY_BUFFER_DESC_v1
CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_v1
CUarrayMapInfo_v1
offsetX
CUarrayMapInfo_v1
offsetY
CUarrayMapInfo_v1
offsetZ
CUarrayMapInfo_v1
overBudget
CUasyncNotificationInfo
ownership
CUDA_CHILD_GRAPH_NODE_PARAMS
|
744
Data Fields
P
paramArray
CUDA_BATCH_MEM_OP_NODE_PARAMS_v2
paramsArray
CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v1
CUDA_EXT_SEM_WAIT_NODE_PARAMS_v1
CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2
CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2
pArray
CUeglFrame_v1
phGraph_out
CUDA_CONDITIONAL_NODE_PARAMS
pitch
CUDA_MEMSET_NODE_PARAMS_v1
CUDA_MEMSET_NODE_PARAMS_v2
CUeglFrame_v1
pitchInBytes
CUDA_RESOURCE_DESC_v1
planeCount
CUeglFrame_v1
poolProps
CUDA_MEM_ALLOC_NODE_PARAMS_v1
CUDA_MEM_ALLOC_NODE_PARAMS_v2
pPitch
CUeglFrame_v1
preferredClusterDim
CUlaunchAttributeValue
priority
CUlaunchAttributeValue
programmaticEvent
CUlaunchAttributeValue
programmaticStreamSerializationAllowed
CUlaunchAttributeValue
ptr
CUmemcpy3DOperand_v1
R
regsPerBlock
CUdevprop_v1
remote
CUlaunchMemSyncDomainMap
|
745
Data Fields
requestedHandleTypes
CUmemAllocationProp_v1
reserved
CUgraphEdgeData
CUcheckpointCheckpointArgs
CUcheckpointRestoreArgs
CUDA_MEMCPY_NODE_PARAMS
CUcheckpointUnlockArgs
CUarrayMapInfo_v1
CUmemPoolProps_v1
reserved0
CUDA_MEMCPY3D_v2
CUgraphNodeParams
CUcheckpointLockArgs
reserved1
CUDA_MEMCPY3D_v2
CUcheckpointLockArgs
CUgraphNodeParams
reserved2
CUgraphNodeParams
resourceType
CUarrayMapInfo_v1
resType
CUDA_RESOURCE_DESC_v1
result
CUgraphExecUpdateResultInfo_v1
result_out
CUDA_GRAPH_INSTANTIATE_PARAMS
rowLength
CUmemcpy3DOperand_v1
S
sharedMemBytes
CUDA_KERNEL_NODE_PARAMS_v1
CUDA_KERNEL_NODE_PARAMS_v2
CUlaunchConfig
CUDA_LAUNCH_PARAMS_v1
CUDA_KERNEL_NODE_PARAMS_v3
sharedMemCarveout
CUlaunchAttributeValue
sharedMemPerBlock
CUdevprop_v1
|
746
Data Fields
SIMDWidth
CUdevprop_v1
size
CUDA_CONDITIONAL_NODE_PARAMS
CUDA_ARRAY_MEMORY_REQUIREMENTS_v1
CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1
CUDA_EXTERNAL_MEMORY_BUFFER_DESC_v1
CUarrayMapInfo_v1
CUmulticastObjectProp_v1
sizeInBytes
CUDA_RESOURCE_DESC_v1
smCount
CUdevSmResource
src
CUmemDecompressParams
srcAccessOrder
CUmemcpyAttributes_v1
srcArray
CUDA_MEMCPY2D_v2
CUDA_MEMCPY3D_v2
CUDA_MEMCPY3D_PEER_v1
srcContext
CUDA_MEMCPY3D_PEER_v1
srcDevice
CUDA_MEMCPY2D_v2
CUDA_MEMCPY3D_v2
CUDA_MEMCPY3D_PEER_v1
srcHeight
CUDA_MEMCPY3D_v2
CUDA_MEMCPY3D_PEER_v1
srcHost
CUDA_MEMCPY2D_v2
CUDA_MEMCPY3D_v2
CUDA_MEMCPY3D_PEER_v1
srcLocHint
CUmemcpyAttributes_v1
srcLOD
CUDA_MEMCPY3D_v2
CUDA_MEMCPY3D_PEER_v1
srcMemoryType
CUDA_MEMCPY2D_v2
CUDA_MEMCPY3D_v2
CUDA_MEMCPY3D_PEER_v1
|
747
Data Fields
srcNumBytes
CUmemDecompressParams
srcPitch
CUDA_MEMCPY2D_v2
CUDA_MEMCPY3D_PEER_v1
CUDA_MEMCPY3D_v2
srcXInBytes
CUDA_MEMCPY3D_v2
CUDA_MEMCPY2D_v2
CUDA_MEMCPY3D_PEER_v1
srcY
CUDA_MEMCPY2D_v2
CUDA_MEMCPY3D_PEER_v1
CUDA_MEMCPY3D_v2
srcZ
CUDA_MEMCPY3D_v2
CUDA_MEMCPY3D_PEER_v1
subresourceType
CUarrayMapInfo_v1
syncPolicy
CUlaunchAttributeValue
T
textureAlign
CUdevprop_v1
timeoutMs
CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1
CUcheckpointLockArgs
to_port
CUgraphEdgeData
totalConstantMemory
CUdevprop_v1
type
CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1
CUgraphEdgeData
CUDA_CONDITIONAL_NODE_PARAMS
CUasyncNotificationInfo
CUmemLocation_v1
CUgraphNodeParams
CUmemAllocationProp_v1
CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1
|
748
Data Fields
U
usage
CUmemAllocationProp_v1
CUmemPoolProps_v1
userData
CUDA_HOST_NODE_PARAMS_v1
CUDA_HOST_NODE_PARAMS_v2
V
val
CUexecAffinitySmCount_v1
value
CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1
CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1
CUlaunchAttribute
CUDA_MEMSET_NODE_PARAMS_v2
CUDA_MEMSET_NODE_PARAMS_v1
W
width
CUDA_MEMSET_NODE_PARAMS_v1
CUDA_MEMSET_NODE_PARAMS_v2
CUDA_RESOURCE_DESC_v1
Width
CUDA_ARRAY3D_DESCRIPTOR_v2
width
CUDA_RESOURCE_VIEW_DESC_v1
CUDA_ARRAY_SPARSE_PROPERTIES_v1
CUeglFrame_v1
Width
CUDA_ARRAY_DESCRIPTOR_v2
WidthInBytes
CUDA_MEMCPY2D_v2
CUDA_MEMCPY3D_v2
CUDA_MEMCPY3D_PEER_v1
win32
CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1
CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1
win32HandleMetaData
CUmemAllocationProp_v1
win32SecurityAttributes
CUmemPoolProps_v1
|
749
Chapter 9.
Deprecated List
Global CU_CTX_BLOCKING_SYNC
This flag was deprecated as of CUDA 4.0 and was replaced with
CU_CTX_SCHED_BLOCKING_SYNC.
Global CU_CTX_MAP_HOST
This flag was deprecated as of CUDA 11.0 and it no longer has any effect. All contexts as of CUDA
3.2 behave as though the flag is enabled.
Global CU_DEVICE_P2P_ATTRIBUTE_ACCESS_ACCESS_SUPPORTED
use CU_DEVICE_P2P_ATTRIBUTE_CUDA_ARRAY_ACCESS_SUPPORTED instead
Global CU_JIT_NEW_SM3X_OPT
This jit option is deprecated and should not be used.
Global CU_JIT_LTO
Enable link-time optimization (-dlto) for device code (Disabled by default).
This option is not supported on 32-bit platforms.
Option type: int
Applies to: compiler and linker
Global CU_JIT_FTZ
Control single-precision denormals (-ftz) support (0: false, default). 1 : flushes denormal values to
zero 0 : preserves denormal values Option type: int
Applies to: link-time optimization specified with CU_JIT_LTO
|
750
Deprecated List
Global CU_JIT_PREC_DIV
Control single-precision floating-point division and reciprocals (-prec-div) support (1: true, default).
1 : Enables the IEEE round-to-nearest mode 0 : Enables the fast approximation mode Option type:
int
Applies to: link-time optimization specified with CU_JIT_LTO
Global CU_JIT_PREC_SQRT
Control single-precision floating-point square root (-prec-sqrt) support (1: true, default). 1 : Enables
the IEEE round-to-nearest mode 0 : Enables the fast approximation mode Option type: int
Applies to: link-time optimization specified with CU_JIT_LTO
Global CU_JIT_FMA
Enable/Disable the contraction of floating-point multiplies and adds/subtracts into floating-point
multiply-add (-fma) operations (1: Enable, default; 0: Disable). Option type: int
Applies to: link-time optimization specified with CU_JIT_LTO
Global CU_JIT_REFERENCED_KERNEL_NAMES
Array of kernel names that should be preserved at link time while others can be removed.
Must contain CU_JIT_REFERENCED_KERNEL_COUNT entries.
Note that kernel names can be mangled by the compiler in which case the mangled name needs to
be specified.
Wildcard "*" can be used to represent zero or more characters instead of specifying the full or
mangled name.
It is important to note that the wildcard "*" is also added implicitly. For example, specifying "foo"
will match "foobaz", "barfoo", "barfoobaz" and thus preserve all kernels with those names. This can
be avoided by providing a more specific name like "barfoobaz".
Option type: const char **
Applies to: dynamic linker only
Global CU_JIT_REFERENCED_KERNEL_COUNT
Number of entries in CU_JIT_REFERENCED_KERNEL_NAMES array.
Option type: unsigned int
Applies to: dynamic linker only
|
751
Deprecated List
Global CU_JIT_REFERENCED_VARIABLE_NAMES
Array of variable names (__device__ and/or __constant__) that should be preserved at link time
while others can be removed.
Must contain CU_JIT_REFERENCED_VARIABLE_COUNT entries.
Note that variable names can be mangled by the compiler in which case the mangled name needs to
be specified.
Wildcard "*" can be used to represent zero or more characters instead of specifying the full or
mangled name.
It is important to note that the wildcard "*" is also added implicitly. For example, specifying "foo"
will match "foobaz", "barfoo", "barfoobaz" and thus preserve all variables with those names. This
can be avoided by providing a more specific name like "barfoobaz".
Option type: const char **
Applies to: link-time optimization specified with CU_JIT_LTO
Global CU_JIT_REFERENCED_VARIABLE_COUNT
Number of entries in CU_JIT_REFERENCED_VARIABLE_NAMES array.
Option type: unsigned int
Applies to: link-time optimization specified with CU_JIT_LTO
Global CU_JIT_OPTIMIZE_UNUSED_DEVICE_VARIABLES
This option serves as a hint to enable the JIT compiler/linker to remove constant (__constant__) and
device (__device__) variables unreferenced in device code (Disabled by default).
Note that host references to constant and device variables using APIs like cuModuleGetGlobal()
with this option specified may result in undefined behavior unless the variables are explicitly
specified using CU_JIT_REFERENCED_VARIABLE_NAMES.
Option type: int
Applies to: link-time optimization specified with CU_JIT_LTO
Global CU_JIT_INPUT_NVVM
High-level intermediate code for link-time optimization
Applicable options: NVVM compiler options, PTX compiler options
|
752
Deprecated List
Global CUDA_ERROR_PROFILER_NOT_INITIALIZED
This error return is deprecated as of CUDA 5.0. It is no longer an error to attempt to enable/disable
the profiling via cuProfilerStart or cuProfilerStop without initialization.
Global CUDA_ERROR_PROFILER_ALREADY_STARTED
This error return is deprecated as of CUDA 5.0. It is no longer an error to call cuProfilerStart() when
profiling is already enabled.
Global CUDA_ERROR_PROFILER_ALREADY_STOPPED
This error return is deprecated as of CUDA 5.0. It is no longer an error to call cuProfilerStop() when
profiling is already disabled.
Global CUDA_ERROR_CONTEXT_ALREADY_CURRENT
This error return is deprecated as of CUDA 3.2. It is no longer an error to attempt to push the active
context via cuCtxPushCurrent().
Global CUsharedconfig
Global cuDeviceComputeCapability
Global cuDeviceGetProperties
Global cuCtxAttach
Global cuCtxDetach
Global cuCtxGetSharedMemConfig
Global cuCtxSetSharedMemConfig
Global cuModuleGetSurfRef
|
753
Deprecated List
Global cuModuleGetTexRef
Global cuLaunchCooperativeKernelMultiDevice
This function is deprecated as of CUDA 11.3.
Global cuFuncSetBlockShape
Global cuFuncSetSharedMemConfig
Global cuFuncSetSharedSize
Global cuLaunch
Global cuLaunchGrid
Global cuLaunchGridAsync
Global cuParamSetf
Global cuParamSeti
Global cuParamSetSize
Global cuParamSetTexRef
Global cuParamSetv
|
754
Deprecated List
Global cuTexRefCreate
Global cuTexRefDestroy
Global cuTexRefGetAddress
Global cuTexRefGetAddressMode
Global cuTexRefGetArray
Global cuTexRefGetBorderColor
Global cuTexRefGetFilterMode
Global cuTexRefGetFlags
Global cuTexRefGetFormat
Global cuTexRefGetMaxAnisotropy
Global cuTexRefGetMipmapFilterMode
Global cuTexRefGetMipmapLevelBias
Global cuTexRefGetMipmapLevelClamp
Global cuTexRefGetMipmappedArray
|
755
Deprecated List
Global cuTexRefSetAddress
Global cuTexRefSetAddress2D
Global cuTexRefSetAddressMode
Global cuTexRefSetArray
Global cuTexRefSetBorderColor
Global cuTexRefSetFilterMode
Global cuTexRefSetFlags
Global cuTexRefSetFormat
Global cuTexRefSetMaxAnisotropy
Global cuTexRefSetMipmapFilterMode
Global cuTexRefSetMipmapLevelBias
Global cuTexRefSetMipmapLevelClamp
Global cuTexRefSetMipmappedArray
|
756
Deprecated List
Global cuSurfRefGetArray
Global cuSurfRefSetArray
Global cuProfilerInitialize
Global cuGLCtxCreate
This function is deprecated as of Cuda 5.0.
Global cuGLInit
This function is deprecated as of Cuda 3.0.
Global cuGLMapBufferObject
This function is deprecated as of Cuda 3.0.
Global cuGLMapBufferObjectAsync
This function is deprecated as of Cuda 3.0.
Global cuGLRegisterBufferObject
This function is deprecated as of Cuda 3.0.
Global cuGLSetBufferObjectMapFlags
This function is deprecated as of Cuda 3.0.
Global cuGLUnmapBufferObject
This function is deprecated as of Cuda 3.0.
Global cuGLUnmapBufferObjectAsync
This function is deprecated as of Cuda 3.0.
|
757
Deprecated List
Global cuGLUnregisterBufferObject
This function is deprecated as of Cuda 3.0.
Global cuD3D9MapResources
This function is deprecated as of CUDA 3.0.
Global cuD3D9RegisterResource
This function is deprecated as of CUDA 3.0.
Global cuD3D9ResourceGetMappedArray
This function is deprecated as of CUDA 3.0.
Global cuD3D9ResourceGetMappedPitch
This function is deprecated as of CUDA 3.0.
Global cuD3D9ResourceGetMappedPointer
This function is deprecated as of CUDA 3.0.
Global cuD3D9ResourceGetMappedSize
This function is deprecated as of CUDA 3.0.
Global cuD3D9ResourceGetSurfaceDimensions
This function is deprecated as of CUDA 3.0.
Global cuD3D9ResourceSetMapFlags
This function is deprecated as of Cuda 3.0.
Global cuD3D9UnmapResources
This function is deprecated as of CUDA 3.0.
|
758
Deprecated List
Global cuD3D9UnregisterResource
This function is deprecated as of CUDA 3.0.
Global cuD3D10CtxCreate
This function is deprecated as of CUDA 5.0.
Global cuD3D10CtxCreateOnDevice
This function is deprecated as of CUDA 5.0.
Global cuD3D10GetDirect3DDevice
This function is deprecated as of CUDA 5.0.
Global cuD3D10MapResources
This function is deprecated as of CUDA 3.0.
Global cuD3D10RegisterResource
This function is deprecated as of CUDA 3.0.
Global cuD3D10ResourceGetMappedArray
This function is deprecated as of CUDA 3.0.
Global cuD3D10ResourceGetMappedPitch
This function is deprecated as of CUDA 3.0.
Global cuD3D10ResourceGetMappedPointer
This function is deprecated as of CUDA 3.0.
Global cuD3D10ResourceGetMappedSize
This function is deprecated as of CUDA 3.0.
|
759
Deprecated List
Global cuD3D10ResourceGetSurfaceDimensions
This function is deprecated as of CUDA 3.0.
Global cuD3D10ResourceSetMapFlags
This function is deprecated as of CUDA 3.0.
Global cuD3D10UnmapResources
This function is deprecated as of CUDA 3.0.
Global cuD3D10UnregisterResource
This function is deprecated as of CUDA 3.0.
Global cuD3D11CtxCreate
This function is deprecated as of CUDA 5.0.
Global cuD3D11CtxCreateOnDevice
This function is deprecated as of CUDA 5.0.
Global cuD3D11GetDirect3DDevice
This function is deprecated as of CUDA 5.0.
|
760
Notice
This document is provided for information purposes only and shall not be regarded as a warranty of a certain functionality, condition, or quality of a product. NVIDIA Corporation
(“NVIDIA”) makes no representations or warranties, expressed or implied, as to the accuracy or completeness of the information contained in this document and assumes no
responsibility for any errors contained herein. NVIDIA shall have no liability for the consequences or use of such information or for any infringement of patents or other rights of
third parties that may result from its use. This document is not a commitment to develop, release, or deliver any Material (defined below), code, or functionality.
NVIDIA reserves the right to make corrections, modifications, enhancements, improvements, and any other changes to this document, at any time without notice.
Customer should obtain the latest relevant information before placing orders and should verify that such information is current and complete.
NVIDIA products are sold subject to the NVIDIA standard terms and conditions of sale supplied at the time of order acknowledgement, unless otherwise agreed in an individual
sales agreement signed by authorized representatives of NVIDIA and customer (“Terms of Sale”). NVIDIA hereby expressly objects to applying any customer general terms and
conditions with regards to the purchase of the NVIDIA product referenced in this document. No contractual obligations are formed either directly or indirectly by this document.
OpenCL
OpenCL is a trademark of Apple Inc. used under license to the Khronos Group Inc.
Trademarks
NVIDIA and the NVIDIA logo are trademarks or registered trademarks of NVIDIA Corporation in the U.S. and other countries. Other company and product names may be
trademarks of the respective companies with which they are associated.
© 2007-2024 NVIDIA Corporation & affiliates. All rights reserved.
NVIDIA Corporation | 2788 San Tomas Expressway, Santa Clara, CA 95051

 

 

 

 

 

 

 

Content      ..     9      10      11