diff --git a/lib/cublas/libcublas.jl b/lib/cublas/libcublas.jl index df6d0f8d08..5954171256 100644 --- a/lib/cublas/libcublas.jl +++ b/lib/cublas/libcublas.jl @@ -1,7 +1,7 @@ # This file is automatically generated. Do not edit! # To re-generate, execute res/wrap/wrap.jl -using CEnum +using CEnum: CEnum, @cenum # CUBLAS uses CUDA runtime objects, which are compatible with our driver usage const cudaStream_t = CUstream @@ -3039,6 +3039,7 @@ end CUBLAS_GEMM_ALGO13_TENSOR_OP = 113 CUBLAS_GEMM_ALGO14_TENSOR_OP = 114 CUBLAS_GEMM_ALGO15_TENSOR_OP = 115 + CUBLAS_GEMM_AUTOTUNE = 999 end @cenum cublasMath_t::UInt32 begin diff --git a/lib/cublas/libcublasLt.jl b/lib/cublas/libcublasLt.jl index 3282e4bd16..60e364321f 100644 --- a/lib/cublas/libcublasLt.jl +++ b/lib/cublas/libcublasLt.jl @@ -1,7 +1,7 @@ # This file is automatically generated. Do not edit! # To re-generate, execute res/wrap/wrap.jl -using CEnum +using CEnum: CEnum, @cenum mutable struct cublasLtContext end @@ -990,10 +990,6 @@ end CUBLASLT_MATMUL_DESC_EPILOGUE_AUX_AMAX_POINTER = 24 CUBLASLT_MATMUL_DESC_FAST_ACCUM = 25 CUBLASLT_MATMUL_DESC_BIAS_DATA_TYPE = 26 - CUBLASLT_MATMUL_DESC_ATOMIC_SYNC_NUM_CHUNKS_D_ROWS = 27 - CUBLASLT_MATMUL_DESC_ATOMIC_SYNC_NUM_CHUNKS_D_COLS = 28 - CUBLASLT_MATMUL_DESC_ATOMIC_SYNC_IN_COUNTERS_POINTER = 29 - CUBLASLT_MATMUL_DESC_ATOMIC_SYNC_OUT_COUNTERS_POINTER = 30 CUBLASLT_MATMUL_DESC_A_SCALE_MODE = 31 CUBLASLT_MATMUL_DESC_B_SCALE_MODE = 32 CUBLASLT_MATMUL_DESC_C_SCALE_MODE = 33 @@ -1275,7 +1271,6 @@ end CUBLASLT_ALGO_CAP_MIN_ALIGNMENT_B_BYTES = 17 CUBLASLT_ALGO_CAP_MIN_ALIGNMENT_C_BYTES = 18 CUBLASLT_ALGO_CAP_MIN_ALIGNMENT_D_BYTES = 19 - CUBLASLT_ALGO_CAP_ATOMIC_SYNC = 20 CUBLASLT_ALGO_CAP_POINTER_ARRAY_BATCH_SUPPORT = 21 CUBLASLT_ALGO_CAP_FLOATING_POINT_EMULATION_SUPPORT = 22 end @@ -1348,7 +1343,7 @@ end @gcsafe_ccall libcublasLt.cublasLtLoggerSetMask(mask::Cint)::cublasStatus_t end -# no prototype is found for this function at cublasLt.h:2550:29, please use with caution +# no prototype is found for this function at cublasLt.h:2520:29, please use with caution @checked function cublasLtLoggerForceDisable() initialize_context() @gcsafe_ccall libcublasLt.cublasLtLoggerForceDisable()::cublasStatus_t diff --git a/lib/cudadrv/libcuda.jl b/lib/cudadrv/libcuda.jl index 673d2f45f8..78f5cb8418 100644 --- a/lib/cudadrv/libcuda.jl +++ b/lib/cudadrv/libcuda.jl @@ -1,7 +1,7 @@ # This file is automatically generated. Do not edit! # To re-generate, execute res/wrap/wrap.jl -using CEnum +using CEnum: CEnum, @cenum # CUstream is defined as Ptr{CUstream_st}, but CUDA's headers contain aliases like # CUstream(0x01) which cannot be directly converted to a Julia Ptr; so add a method: @@ -55,6 +55,7 @@ const CUdevice = CUdevice_v1 CUDA_ERROR_PROFILER_ALREADY_STARTED = 7 CUDA_ERROR_PROFILER_ALREADY_STOPPED = 8 CUDA_ERROR_STUB_LIBRARY = 34 + CUDA_ERROR_CALL_REQUIRES_NEWER_DRIVER = 36 CUDA_ERROR_DEVICE_UNAVAILABLE = 46 CUDA_ERROR_NO_DEVICE = 100 CUDA_ERROR_INVALID_DEVICE = 101 @@ -157,9 +158,101 @@ mutable struct CUctx_st end const CUcontext = Ptr{CUctx_st} -@checked function cuCtxCreate_v2(pctx, flags, dev) - @gcsafe_ccall libcuda.cuCtxCreate_v2(pctx::Ptr{CUcontext}, flags::Cuint, - dev::CUdevice)::CUresult +@cenum CUexecAffinityType_enum::UInt32 begin + CU_EXEC_AFFINITY_TYPE_SM_COUNT = 0 + CU_EXEC_AFFINITY_TYPE_MAX = 1 +end + +const CUexecAffinityType = CUexecAffinityType_enum + +struct var"##Ctag#251" + data::NTuple{4,UInt8} +end + +function Base.getproperty(x::Ptr{var"##Ctag#251"}, f::Symbol) + f === :smCount && return Ptr{CUexecAffinitySmCount}(x + 0) + return getfield(x, f) +end + +function Base.getproperty(x::var"##Ctag#251", f::Symbol) + r = Ref{var"##Ctag#251"}(x) + ptr = Base.unsafe_convert(Ptr{var"##Ctag#251"}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +function Base.setproperty!(x::Ptr{var"##Ctag#251"}, f::Symbol, v) + return unsafe_store!(getproperty(x, f), v) +end + +function Base.propertynames(x::var"##Ctag#251", private::Bool=false) + return (:smCount, if private + fieldnames(typeof(x)) + else + () + end...) +end + +struct CUexecAffinityParam_st + data::NTuple{8,UInt8} +end + +function Base.getproperty(x::Ptr{CUexecAffinityParam_st}, f::Symbol) + f === :type && return Ptr{CUexecAffinityType}(x + 0) + f === :param && return Ptr{var"##Ctag#251"}(x + 4) + return getfield(x, f) +end + +function Base.getproperty(x::CUexecAffinityParam_st, f::Symbol) + r = Ref{CUexecAffinityParam_st}(x) + ptr = Base.unsafe_convert(Ptr{CUexecAffinityParam_st}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +function Base.setproperty!(x::Ptr{CUexecAffinityParam_st}, f::Symbol, v) + return unsafe_store!(getproperty(x, f), v) +end + +function Base.propertynames(x::CUexecAffinityParam_st, private::Bool=false) + return (:type, :param, if private + fieldnames(typeof(x)) + else + () + end...) +end + +const CUexecAffinityParam_v1 = CUexecAffinityParam_st + +const CUexecAffinityParam = CUexecAffinityParam_v1 + +@cenum CUcigDataType_enum::UInt32 begin + CIG_DATA_TYPE_D3D12_COMMAND_QUEUE = 1 + CIG_DATA_TYPE_NV_BLOB = 2 +end + +const CUcigDataType = CUcigDataType_enum + +struct CUctxCigParam_st + sharedDataType::CUcigDataType + sharedData::Ptr{Cvoid} +end + +const CUctxCigParam = CUctxCigParam_st + +struct CUctxCreateParams_st + execAffinityParams::Ptr{CUexecAffinityParam} + numExecAffinityParams::Cint + cigParams::Ptr{CUctxCigParam} +end + +const CUctxCreateParams = CUctxCreateParams_st + +@checked function cuCtxCreate_v4(pctx, ctxCreateParams, flags, dev) + initialize_context() + @gcsafe_ccall libcuda.cuCtxCreate_v4(pctx::Ptr{CUcontext}, + ctxCreateParams::Ptr{CUctxCreateParams}, + flags::Cuint, dev::CUdevice)::CUresult end mutable struct CUmod_st end @@ -214,6 +307,52 @@ end Flags::Cuint)::CUresult end +@cenum CUmem_advise_enum::UInt32 begin + CU_MEM_ADVISE_SET_READ_MOSTLY = 1 + CU_MEM_ADVISE_UNSET_READ_MOSTLY = 2 + CU_MEM_ADVISE_SET_PREFERRED_LOCATION = 3 + CU_MEM_ADVISE_UNSET_PREFERRED_LOCATION = 4 + CU_MEM_ADVISE_SET_ACCESSED_BY = 5 + CU_MEM_ADVISE_UNSET_ACCESSED_BY = 6 +end + +const CUmem_advise = CUmem_advise_enum + +@cenum CUmemLocationType_enum::UInt32 begin + CU_MEM_LOCATION_TYPE_INVALID = 0 + CU_MEM_LOCATION_TYPE_NONE = 0 + CU_MEM_LOCATION_TYPE_DEVICE = 1 + CU_MEM_LOCATION_TYPE_HOST = 2 + CU_MEM_LOCATION_TYPE_HOST_NUMA = 3 + CU_MEM_LOCATION_TYPE_HOST_NUMA_CURRENT = 4 + CU_MEM_LOCATION_TYPE_MAX = 2147483647 +end + +const CUmemLocationType = CUmemLocationType_enum + +struct CUmemLocation_st + type::CUmemLocationType + id::Cint +end + +const CUmemLocation_v1 = CUmemLocation_st + +const CUmemLocation = CUmemLocation_v1 + +@checked function cuMemAdvise_v2(devPtr, count, advice, location) + initialize_context() + @gcsafe_ccall libcuda.cuMemAdvise_v2(devPtr::CUdeviceptr, count::Csize_t, + advice::CUmem_advise, + location::CUmemLocation)::CUresult +end + +@checked function cuMemPrefetchAsync_v2(devPtr, count, location, flags, hStream) + initialize_context() + @gcsafe_ccall libcuda.cuMemPrefetchAsync_v2(devPtr::CUdeviceptr, count::Csize_t, + location::CUmemLocation, flags::Cuint, + hStream::CUstream)::CUresult +end + @checked function cuMemcpyHtoD_v2(dstDevice, srcHost, ByteCount) initialize_context() @gcsafe_ccall libcuda.cuMemcpyHtoD_v2(dstDevice::CUdeviceptr, srcHost::Ptr{Cvoid}, @@ -392,6 +531,138 @@ end hStream::CUstream)::CUresult end +@cenum CUmemcpySrcAccessOrder_enum::UInt32 begin + CU_MEMCPY_SRC_ACCESS_ORDER_INVALID = 0 + CU_MEMCPY_SRC_ACCESS_ORDER_STREAM = 1 + CU_MEMCPY_SRC_ACCESS_ORDER_DURING_API_CALL = 2 + CU_MEMCPY_SRC_ACCESS_ORDER_ANY = 3 + CU_MEMCPY_SRC_ACCESS_ORDER_MAX = 2147483647 +end + +const CUmemcpySrcAccessOrder = CUmemcpySrcAccessOrder_enum + +struct CUmemcpyAttributes_st + srcAccessOrder::CUmemcpySrcAccessOrder + srcLocHint::CUmemLocation + dstLocHint::CUmemLocation + flags::Cuint +end + +const CUmemcpyAttributes_v1 = CUmemcpyAttributes_st + +const CUmemcpyAttributes = CUmemcpyAttributes_v1 + +@checked function cuMemcpyBatchAsync_v2(dsts, srcs, sizes, count, attrs, attrsIdxs, + numAttrs, hStream) + initialize_context() + @gcsafe_ccall libcuda.cuMemcpyBatchAsync_v2(dsts::Ptr{CUdeviceptr}, + srcs::Ptr{CUdeviceptr}, sizes::Ptr{Csize_t}, + count::Csize_t, + attrs::Ptr{CUmemcpyAttributes}, + attrsIdxs::Ptr{Csize_t}, numAttrs::Csize_t, + hStream::CUstream)::CUresult +end + +@cenum CUmemcpy3DOperandType_enum::UInt32 begin + CU_MEMCPY_OPERAND_TYPE_POINTER = 1 + CU_MEMCPY_OPERAND_TYPE_ARRAY = 2 + CU_MEMCPY_OPERAND_TYPE_MAX = 2147483647 +end + +const CUmemcpy3DOperandType = CUmemcpy3DOperandType_enum + +struct var"##Ctag#263" + data::NTuple{32,UInt8} +end + +function Base.getproperty(x::Ptr{var"##Ctag#263"}, f::Symbol) + f === :ptr && return Ptr{var"##Ctag#264"}(x + 0) + f === :array && return Ptr{var"##Ctag#265"}(x + 0) + return getfield(x, f) +end + +function Base.getproperty(x::var"##Ctag#263", f::Symbol) + r = Ref{var"##Ctag#263"}(x) + ptr = Base.unsafe_convert(Ptr{var"##Ctag#263"}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +function Base.setproperty!(x::Ptr{var"##Ctag#263"}, f::Symbol, v) + return unsafe_store!(getproperty(x, f), v) +end + +function Base.propertynames(x::var"##Ctag#263", private::Bool=false) + return (:ptr, :array, if private + fieldnames(typeof(x)) + else + () + end...) +end + +struct CUmemcpy3DOperand_st + data::NTuple{40,UInt8} +end + +function Base.getproperty(x::Ptr{CUmemcpy3DOperand_st}, f::Symbol) + f === :type && return Ptr{CUmemcpy3DOperandType}(x + 0) + f === :op && return Ptr{var"##Ctag#263"}(x + 8) + return getfield(x, f) +end + +function Base.getproperty(x::CUmemcpy3DOperand_st, f::Symbol) + r = Ref{CUmemcpy3DOperand_st}(x) + ptr = Base.unsafe_convert(Ptr{CUmemcpy3DOperand_st}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +function Base.setproperty!(x::Ptr{CUmemcpy3DOperand_st}, f::Symbol, v) + return unsafe_store!(getproperty(x, f), v) +end + +function Base.propertynames(x::CUmemcpy3DOperand_st, private::Bool=false) + return (:type, :op, if private + fieldnames(typeof(x)) + else + () + end...) +end + +const CUmemcpy3DOperand_v1 = CUmemcpy3DOperand_st + +const CUmemcpy3DOperand = CUmemcpy3DOperand_v1 + +struct CUextent3D_st + width::Csize_t + height::Csize_t + depth::Csize_t +end + +const CUextent3D_v1 = CUextent3D_st + +const CUextent3D = CUextent3D_v1 + +struct CUDA_MEMCPY3D_BATCH_OP_st + src::CUmemcpy3DOperand + dst::CUmemcpy3DOperand + extent::CUextent3D + srcAccessOrder::CUmemcpySrcAccessOrder + flags::Cuint +end + +const CUDA_MEMCPY3D_BATCH_OP_v1 = CUDA_MEMCPY3D_BATCH_OP_st + +const CUDA_MEMCPY3D_BATCH_OP = CUDA_MEMCPY3D_BATCH_OP_v1 + +@checked function cuMemcpy3DBatchAsync_v2(numOps, opList, flags, hStream) + initialize_context() + @gcsafe_ccall libcuda.cuMemcpy3DBatchAsync_v2(numOps::Csize_t, + opList::Ptr{CUDA_MEMCPY3D_BATCH_OP}, + flags::Culonglong, + hStream::CUstream)::CUresult +end + @checked function cuMemsetD8_v2(dstDevice, uc, N) initialize_context() @gcsafe_ccall libcuda.cuMemsetD8_v2(dstDevice::CUdeviceptr, uc::Cuchar, @@ -632,7 +903,8 @@ end CU_JIT_MIN_CTA_PER_SM = 31 CU_JIT_MAX_THREADS_PER_BLOCK = 32 CU_JIT_OVERRIDE_DIRECTIVE_VALUES = 33 - CU_JIT_NUM_OPTIONS = 34 + CU_JIT_SPLIT_COMPILE = 34 + CU_JIT_NUM_OPTIONS = 35 end const CUjit_option = CUjit_option_enum @@ -716,6 +988,16 @@ end flags::Cuint)::CUresult end +struct CUuuid_st + bytes::NTuple{16,Cchar} +end + +const CUuuid = CUuuid_st + +@checked function cuDeviceGetUuid_v2(uuid, dev) + @gcsafe_ccall libcuda.cuDeviceGetUuid_v2(uuid::Ptr{CUuuid}, dev::CUdevice)::CUresult +end + struct CUipcMemHandle_st reserved::NTuple{64,Cchar} end @@ -824,33 +1106,168 @@ const CUDA_KERNEL_NODE_PARAMS_v2 = CUDA_KERNEL_NODE_PARAMS_v2_st const CUDA_KERNEL_NODE_PARAMS = CUDA_KERNEL_NODE_PARAMS_v2 -@checked function cuGraphAddKernelNode_v2(phGraphNode, hGraph, dependencies, - numDependencies, nodeParams) - initialize_context() - @gcsafe_ccall libcuda.cuGraphAddKernelNode_v2(phGraphNode::Ptr{CUgraphNode}, - hGraph::CUgraph, - dependencies::Ptr{CUgraphNode}, - numDependencies::Csize_t, - nodeParams::Ptr{CUDA_KERNEL_NODE_PARAMS})::CUresult +@checked function cuGraphAddKernelNode_v2(phGraphNode, hGraph, dependencies, + numDependencies, nodeParams) + initialize_context() + @gcsafe_ccall libcuda.cuGraphAddKernelNode_v2(phGraphNode::Ptr{CUgraphNode}, + hGraph::CUgraph, + dependencies::Ptr{CUgraphNode}, + numDependencies::Csize_t, + nodeParams::Ptr{CUDA_KERNEL_NODE_PARAMS})::CUresult +end + +@checked function cuGraphKernelNodeGetParams_v2(hNode, nodeParams) + initialize_context() + @gcsafe_ccall libcuda.cuGraphKernelNodeGetParams_v2(hNode::CUgraphNode, + nodeParams::Ptr{CUDA_KERNEL_NODE_PARAMS})::CUresult +end + +@checked function cuGraphKernelNodeSetParams_v2(hNode, nodeParams) + initialize_context() + @gcsafe_ccall libcuda.cuGraphKernelNodeSetParams_v2(hNode::CUgraphNode, + nodeParams::Ptr{CUDA_KERNEL_NODE_PARAMS})::CUresult +end + +@checked function cuGraphExecKernelNodeSetParams_v2(hGraphExec, hNode, nodeParams) + initialize_context() + @gcsafe_ccall libcuda.cuGraphExecKernelNodeSetParams_v2(hGraphExec::CUgraphExec, + hNode::CUgraphNode, + nodeParams::Ptr{CUDA_KERNEL_NODE_PARAMS})::CUresult +end + +struct CUgraphEdgeData_st + from_port::Cuchar + to_port::Cuchar + type::Cuchar + reserved::NTuple{5,Cuchar} +end + +const CUgraphEdgeData = CUgraphEdgeData_st + +@checked function cuGraphGetEdges_v2(hGraph, from, to, edgeData, numEdges) + initialize_context() + @gcsafe_ccall libcuda.cuGraphGetEdges_v2(hGraph::CUgraph, from::Ptr{CUgraphNode}, + to::Ptr{CUgraphNode}, + edgeData::Ptr{CUgraphEdgeData}, + numEdges::Ptr{Csize_t})::CUresult +end + +@checked function cuGraphNodeGetDependencies_v2(hNode, dependencies, edgeData, + numDependencies) + initialize_context() + @gcsafe_ccall libcuda.cuGraphNodeGetDependencies_v2(hNode::CUgraphNode, + dependencies::Ptr{CUgraphNode}, + edgeData::Ptr{CUgraphEdgeData}, + numDependencies::Ptr{Csize_t})::CUresult +end + +@checked function cuGraphNodeGetDependentNodes_v2(hNode, dependentNodes, edgeData, + numDependentNodes) + initialize_context() + @gcsafe_ccall libcuda.cuGraphNodeGetDependentNodes_v2(hNode::CUgraphNode, + dependentNodes::Ptr{CUgraphNode}, + edgeData::Ptr{CUgraphEdgeData}, + numDependentNodes::Ptr{Csize_t})::CUresult +end + +@checked function cuGraphAddDependencies_v2(hGraph, from, to, edgeData, numDependencies) + initialize_context() + @gcsafe_ccall libcuda.cuGraphAddDependencies_v2(hGraph::CUgraph, from::Ptr{CUgraphNode}, + to::Ptr{CUgraphNode}, + edgeData::Ptr{CUgraphEdgeData}, + numDependencies::Csize_t)::CUresult +end + +@checked function cuGraphRemoveDependencies_v2(hGraph, from, to, edgeData, numDependencies) + initialize_context() + @gcsafe_ccall libcuda.cuGraphRemoveDependencies_v2(hGraph::CUgraph, + from::Ptr{CUgraphNode}, + to::Ptr{CUgraphNode}, + edgeData::Ptr{CUgraphEdgeData}, + numDependencies::Csize_t)::CUresult +end + +@cenum CUgraphNodeType_enum::UInt32 begin + CU_GRAPH_NODE_TYPE_KERNEL = 0 + CU_GRAPH_NODE_TYPE_MEMCPY = 1 + CU_GRAPH_NODE_TYPE_MEMSET = 2 + CU_GRAPH_NODE_TYPE_HOST = 3 + CU_GRAPH_NODE_TYPE_GRAPH = 4 + CU_GRAPH_NODE_TYPE_EMPTY = 5 + CU_GRAPH_NODE_TYPE_WAIT_EVENT = 6 + CU_GRAPH_NODE_TYPE_EVENT_RECORD = 7 + CU_GRAPH_NODE_TYPE_EXT_SEMAS_SIGNAL = 8 + CU_GRAPH_NODE_TYPE_EXT_SEMAS_WAIT = 9 + CU_GRAPH_NODE_TYPE_MEM_ALLOC = 10 + CU_GRAPH_NODE_TYPE_MEM_FREE = 11 + CU_GRAPH_NODE_TYPE_BATCH_MEM_OP = 12 + CU_GRAPH_NODE_TYPE_CONDITIONAL = 13 +end + +const CUgraphNodeType = CUgraphNodeType_enum + +struct CUgraphNodeParams_st + data::NTuple{256,UInt8} +end + +function Base.getproperty(x::Ptr{CUgraphNodeParams_st}, f::Symbol) + f === :type && return Ptr{CUgraphNodeType}(x + 0) + f === :reserved0 && return Ptr{NTuple{3,Cint}}(x + 4) + f === :reserved1 && return Ptr{NTuple{29,Clonglong}}(x + 16) + f === :kernel && return Ptr{CUDA_KERNEL_NODE_PARAMS_v3}(x + 16) + f === :memcpy && return Ptr{CUDA_MEMCPY_NODE_PARAMS}(x + 16) + f === :memset && return Ptr{CUDA_MEMSET_NODE_PARAMS_v2}(x + 16) + f === :host && return Ptr{CUDA_HOST_NODE_PARAMS_v2}(x + 16) + f === :graph && return Ptr{CUDA_CHILD_GRAPH_NODE_PARAMS}(x + 16) + f === :eventWait && return Ptr{CUDA_EVENT_WAIT_NODE_PARAMS}(x + 16) + f === :eventRecord && return Ptr{CUDA_EVENT_RECORD_NODE_PARAMS}(x + 16) + f === :extSemSignal && return Ptr{CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2}(x + 16) + f === :extSemWait && return Ptr{CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2}(x + 16) + f === :alloc && return Ptr{CUDA_MEM_ALLOC_NODE_PARAMS_v2}(x + 16) + f === :free && return Ptr{CUDA_MEM_FREE_NODE_PARAMS}(x + 16) + f === :memOp && return Ptr{CUDA_BATCH_MEM_OP_NODE_PARAMS_v2}(x + 16) + f === :conditional && return Ptr{CUDA_CONDITIONAL_NODE_PARAMS}(x + 16) + f === :reserved2 && return Ptr{Clonglong}(x + 248) + return getfield(x, f) +end + +function Base.getproperty(x::CUgraphNodeParams_st, f::Symbol) + r = Ref{CUgraphNodeParams_st}(x) + ptr = Base.unsafe_convert(Ptr{CUgraphNodeParams_st}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +function Base.setproperty!(x::Ptr{CUgraphNodeParams_st}, f::Symbol, v) + return unsafe_store!(getproperty(x, f), v) end -@checked function cuGraphKernelNodeGetParams_v2(hNode, nodeParams) - initialize_context() - @gcsafe_ccall libcuda.cuGraphKernelNodeGetParams_v2(hNode::CUgraphNode, - nodeParams::Ptr{CUDA_KERNEL_NODE_PARAMS})::CUresult +function Base.propertynames(x::CUgraphNodeParams_st, private::Bool=false) + return (:type, :reserved0, :reserved1, :kernel, :memcpy, :memset, :host, :graph, + :eventWait, :eventRecord, :extSemSignal, :extSemWait, :alloc, :free, :memOp, + :conditional, :reserved2, if private + fieldnames(typeof(x)) + else + () + end...) end -@checked function cuGraphKernelNodeSetParams_v2(hNode, nodeParams) +const CUgraphNodeParams = CUgraphNodeParams_st + +@checked function cuGraphAddNode_v2(phGraphNode, hGraph, dependencies, dependencyData, + numDependencies, nodeParams) initialize_context() - @gcsafe_ccall libcuda.cuGraphKernelNodeSetParams_v2(hNode::CUgraphNode, - nodeParams::Ptr{CUDA_KERNEL_NODE_PARAMS})::CUresult + @gcsafe_ccall libcuda.cuGraphAddNode_v2(phGraphNode::Ptr{CUgraphNode}, hGraph::CUgraph, + dependencies::Ptr{CUgraphNode}, + dependencyData::Ptr{CUgraphEdgeData}, + numDependencies::Csize_t, + nodeParams::Ptr{CUgraphNodeParams})::CUresult end -@checked function cuGraphExecKernelNodeSetParams_v2(hGraphExec, hNode, nodeParams) +@checked function cuEventElapsedTime_v2(pMilliseconds, hStart, hEnd) initialize_context() - @gcsafe_ccall libcuda.cuGraphExecKernelNodeSetParams_v2(hGraphExec::CUgraphExec, - hNode::CUgraphNode, - nodeParams::Ptr{CUDA_KERNEL_NODE_PARAMS})::CUresult + @gcsafe_ccall libcuda.cuEventElapsedTime_v2(pMilliseconds::Ptr{Cfloat}, hStart::CUevent, + hEnd::CUevent)::CUresult end const cuuint32_t = UInt32 @@ -904,6 +1321,15 @@ function Base.setproperty!(x::Ptr{CUstreamBatchMemOpParams_union}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end +function Base.propertynames(x::CUstreamBatchMemOpParams_union, private::Bool=false) + return (:operation, :waitValue, :writeValue, :flushRemoteWrites, :memoryBarrier, :pad, + if private + fieldnames(typeof(x)) + else + () + end...) +end + const CUstreamBatchMemOpParams_v1 = CUstreamBatchMemOpParams_union const CUstreamBatchMemOpParams = CUstreamBatchMemOpParams_v1 @@ -923,17 +1349,30 @@ end const CUstreamCaptureStatus = CUstreamCaptureStatus_enum -@checked function cuStreamGetCaptureInfo_v2(hStream, captureStatus_out, id_out, graph_out, - dependencies_out, numDependencies_out) +@checked function cuStreamGetCaptureInfo_v3(hStream, captureStatus_out, id_out, graph_out, + dependencies_out, edgeData_out, + numDependencies_out) initialize_context() - @gcsafe_ccall libcuda.cuStreamGetCaptureInfo_v2(hStream::CUstream, + @gcsafe_ccall libcuda.cuStreamGetCaptureInfo_v3(hStream::CUstream, captureStatus_out::Ptr{CUstreamCaptureStatus}, id_out::Ptr{cuuint64_t}, graph_out::Ptr{CUgraph}, dependencies_out::Ptr{Ptr{CUgraphNode}}, + edgeData_out::Ptr{Ptr{CUgraphEdgeData}}, numDependencies_out::Ptr{Csize_t})::CUresult end +@checked function cuStreamUpdateCaptureDependencies_v2(hStream, dependencies, + dependencyData, numDependencies, + flags) + initialize_context() + @gcsafe_ccall libcuda.cuStreamUpdateCaptureDependencies_v2(hStream::CUstream, + dependencies::Ptr{CUgraphNode}, + dependencyData::Ptr{CUgraphEdgeData}, + numDependencies::Csize_t, + flags::Cuint)::CUresult +end + mutable struct CUlib_st end const CUlibrary = Ptr{CUlib_st} @@ -984,12 +1423,6 @@ mutable struct CUgreenCtx_st end const CUgreenCtx = Ptr{CUgreenCtx_st} -struct CUuuid_st - bytes::NTuple{16,Cchar} -end - -const CUuuid = CUuuid_st - struct CUmemFabricHandle_st data::NTuple{64,Cuchar} end @@ -1169,41 +1602,41 @@ end const CUasyncNotificationType = CUasyncNotificationType_enum -struct var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cuda.h:616:5)" +struct var"##Ctag#237" data::NTuple{8,UInt8} end -function Base.getproperty(x::Ptr{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cuda.h:616:5)"}, - f::Symbol) - f === :overBudget && - return Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cuda.h:617:9)"}(x + - 0) +function Base.getproperty(x::Ptr{var"##Ctag#237"}, f::Symbol) + f === :overBudget && return Ptr{var"##Ctag#238"}(x + 0) return getfield(x, f) end -function Base.getproperty(x::var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cuda.h:616:5)", - f::Symbol) - r = Ref{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cuda.h:616:5)"}(x) - ptr = Base.unsafe_convert(Ptr{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cuda.h:616:5)"}, - r) +function Base.getproperty(x::var"##Ctag#237", f::Symbol) + r = Ref{var"##Ctag#237"}(x) + ptr = Base.unsafe_convert(Ptr{var"##Ctag#237"}, r) fptr = getproperty(ptr, f) GC.@preserve r unsafe_load(fptr) end -function Base.setproperty!(x::Ptr{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cuda.h:616:5)"}, - f::Symbol, v) +function Base.setproperty!(x::Ptr{var"##Ctag#237"}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end +function Base.propertynames(x::var"##Ctag#237", private::Bool=false) + return (:overBudget, if private + fieldnames(typeof(x)) + else + () + end...) +end + struct CUasyncNotificationInfo_st data::NTuple{16,UInt8} end function Base.getproperty(x::Ptr{CUasyncNotificationInfo_st}, f::Symbol) f === :type && return Ptr{CUasyncNotificationType}(x + 0) - f === :info && - return Ptr{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cuda.h:616:5)"}(x + - 8) + f === :info && return Ptr{var"##Ctag#237"}(x + 8) return getfield(x, f) end @@ -1218,6 +1651,14 @@ function Base.setproperty!(x::Ptr{CUasyncNotificationInfo_st}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end +function Base.propertynames(x::CUasyncNotificationInfo_st, private::Bool=false) + return (:type, :info, if private + fieldnames(typeof(x)) + else + () + end...) +end + const CUasyncNotificationInfo = CUasyncNotificationInfo_st # typedef void ( * CUasyncCallback ) ( CUasyncNotificationInfo * info , void * userData , CUasyncCallbackHandle callback ) @@ -1389,7 +1830,11 @@ const CUfilter_mode = CUfilter_mode_enum CU_DEVICE_ATTRIBUTE_HOST_NUMA_VIRTUAL_MEMORY_MANAGEMENT_SUPPORTED = 141 CU_DEVICE_ATTRIBUTE_HOST_NUMA_MEMORY_POOLS_SUPPORTED = 142 CU_DEVICE_ATTRIBUTE_HOST_NUMA_MULTINODE_IPC_SUPPORTED = 143 - CU_DEVICE_ATTRIBUTE_MAX = 144 + CU_DEVICE_ATTRIBUTE_HOST_MEMORY_POOLS_SUPPORTED = 144 + CU_DEVICE_ATTRIBUTE_HOST_VIRTUAL_MEMORY_MANAGEMENT_SUPPORTED = 145 + CU_DEVICE_ATTRIBUTE_HOST_ALLOC_DMA_BUF_SUPPORTED = 146 + CU_DEVICE_ATTRIBUTE_ONLY_PARTIAL_HOST_NATIVE_ATOMIC_SUPPORTED = 147 + CU_DEVICE_ATTRIBUTE_MAX = 148 end const CUdevice_attribute = CUdevice_attribute_enum @@ -1492,17 +1937,6 @@ end const CUcomputemode = CUcomputemode_enum -@cenum CUmem_advise_enum::UInt32 begin - CU_MEM_ADVISE_SET_READ_MOSTLY = 1 - CU_MEM_ADVISE_UNSET_READ_MOSTLY = 2 - CU_MEM_ADVISE_SET_PREFERRED_LOCATION = 3 - CU_MEM_ADVISE_UNSET_PREFERRED_LOCATION = 4 - CU_MEM_ADVISE_SET_ACCESSED_BY = 5 - CU_MEM_ADVISE_UNSET_ACCESSED_BY = 6 -end - -const CUmem_advise = CUmem_advise_enum - @cenum CUmem_range_attribute_enum::UInt32 begin CU_MEM_RANGE_ATTRIBUTE_READ_MOSTLY = 1 CU_MEM_RANGE_ATTRIBUTE_PREFERRED_LOCATION = 2 @@ -1536,18 +1970,18 @@ const CUmem_range_attribute = CUmem_range_attribute_enum CU_TARGET_COMPUTE_89 = 89 CU_TARGET_COMPUTE_90 = 90 CU_TARGET_COMPUTE_100 = 100 - CU_TARGET_COMPUTE_101 = 101 + CU_TARGET_COMPUTE_110 = 110 CU_TARGET_COMPUTE_103 = 103 CU_TARGET_COMPUTE_120 = 120 CU_TARGET_COMPUTE_121 = 121 CU_TARGET_COMPUTE_90A = 65626 CU_TARGET_COMPUTE_100A = 65636 - CU_TARGET_COMPUTE_101A = 65637 + CU_TARGET_COMPUTE_110A = 65646 CU_TARGET_COMPUTE_103A = 65639 CU_TARGET_COMPUTE_120A = 65656 CU_TARGET_COMPUTE_121A = 65657 CU_TARGET_COMPUTE_100F = 131172 - CU_TARGET_COMPUTE_101F = 131173 + CU_TARGET_COMPUTE_110F = 131182 CU_TARGET_COMPUTE_103F = 131175 CU_TARGET_COMPUTE_120F = 131192 CU_TARGET_COMPUTE_121F = 131193 @@ -1736,25 +2170,6 @@ struct CUDA_CONDITIONAL_NODE_PARAMS ctx::CUcontext end -@cenum CUgraphNodeType_enum::UInt32 begin - CU_GRAPH_NODE_TYPE_KERNEL = 0 - CU_GRAPH_NODE_TYPE_MEMCPY = 1 - CU_GRAPH_NODE_TYPE_MEMSET = 2 - CU_GRAPH_NODE_TYPE_HOST = 3 - CU_GRAPH_NODE_TYPE_GRAPH = 4 - CU_GRAPH_NODE_TYPE_EMPTY = 5 - CU_GRAPH_NODE_TYPE_WAIT_EVENT = 6 - CU_GRAPH_NODE_TYPE_EVENT_RECORD = 7 - CU_GRAPH_NODE_TYPE_EXT_SEMAS_SIGNAL = 8 - CU_GRAPH_NODE_TYPE_EXT_SEMAS_WAIT = 9 - CU_GRAPH_NODE_TYPE_MEM_ALLOC = 10 - CU_GRAPH_NODE_TYPE_MEM_FREE = 11 - CU_GRAPH_NODE_TYPE_BATCH_MEM_OP = 12 - CU_GRAPH_NODE_TYPE_CONDITIONAL = 13 -end - -const CUgraphNodeType = CUgraphNodeType_enum - @cenum CUgraphDependencyType_enum::UInt32 begin CU_GRAPH_DEPENDENCY_TYPE_DEFAULT = 0 CU_GRAPH_DEPENDENCY_TYPE_PROGRAMMATIC = 1 @@ -1762,15 +2177,6 @@ end const CUgraphDependencyType = CUgraphDependencyType_enum -struct CUgraphEdgeData_st - from_port::Cuchar - to_port::Cuchar - type::Cuchar - reserved::NTuple{5,Cuchar} -end - -const CUgraphEdgeData = CUgraphEdgeData_st - @cenum CUgraphInstantiateResult_enum::UInt32 begin CUDA_GRAPH_INSTANTIATE_SUCCESS = 0 CUDA_GRAPH_INSTANTIATE_ERROR = 1 @@ -1838,6 +2244,7 @@ const CUlaunchMemSyncDomainMap = CUlaunchMemSyncDomainMap_st CU_LAUNCH_ATTRIBUTE_LAUNCH_COMPLETION_EVENT = 12 CU_LAUNCH_ATTRIBUTE_DEVICE_UPDATABLE_KERNEL_NODE = 13 CU_LAUNCH_ATTRIBUTE_PREFERRED_SHARED_MEMORY_CARVEOUT = 14 + CU_LAUNCH_ATTRIBUTE_NVLINK_UTIL_CENTRIC_SCHEDULING = 16 end const CUlaunchAttributeID = CUlaunchAttributeID_enum @@ -1851,27 +2258,18 @@ function Base.getproperty(x::Ptr{CUlaunchAttributeValue_union}, f::Symbol) f === :accessPolicyWindow && return Ptr{CUaccessPolicyWindow}(x + 0) f === :cooperative && return Ptr{Cint}(x + 0) f === :syncPolicy && return Ptr{CUsynchronizationPolicy}(x + 0) - f === :clusterDim && - return Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cuda.h:2216:5)"}(x + - 0) + f === :clusterDim && return Ptr{var"##Ctag#245"}(x + 0) f === :clusterSchedulingPolicyPreference && return Ptr{CUclusterSchedulingPolicy}(x + 0) f === :programmaticStreamSerializationAllowed && return Ptr{Cint}(x + 0) - f === :programmaticEvent && - return Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cuda.h:2233:5)"}(x + - 0) - f === :launchCompletionEvent && - return Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cuda.h:2244:5)"}(x + - 0) + f === :programmaticEvent && return Ptr{var"##Ctag#246"}(x + 0) + f === :launchCompletionEvent && return Ptr{var"##Ctag#247"}(x + 0) f === :priority && return Ptr{Cint}(x + 0) f === :memSyncDomainMap && return Ptr{CUlaunchMemSyncDomainMap}(x + 0) f === :memSyncDomain && return Ptr{CUlaunchMemSyncDomain}(x + 0) - f === :preferredClusterDim && - return Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cuda.h:2267:5)"}(x + - 0) - f === :deviceUpdatableKernelNode && - return Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cuda.h:2279:5)"}(x + - 0) + f === :preferredClusterDim && return Ptr{var"##Ctag#248"}(x + 0) + f === :deviceUpdatableKernelNode && return Ptr{var"##Ctag#249"}(x + 0) f === :sharedMemCarveout && return Ptr{Cuint}(x + 0) + f === :nvlinkUtilCentricScheduling && return Ptr{Cuint}(x + 0) return getfield(x, f) end @@ -1886,12 +2284,48 @@ function Base.setproperty!(x::Ptr{CUlaunchAttributeValue_union}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end +function Base.propertynames(x::CUlaunchAttributeValue_union, private::Bool=false) + return (:pad, :accessPolicyWindow, :cooperative, :syncPolicy, :clusterDim, + :clusterSchedulingPolicyPreference, :programmaticStreamSerializationAllowed, + :programmaticEvent, :launchCompletionEvent, :priority, :memSyncDomainMap, + :memSyncDomain, :preferredClusterDim, :deviceUpdatableKernelNode, + :sharedMemCarveout, :nvlinkUtilCentricScheduling, if private + fieldnames(typeof(x)) + else + () + end...) +end + const CUlaunchAttributeValue = CUlaunchAttributeValue_union struct CUlaunchAttribute_st - id::CUlaunchAttributeID - pad::NTuple{4,Cchar} - value::CUlaunchAttributeValue + data::NTuple{72,UInt8} +end + +function Base.getproperty(x::Ptr{CUlaunchAttribute_st}, f::Symbol) + f === :id && return Ptr{CUlaunchAttributeID}(x + 0) + f === :pad && return Ptr{NTuple{4,Cchar}}(x + 4) + f === :value && return Ptr{CUlaunchAttributeValue}(x + 8) + return getfield(x, f) +end + +function Base.getproperty(x::CUlaunchAttribute_st, f::Symbol) + r = Ref{CUlaunchAttribute_st}(x) + ptr = Base.unsafe_convert(Ptr{CUlaunchAttribute_st}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +function Base.setproperty!(x::Ptr{CUlaunchAttribute_st}, f::Symbol, v) + return unsafe_store!(getproperty(x, f), v) +end + +function Base.propertynames(x::CUlaunchAttribute_st, private::Bool=false) + return (:id, :pad, :value, if private + fieldnames(typeof(x)) + else + () + end...) end const CUlaunchAttribute = CUlaunchAttribute_st @@ -1931,13 +2365,6 @@ end const CUdriverProcAddress_flags = CUdriverProcAddress_flags_enum -@cenum CUexecAffinityType_enum::UInt32 begin - CU_EXEC_AFFINITY_TYPE_SM_COUNT = 0 - CU_EXEC_AFFINITY_TYPE_MAX = 1 -end - -const CUexecAffinityType = CUexecAffinityType_enum - struct CUexecAffinitySmCount_st val::Cuint end @@ -1946,79 +2373,6 @@ const CUexecAffinitySmCount_v1 = CUexecAffinitySmCount_st const CUexecAffinitySmCount = CUexecAffinitySmCount_v1 -struct var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cuda.h:2395:5)" - data::NTuple{4,UInt8} -end - -function Base.getproperty(x::Ptr{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cuda.h:2395:5)"}, - f::Symbol) - f === :smCount && return Ptr{CUexecAffinitySmCount}(x + 0) - return getfield(x, f) -end - -function Base.getproperty(x::var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cuda.h:2395:5)", - f::Symbol) - r = Ref{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cuda.h:2395:5)"}(x) - ptr = Base.unsafe_convert(Ptr{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cuda.h:2395:5)"}, - r) - fptr = getproperty(ptr, f) - GC.@preserve r unsafe_load(fptr) -end - -function Base.setproperty!(x::Ptr{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cuda.h:2395:5)"}, - f::Symbol, v) - return unsafe_store!(getproperty(x, f), v) -end - -struct CUexecAffinityParam_st - data::NTuple{8,UInt8} -end - -function Base.getproperty(x::Ptr{CUexecAffinityParam_st}, f::Symbol) - f === :type && return Ptr{CUexecAffinityType}(x + 0) - f === :param && - return Ptr{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cuda.h:2395:5)"}(x + - 4) - return getfield(x, f) -end - -function Base.getproperty(x::CUexecAffinityParam_st, f::Symbol) - r = Ref{CUexecAffinityParam_st}(x) - ptr = Base.unsafe_convert(Ptr{CUexecAffinityParam_st}, r) - fptr = getproperty(ptr, f) - GC.@preserve r unsafe_load(fptr) -end - -function Base.setproperty!(x::Ptr{CUexecAffinityParam_st}, f::Symbol, v) - return unsafe_store!(getproperty(x, f), v) -end - -const CUexecAffinityParam_v1 = CUexecAffinityParam_st - -const CUexecAffinityParam = CUexecAffinityParam_v1 - -@cenum CUcigDataType_enum::UInt32 begin - CIG_DATA_TYPE_D3D12_COMMAND_QUEUE = 1 - CIG_DATA_TYPE_NV_BLOB = 2 -end - -const CUcigDataType = CUcigDataType_enum - -struct CUctxCigParam_st - sharedDataType::CUcigDataType - sharedData::Ptr{Cvoid} -end - -const CUctxCigParam = CUctxCigParam_st - -struct CUctxCreateParams_st - execAffinityParams::Ptr{CUexecAffinityParam} - numExecAffinityParams::Cint - cigParams::Ptr{CUctxCigParam} -end - -const CUctxCreateParams = CUctxCreateParams_st - @cenum CUlibraryOption_enum::UInt32 begin CU_LIBRARY_HOST_UNIVERSAL_FUNCTION_AND_DATA_TABLE = 0 CU_LIBRARY_BINARY_IS_PRESERVED = 1 @@ -2042,10 +2396,42 @@ const CUlibraryHostUniversalFunctionAndDataTable = CUlibraryHostUniversalFunctio CU_DEVICE_P2P_ATTRIBUTE_NATIVE_ATOMIC_SUPPORTED = 3 CU_DEVICE_P2P_ATTRIBUTE_ACCESS_ACCESS_SUPPORTED = 4 CU_DEVICE_P2P_ATTRIBUTE_CUDA_ARRAY_ACCESS_SUPPORTED = 4 + CU_DEVICE_P2P_ATTRIBUTE_ONLY_PARTIAL_NATIVE_ATOMIC_SUPPORTED = 5 end const CUdevice_P2PAttribute = CUdevice_P2PAttribute_enum +@cenum CUatomicOperation_enum::UInt32 begin + CU_ATOMIC_OPERATION_INTEGER_ADD = 0 + CU_ATOMIC_OPERATION_INTEGER_MIN = 1 + CU_ATOMIC_OPERATION_INTEGER_MAX = 2 + CU_ATOMIC_OPERATION_INTEGER_INCREMENT = 3 + CU_ATOMIC_OPERATION_INTEGER_DECREMENT = 4 + CU_ATOMIC_OPERATION_AND = 5 + CU_ATOMIC_OPERATION_OR = 6 + CU_ATOMIC_OPERATION_XOR = 7 + CU_ATOMIC_OPERATION_EXCHANGE = 8 + CU_ATOMIC_OPERATION_CAS = 9 + CU_ATOMIC_OPERATION_FLOAT_ADD = 10 + CU_ATOMIC_OPERATION_FLOAT_MIN = 11 + CU_ATOMIC_OPERATION_FLOAT_MAX = 12 + CU_ATOMIC_OPERATION_MAX = 13 +end + +const CUatomicOperation = CUatomicOperation_enum + +@cenum CUatomicOperationCapability_enum::UInt32 begin + CU_ATOMIC_CAPABILITY_SIGNED = 1 + CU_ATOMIC_CAPABILITY_UNSIGNED = 2 + CU_ATOMIC_CAPABILITY_REDUCTION = 4 + CU_ATOMIC_CAPABILITY_SCALAR_32 = 8 + CU_ATOMIC_CAPABILITY_SCALAR_64 = 16 + CU_ATOMIC_CAPABILITY_SCALAR_128 = 32 + CU_ATOMIC_CAPABILITY_VECTOR_32x4 = 64 +end + +const CUatomicOperationCapability = CUatomicOperationCapability_enum + # typedef void ( CUDA_CB * CUstreamCallback ) ( CUstream hStream , CUresult status , void * userData ) const CUstreamCallback = Ptr{Cvoid} @@ -2093,20 +2479,35 @@ end const CUDA_MEMCPY_NODE_PARAMS = CUDA_MEMCPY_NODE_PARAMS_st -struct var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cuda.h:3351:5)" +struct var"##Ctag#262" width::Cuint height::Cuint depth::Cuint end +function Base.getproperty(x::Ptr{var"##Ctag#262"}, f::Symbol) + f === :width && return Ptr{Cuint}(x + 0) + f === :height && return Ptr{Cuint}(x + 4) + f === :depth && return Ptr{Cuint}(x + 8) + return getfield(x, f) +end + +function Base.getproperty(x::var"##Ctag#262", f::Symbol) + r = Ref{var"##Ctag#262"}(x) + ptr = Base.unsafe_convert(Ptr{var"##Ctag#262"}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +function Base.setproperty!(x::Ptr{var"##Ctag#262"}, f::Symbol, v) + return unsafe_store!(getproperty(x, f), v) +end struct CUDA_ARRAY_SPARSE_PROPERTIES_st data::NTuple{48,UInt8} end function Base.getproperty(x::Ptr{CUDA_ARRAY_SPARSE_PROPERTIES_st}, f::Symbol) - f === :tileExtent && - return Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cuda.h:3351:5)"}(x + - 0) + f === :tileExtent && return Ptr{var"##Ctag#262"}(x + 0) f === :miptailFirstLevel && return Ptr{Cuint}(x + 12) f === :miptailSize && return Ptr{Culonglong}(x + 16) f === :flags && return Ptr{Cuint}(x + 24) @@ -2125,6 +2526,15 @@ function Base.setproperty!(x::Ptr{CUDA_ARRAY_SPARSE_PROPERTIES_st}, f::Symbol, v return unsafe_store!(getproperty(x, f), v) end +function Base.propertynames(x::CUDA_ARRAY_SPARSE_PROPERTIES_st, private::Bool=false) + return (:tileExtent, :miptailFirstLevel, :miptailSize, :flags, :reserved, + if private + fieldnames(typeof(x)) + else + () + end...) +end + const CUDA_ARRAY_SPARSE_PROPERTIES_v1 = CUDA_ARRAY_SPARSE_PROPERTIES_st const CUDA_ARRAY_SPARSE_PROPERTIES = CUDA_ARRAY_SPARSE_PROPERTIES_v1 @@ -2139,53 +2549,45 @@ const CUDA_ARRAY_MEMORY_REQUIREMENTS_v1 = CUDA_ARRAY_MEMORY_REQUIREMENTS_st const CUDA_ARRAY_MEMORY_REQUIREMENTS = CUDA_ARRAY_MEMORY_REQUIREMENTS_v1 -struct var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cuda.h:3390:5)" +struct var"##Ctag#256" data::NTuple{128,UInt8} end -function Base.getproperty(x::Ptr{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cuda.h:3390:5)"}, - f::Symbol) - f === :array && - return Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cuda.h:3391:9)"}(x + - 0) - f === :mipmap && - return Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cuda.h:3394:9)"}(x + - 0) - f === :linear && - return Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cuda.h:3397:9)"}(x + - 0) - f === :pitch2D && - return Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cuda.h:3403:9)"}(x + - 0) - f === :reserved && - return Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cuda.h:3411:9)"}(x + - 0) +function Base.getproperty(x::Ptr{var"##Ctag#256"}, f::Symbol) + f === :array && return Ptr{var"##Ctag#257"}(x + 0) + f === :mipmap && return Ptr{var"##Ctag#258"}(x + 0) + f === :linear && return Ptr{var"##Ctag#259"}(x + 0) + f === :pitch2D && return Ptr{var"##Ctag#260"}(x + 0) + f === :reserved && return Ptr{var"##Ctag#261"}(x + 0) return getfield(x, f) end -function Base.getproperty(x::var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cuda.h:3390:5)", - f::Symbol) - r = Ref{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cuda.h:3390:5)"}(x) - ptr = Base.unsafe_convert(Ptr{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cuda.h:3390:5)"}, - r) +function Base.getproperty(x::var"##Ctag#256", f::Symbol) + r = Ref{var"##Ctag#256"}(x) + ptr = Base.unsafe_convert(Ptr{var"##Ctag#256"}, r) fptr = getproperty(ptr, f) GC.@preserve r unsafe_load(fptr) end -function Base.setproperty!(x::Ptr{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cuda.h:3390:5)"}, - f::Symbol, v) +function Base.setproperty!(x::Ptr{var"##Ctag#256"}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end +function Base.propertynames(x::var"##Ctag#256", private::Bool=false) + return (:array, :mipmap, :linear, :pitch2D, :reserved, if private + fieldnames(typeof(x)) + else + () + end...) +end + struct CUDA_RESOURCE_DESC_st data::NTuple{144,UInt8} end function Base.getproperty(x::Ptr{CUDA_RESOURCE_DESC_st}, f::Symbol) f === :resType && return Ptr{CUresourcetype}(x + 0) - f === :res && - return Ptr{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cuda.h:3390:5)"}(x + - 8) + f === :res && return Ptr{var"##Ctag#256"}(x + 8) f === :flags && return Ptr{Cuint}(x + 136) return getfield(x, f) end @@ -2201,6 +2603,14 @@ function Base.setproperty!(x::Ptr{CUDA_RESOURCE_DESC_st}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end +function Base.propertynames(x::CUDA_RESOURCE_DESC_st, private::Bool=false) + return (:resType, :res, :flags, if private + fieldnames(typeof(x)) + else + () + end...) +end + const CUDA_RESOURCE_DESC_v1 = CUDA_RESOURCE_DESC_st const CUDA_RESOURCE_DESC = CUDA_RESOURCE_DESC_v1 @@ -2298,6 +2708,14 @@ function Base.setproperty!(x::Ptr{CUtensorMap_st}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end +function Base.propertynames(x::CUtensorMap_st, private::Bool=false) + return (:opaque, if private + fieldnames(typeof(x)) + else + () + end...) +end + const CUtensorMap = CUtensorMap_st @cenum CUtensorMapDataType_enum::UInt32 begin @@ -2407,47 +2825,48 @@ const CUDA_LAUNCH_PARAMS = CUDA_LAUNCH_PARAMS_v1 CU_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_RESOURCE = 6 CU_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_RESOURCE_KMT = 7 CU_EXTERNAL_MEMORY_HANDLE_TYPE_NVSCIBUF = 8 + CU_EXTERNAL_MEMORY_HANDLE_TYPE_DMABUF_FD = 9 end const CUexternalMemoryHandleType = CUexternalMemoryHandleType_enum -struct var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cuda.h:3701:5)" +struct var"##Ctag#239" data::NTuple{16,UInt8} end -function Base.getproperty(x::Ptr{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cuda.h:3701:5)"}, - f::Symbol) +function Base.getproperty(x::Ptr{var"##Ctag#239"}, f::Symbol) f === :fd && return Ptr{Cint}(x + 0) - f === :win32 && - return Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cuda.h:3723:9)"}(x + - 0) + f === :win32 && return Ptr{var"##Ctag#240"}(x + 0) f === :nvSciBufObject && return Ptr{Ptr{Cvoid}}(x + 0) return getfield(x, f) end -function Base.getproperty(x::var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cuda.h:3701:5)", - f::Symbol) - r = Ref{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cuda.h:3701:5)"}(x) - ptr = Base.unsafe_convert(Ptr{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cuda.h:3701:5)"}, - r) +function Base.getproperty(x::var"##Ctag#239", f::Symbol) + r = Ref{var"##Ctag#239"}(x) + ptr = Base.unsafe_convert(Ptr{var"##Ctag#239"}, r) fptr = getproperty(ptr, f) GC.@preserve r unsafe_load(fptr) end -function Base.setproperty!(x::Ptr{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cuda.h:3701:5)"}, - f::Symbol, v) +function Base.setproperty!(x::Ptr{var"##Ctag#239"}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end +function Base.propertynames(x::var"##Ctag#239", private::Bool=false) + return (:fd, :win32, :nvSciBufObject, if private + fieldnames(typeof(x)) + else + () + end...) +end + struct CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st data::NTuple{104,UInt8} end function Base.getproperty(x::Ptr{CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st}, f::Symbol) f === :type && return Ptr{CUexternalMemoryHandleType}(x + 0) - f === :handle && - return Ptr{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cuda.h:3701:5)"}(x + - 8) + f === :handle && return Ptr{var"##Ctag#239"}(x + 8) f === :size && return Ptr{Culonglong}(x + 24) f === :flags && return Ptr{Cuint}(x + 32) f === :reserved && return Ptr{NTuple{16,Cuint}}(x + 36) @@ -2465,6 +2884,14 @@ function Base.setproperty!(x::Ptr{CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st}, f::Symbo return unsafe_store!(getproperty(x, f), v) end +function Base.propertynames(x::CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st, private::Bool=false) + return (:type, :handle, :size, :flags, :reserved, if private + fieldnames(typeof(x)) + else + () + end...) +end + const CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1 = CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st const CUDA_EXTERNAL_MEMORY_HANDLE_DESC = CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1 @@ -2506,43 +2933,43 @@ end const CUexternalSemaphoreHandleType = CUexternalSemaphoreHandleType_enum -struct var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cuda.h:3847:5)" +struct var"##Ctag#230" data::NTuple{16,UInt8} end -function Base.getproperty(x::Ptr{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cuda.h:3847:5)"}, - f::Symbol) +function Base.getproperty(x::Ptr{var"##Ctag#230"}, f::Symbol) f === :fd && return Ptr{Cint}(x + 0) - f === :win32 && - return Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cuda.h:3870:9)"}(x + - 0) + f === :win32 && return Ptr{var"##Ctag#231"}(x + 0) f === :nvSciSyncObj && return Ptr{Ptr{Cvoid}}(x + 0) return getfield(x, f) end -function Base.getproperty(x::var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cuda.h:3847:5)", - f::Symbol) - r = Ref{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cuda.h:3847:5)"}(x) - ptr = Base.unsafe_convert(Ptr{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cuda.h:3847:5)"}, - r) +function Base.getproperty(x::var"##Ctag#230", f::Symbol) + r = Ref{var"##Ctag#230"}(x) + ptr = Base.unsafe_convert(Ptr{var"##Ctag#230"}, r) fptr = getproperty(ptr, f) GC.@preserve r unsafe_load(fptr) end -function Base.setproperty!(x::Ptr{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cuda.h:3847:5)"}, - f::Symbol, v) +function Base.setproperty!(x::Ptr{var"##Ctag#230"}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end +function Base.propertynames(x::var"##Ctag#230", private::Bool=false) + return (:fd, :win32, :nvSciSyncObj, if private + fieldnames(typeof(x)) + else + () + end...) +end + struct CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st data::NTuple{96,UInt8} end function Base.getproperty(x::Ptr{CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st}, f::Symbol) f === :type && return Ptr{CUexternalSemaphoreHandleType}(x + 0) - f === :handle && - return Ptr{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cuda.h:3847:5)"}(x + - 8) + f === :handle && return Ptr{var"##Ctag#230"}(x + 8) f === :flags && return Ptr{Cuint}(x + 24) f === :reserved && return Ptr{NTuple{16,Cuint}}(x + 28) return getfield(x, f) @@ -2559,84 +2986,122 @@ function Base.setproperty!(x::Ptr{CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st}, f::Sy return unsafe_store!(getproperty(x, f), v) end +function Base.propertynames(x::CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st, private::Bool=false) + return (:type, :handle, :flags, :reserved, if private + fieldnames(typeof(x)) + else + () + end...) +end + const CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1 = CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st const CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC = CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1 -struct var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cuda.h:3902:9)" +struct var"##Ctag#253" value::Culonglong end +function Base.getproperty(x::Ptr{var"##Ctag#253"}, f::Symbol) + f === :value && return Ptr{Culonglong}(x + 0) + return getfield(x, f) +end + +function Base.getproperty(x::var"##Ctag#253", f::Symbol) + r = Ref{var"##Ctag#253"}(x) + ptr = Base.unsafe_convert(Ptr{var"##Ctag#253"}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +function Base.setproperty!(x::Ptr{var"##Ctag#253"}, f::Symbol, v) + return unsafe_store!(getproperty(x, f), v) +end -struct var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cuda.h:3908:9)" +struct var"##Ctag#254" data::NTuple{8,UInt8} end -function Base.getproperty(x::Ptr{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cuda.h:3908:9)"}, - f::Symbol) +function Base.getproperty(x::Ptr{var"##Ctag#254"}, f::Symbol) f === :fence && return Ptr{Ptr{Cvoid}}(x + 0) f === :reserved && return Ptr{Culonglong}(x + 0) return getfield(x, f) end -function Base.getproperty(x::var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cuda.h:3908:9)", - f::Symbol) - r = Ref{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cuda.h:3908:9)"}(x) - ptr = Base.unsafe_convert(Ptr{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cuda.h:3908:9)"}, - r) +function Base.getproperty(x::var"##Ctag#254", f::Symbol) + r = Ref{var"##Ctag#254"}(x) + ptr = Base.unsafe_convert(Ptr{var"##Ctag#254"}, r) fptr = getproperty(ptr, f) GC.@preserve r unsafe_load(fptr) end -function Base.setproperty!(x::Ptr{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cuda.h:3908:9)"}, - f::Symbol, v) +function Base.setproperty!(x::Ptr{var"##Ctag#254"}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end -struct var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cuda.h:3919:9)" +function Base.propertynames(x::var"##Ctag#254", private::Bool=false) + return (:fence, :reserved, if private + fieldnames(typeof(x)) + else + () + end...) +end + +struct var"##Ctag#255" key::Culonglong end +function Base.getproperty(x::Ptr{var"##Ctag#255"}, f::Symbol) + f === :key && return Ptr{Culonglong}(x + 0) + return getfield(x, f) +end + +function Base.getproperty(x::var"##Ctag#255", f::Symbol) + r = Ref{var"##Ctag#255"}(x) + ptr = Base.unsafe_convert(Ptr{var"##Ctag#255"}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +function Base.setproperty!(x::Ptr{var"##Ctag#255"}, f::Symbol, v) + return unsafe_store!(getproperty(x, f), v) +end -struct var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cuda.h:3898:5)" +struct var"##Ctag#252" data::NTuple{72,UInt8} end -function Base.getproperty(x::Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cuda.h:3898:5)"}, - f::Symbol) - f === :fence && - return Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cuda.h:3902:9)"}(x + - 0) - f === :nvSciSync && - return Ptr{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cuda.h:3908:9)"}(x + - 8) - f === :keyedMutex && - return Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cuda.h:3919:9)"}(x + - 16) +function Base.getproperty(x::Ptr{var"##Ctag#252"}, f::Symbol) + f === :fence && return Ptr{var"##Ctag#253"}(x + 0) + f === :nvSciSync && return Ptr{var"##Ctag#254"}(x + 8) + f === :keyedMutex && return Ptr{var"##Ctag#255"}(x + 16) f === :reserved && return Ptr{NTuple{12,Cuint}}(x + 24) return getfield(x, f) end -function Base.getproperty(x::var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cuda.h:3898:5)", - f::Symbol) - r = Ref{var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cuda.h:3898:5)"}(x) - ptr = Base.unsafe_convert(Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cuda.h:3898:5)"}, - r) +function Base.getproperty(x::var"##Ctag#252", f::Symbol) + r = Ref{var"##Ctag#252"}(x) + ptr = Base.unsafe_convert(Ptr{var"##Ctag#252"}, r) fptr = getproperty(ptr, f) GC.@preserve r unsafe_load(fptr) end -function Base.setproperty!(x::Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cuda.h:3898:5)"}, - f::Symbol, v) +function Base.setproperty!(x::Ptr{var"##Ctag#252"}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end +function Base.propertynames(x::var"##Ctag#252", private::Bool=false) + return (:fence, :nvSciSync, :keyedMutex, :reserved, if private + fieldnames(typeof(x)) + else + () + end...) +end + struct CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st data::NTuple{144,UInt8} end function Base.getproperty(x::Ptr{CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st}, f::Symbol) - f === :params && - return Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cuda.h:3898:5)"}(x + - 0) + f === :params && return Ptr{Cvoid}(x + 0) f === :flags && return Ptr{Cuint}(x + 72) f === :reserved && return Ptr{NTuple{16,Cuint}}(x + 76) return getfield(x, f) @@ -2653,85 +3118,125 @@ function Base.setproperty!(x::Ptr{CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st}, f:: return unsafe_store!(getproperty(x, f), v) end +function Base.propertynames(x::CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st, + private::Bool=false) + return (:params, :flags, :reserved, if private + fieldnames(typeof(x)) + else + () + end...) +end + const CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1 = CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st const CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS = CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1 -struct var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cuda.h:3950:9)" +struct var"##Ctag#242" value::Culonglong end +function Base.getproperty(x::Ptr{var"##Ctag#242"}, f::Symbol) + f === :value && return Ptr{Culonglong}(x + 0) + return getfield(x, f) +end + +function Base.getproperty(x::var"##Ctag#242", f::Symbol) + r = Ref{var"##Ctag#242"}(x) + ptr = Base.unsafe_convert(Ptr{var"##Ctag#242"}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +function Base.setproperty!(x::Ptr{var"##Ctag#242"}, f::Symbol, v) + return unsafe_store!(getproperty(x, f), v) +end -struct var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cuda.h:3960:9)" +struct var"##Ctag#243" data::NTuple{8,UInt8} end -function Base.getproperty(x::Ptr{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cuda.h:3960:9)"}, - f::Symbol) +function Base.getproperty(x::Ptr{var"##Ctag#243"}, f::Symbol) f === :fence && return Ptr{Ptr{Cvoid}}(x + 0) f === :reserved && return Ptr{Culonglong}(x + 0) return getfield(x, f) end -function Base.getproperty(x::var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cuda.h:3960:9)", - f::Symbol) - r = Ref{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cuda.h:3960:9)"}(x) - ptr = Base.unsafe_convert(Ptr{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cuda.h:3960:9)"}, - r) +function Base.getproperty(x::var"##Ctag#243", f::Symbol) + r = Ref{var"##Ctag#243"}(x) + ptr = Base.unsafe_convert(Ptr{var"##Ctag#243"}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +function Base.setproperty!(x::Ptr{var"##Ctag#243"}, f::Symbol, v) + return unsafe_store!(getproperty(x, f), v) +end + +function Base.propertynames(x::var"##Ctag#243", private::Bool=false) + return (:fence, :reserved, if private + fieldnames(typeof(x)) + else + () + end...) +end + +struct var"##Ctag#244" + key::Culonglong + timeoutMs::Cuint +end +function Base.getproperty(x::Ptr{var"##Ctag#244"}, f::Symbol) + f === :key && return Ptr{Culonglong}(x + 0) + f === :timeoutMs && return Ptr{Cuint}(x + 8) + return getfield(x, f) +end + +function Base.getproperty(x::var"##Ctag#244", f::Symbol) + r = Ref{var"##Ctag#244"}(x) + ptr = Base.unsafe_convert(Ptr{var"##Ctag#244"}, r) fptr = getproperty(ptr, f) GC.@preserve r unsafe_load(fptr) end -function Base.setproperty!(x::Ptr{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cuda.h:3960:9)"}, - f::Symbol, v) +function Base.setproperty!(x::Ptr{var"##Ctag#244"}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end -struct var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cuda.h:3967:9)" - key::Culonglong - timeoutMs::Cuint -end - -struct var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cuda.h:3946:5)" +struct var"##Ctag#241" data::NTuple{72,UInt8} end -function Base.getproperty(x::Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cuda.h:3946:5)"}, - f::Symbol) - f === :fence && - return Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cuda.h:3950:9)"}(x + - 0) - f === :nvSciSync && - return Ptr{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cuda.h:3960:9)"}(x + - 8) - f === :keyedMutex && - return Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cuda.h:3967:9)"}(x + - 16) +function Base.getproperty(x::Ptr{var"##Ctag#241"}, f::Symbol) + f === :fence && return Ptr{var"##Ctag#242"}(x + 0) + f === :nvSciSync && return Ptr{var"##Ctag#243"}(x + 8) + f === :keyedMutex && return Ptr{var"##Ctag#244"}(x + 16) f === :reserved && return Ptr{NTuple{10,Cuint}}(x + 32) return getfield(x, f) end -function Base.getproperty(x::var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cuda.h:3946:5)", - f::Symbol) - r = Ref{var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cuda.h:3946:5)"}(x) - ptr = Base.unsafe_convert(Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cuda.h:3946:5)"}, - r) +function Base.getproperty(x::var"##Ctag#241", f::Symbol) + r = Ref{var"##Ctag#241"}(x) + ptr = Base.unsafe_convert(Ptr{var"##Ctag#241"}, r) fptr = getproperty(ptr, f) GC.@preserve r unsafe_load(fptr) end -function Base.setproperty!(x::Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cuda.h:3946:5)"}, - f::Symbol, v) +function Base.setproperty!(x::Ptr{var"##Ctag#241"}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end +function Base.propertynames(x::var"##Ctag#241", private::Bool=false) + return (:fence, :nvSciSync, :keyedMutex, :reserved, if private + fieldnames(typeof(x)) + else + () + end...) +end + struct CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st data::NTuple{144,UInt8} end function Base.getproperty(x::Ptr{CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st}, f::Symbol) - f === :params && - return Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cuda.h:3946:5)"}(x + - 0) + f === :params && return Ptr{Cvoid}(x + 0) f === :flags && return Ptr{Cuint}(x + 72) f === :reserved && return Ptr{NTuple{16,Cuint}}(x + 76) return getfield(x, f) @@ -2748,6 +3253,14 @@ function Base.setproperty!(x::Ptr{CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st}, f::Sy return unsafe_store!(getproperty(x, f), v) end +function Base.propertynames(x::CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st, private::Bool=false) + return (:params, :flags, :reserved, if private + fieldnames(typeof(x)) + else + () + end...) +end + const CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1 = CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st const CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS = CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1 @@ -2812,20 +3325,10 @@ end const CUmemAccess_flags = CUmemAccess_flags_enum -@cenum CUmemLocationType_enum::UInt32 begin - CU_MEM_LOCATION_TYPE_INVALID = 0 - CU_MEM_LOCATION_TYPE_DEVICE = 1 - CU_MEM_LOCATION_TYPE_HOST = 2 - CU_MEM_LOCATION_TYPE_HOST_NUMA = 3 - CU_MEM_LOCATION_TYPE_HOST_NUMA_CURRENT = 4 - CU_MEM_LOCATION_TYPE_MAX = 2147483647 -end - -const CUmemLocationType = CUmemLocationType_enum - @cenum CUmemAllocationType_enum::UInt32 begin CU_MEM_ALLOCATION_TYPE_INVALID = 0 CU_MEM_ALLOCATION_TYPE_PINNED = 1 + CU_MEM_ALLOCATION_TYPE_MANAGED = 2 CU_MEM_ALLOCATION_TYPE_MAX = 2147483647 end @@ -2871,102 +3374,104 @@ end const CUmemHandleType = CUmemHandleType_enum -struct var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cuda.h:4134:5)" +struct var"##Ctag#232" data::NTuple{8,UInt8} end -function Base.getproperty(x::Ptr{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cuda.h:4134:5)"}, - f::Symbol) +function Base.getproperty(x::Ptr{var"##Ctag#232"}, f::Symbol) f === :mipmap && return Ptr{CUmipmappedArray}(x + 0) f === :array && return Ptr{CUarray}(x + 0) return getfield(x, f) end -function Base.getproperty(x::var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cuda.h:4134:5)", - f::Symbol) - r = Ref{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cuda.h:4134:5)"}(x) - ptr = Base.unsafe_convert(Ptr{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cuda.h:4134:5)"}, - r) +function Base.getproperty(x::var"##Ctag#232", f::Symbol) + r = Ref{var"##Ctag#232"}(x) + ptr = Base.unsafe_convert(Ptr{var"##Ctag#232"}, r) fptr = getproperty(ptr, f) GC.@preserve r unsafe_load(fptr) end -function Base.setproperty!(x::Ptr{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cuda.h:4134:5)"}, - f::Symbol, v) +function Base.setproperty!(x::Ptr{var"##Ctag#232"}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end -struct var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cuda.h:4141:5)" +function Base.propertynames(x::var"##Ctag#232", private::Bool=false) + return (:mipmap, :array, if private + fieldnames(typeof(x)) + else + () + end...) +end + +struct var"##Ctag#233" data::NTuple{32,UInt8} end -function Base.getproperty(x::Ptr{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cuda.h:4141:5)"}, - f::Symbol) - f === :sparseLevel && - return Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cuda.h:4142:9)"}(x + - 0) - f === :miptail && - return Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cuda.h:4152:9)"}(x + - 0) +function Base.getproperty(x::Ptr{var"##Ctag#233"}, f::Symbol) + f === :sparseLevel && return Ptr{var"##Ctag#234"}(x + 0) + f === :miptail && return Ptr{var"##Ctag#235"}(x + 0) return getfield(x, f) end -function Base.getproperty(x::var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cuda.h:4141:5)", - f::Symbol) - r = Ref{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cuda.h:4141:5)"}(x) - ptr = Base.unsafe_convert(Ptr{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cuda.h:4141:5)"}, - r) +function Base.getproperty(x::var"##Ctag#233", f::Symbol) + r = Ref{var"##Ctag#233"}(x) + ptr = Base.unsafe_convert(Ptr{var"##Ctag#233"}, r) fptr = getproperty(ptr, f) GC.@preserve r unsafe_load(fptr) end -function Base.setproperty!(x::Ptr{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cuda.h:4141:5)"}, - f::Symbol, v) +function Base.setproperty!(x::Ptr{var"##Ctag#233"}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end -struct var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cuda.h:4162:5)" +function Base.propertynames(x::var"##Ctag#233", private::Bool=false) + return (:sparseLevel, :miptail, if private + fieldnames(typeof(x)) + else + () + end...) +end + +struct var"##Ctag#236" data::NTuple{8,UInt8} end -function Base.getproperty(x::Ptr{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cuda.h:4162:5)"}, - f::Symbol) +function Base.getproperty(x::Ptr{var"##Ctag#236"}, f::Symbol) f === :memHandle && return Ptr{CUmemGenericAllocationHandle}(x + 0) return getfield(x, f) end -function Base.getproperty(x::var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cuda.h:4162:5)", - f::Symbol) - r = Ref{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cuda.h:4162:5)"}(x) - ptr = Base.unsafe_convert(Ptr{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cuda.h:4162:5)"}, - r) +function Base.getproperty(x::var"##Ctag#236", f::Symbol) + r = Ref{var"##Ctag#236"}(x) + ptr = Base.unsafe_convert(Ptr{var"##Ctag#236"}, r) fptr = getproperty(ptr, f) GC.@preserve r unsafe_load(fptr) end -function Base.setproperty!(x::Ptr{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cuda.h:4162:5)"}, - f::Symbol, v) +function Base.setproperty!(x::Ptr{var"##Ctag#236"}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end +function Base.propertynames(x::var"##Ctag#236", private::Bool=false) + return (:memHandle, if private + fieldnames(typeof(x)) + else + () + end...) +end + struct CUarrayMapInfo_st data::NTuple{96,UInt8} end function Base.getproperty(x::Ptr{CUarrayMapInfo_st}, f::Symbol) f === :resourceType && return Ptr{CUresourcetype}(x + 0) - f === :resource && - return Ptr{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cuda.h:4134:5)"}(x + - 8) + f === :resource && return Ptr{var"##Ctag#232"}(x + 8) f === :subresourceType && return Ptr{CUarraySparseSubresourceType}(x + 16) - f === :subresource && - return Ptr{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cuda.h:4141:5)"}(x + - 24) + f === :subresource && return Ptr{var"##Ctag#233"}(x + 24) f === :memOperationType && return Ptr{CUmemOperationType}(x + 56) f === :memHandleType && return Ptr{CUmemHandleType}(x + 60) - f === :memHandle && - return Ptr{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cuda.h:4162:5)"}(x + - 64) + f === :memHandle && return Ptr{var"##Ctag#236"}(x + 64) f === :offset && return Ptr{Culonglong}(x + 72) f === :deviceBitMask && return Ptr{Cuint}(x + 80) f === :flags && return Ptr{Cuint}(x + 84) @@ -2985,18 +3490,19 @@ function Base.setproperty!(x::Ptr{CUarrayMapInfo_st}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end -const CUarrayMapInfo_v1 = CUarrayMapInfo_st - -const CUarrayMapInfo = CUarrayMapInfo_v1 - -struct CUmemLocation_st - type::CUmemLocationType - id::Cint +function Base.propertynames(x::CUarrayMapInfo_st, private::Bool=false) + return (:resourceType, :resource, :subresourceType, :subresource, :memOperationType, + :memHandleType, :memHandle, :offset, :deviceBitMask, :flags, :reserved, + if private + fieldnames(typeof(x)) + else + () + end...) end -const CUmemLocation_v1 = CUmemLocation_st +const CUarrayMapInfo_v1 = CUarrayMapInfo_st -const CUmemLocation = CUmemLocation_v1 +const CUarrayMapInfo = CUarrayMapInfo_v1 @cenum CUmemAllocationCompType_enum::UInt32 begin CU_MEM_ALLOCATION_COMP_NONE = 0 @@ -3005,12 +3511,30 @@ end const CUmemAllocationCompType = CUmemAllocationCompType_enum -struct var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cuda.h:4218:5)" +struct var"##Ctag#250" compressionType::Cuchar gpuDirectRDMACapable::Cuchar usage::Cushort reserved::NTuple{4,Cuchar} end +function Base.getproperty(x::Ptr{var"##Ctag#250"}, f::Symbol) + f === :compressionType && return Ptr{Cuchar}(x + 0) + f === :gpuDirectRDMACapable && return Ptr{Cuchar}(x + 1) + f === :usage && return Ptr{Cushort}(x + 2) + f === :reserved && return Ptr{NTuple{4,Cuchar}}(x + 4) + return getfield(x, f) +end + +function Base.getproperty(x::var"##Ctag#250", f::Symbol) + r = Ref{var"##Ctag#250"}(x) + ptr = Base.unsafe_convert(Ptr{var"##Ctag#250"}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +function Base.setproperty!(x::Ptr{var"##Ctag#250"}, f::Symbol, v) + return unsafe_store!(getproperty(x, f), v) +end struct CUmemAllocationProp_st data::NTuple{32,UInt8} @@ -3021,9 +3545,7 @@ function Base.getproperty(x::Ptr{CUmemAllocationProp_st}, f::Symbol) f === :requestedHandleTypes && return Ptr{CUmemAllocationHandleType}(x + 4) f === :location && return Ptr{CUmemLocation}(x + 8) f === :win32HandleMetaData && return Ptr{Ptr{Cvoid}}(x + 16) - f === :allocFlags && - return Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cuda.h:4218:5)"}(x + - 24) + f === :allocFlags && return Ptr{var"##Ctag#250"}(x + 24) return getfield(x, f) end @@ -3038,6 +3560,15 @@ function Base.setproperty!(x::Ptr{CUmemAllocationProp_st}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end +function Base.propertynames(x::CUmemAllocationProp_st, private::Bool=false) + return (:type, :requestedHandleTypes, :location, :win32HandleMetaData, :allocFlags, + if private + fieldnames(typeof(x)) + else + () + end...) +end + const CUmemAllocationProp_v1 = CUmemAllocationProp_st const CUmemAllocationProp = CUmemAllocationProp_v1 @@ -3111,35 +3642,6 @@ end const CUmemcpyFlags = CUmemcpyFlags_enum -@cenum CUmemcpySrcAccessOrder_enum::UInt32 begin - CU_MEMCPY_SRC_ACCESS_ORDER_INVALID = 0 - CU_MEMCPY_SRC_ACCESS_ORDER_STREAM = 1 - CU_MEMCPY_SRC_ACCESS_ORDER_DURING_API_CALL = 2 - CU_MEMCPY_SRC_ACCESS_ORDER_ANY = 3 - CU_MEMCPY_SRC_ACCESS_ORDER_MAX = 2147483647 -end - -const CUmemcpySrcAccessOrder = CUmemcpySrcAccessOrder_enum - -struct CUmemcpyAttributes_st - srcAccessOrder::CUmemcpySrcAccessOrder - srcLocHint::CUmemLocation - dstLocHint::CUmemLocation - flags::Cuint -end - -const CUmemcpyAttributes_v1 = CUmemcpyAttributes_st - -const CUmemcpyAttributes = CUmemcpyAttributes_v1 - -@cenum CUmemcpy3DOperandType_enum::UInt32 begin - CU_MEMCPY_OPERAND_TYPE_POINTER = 1 - CU_MEMCPY_OPERAND_TYPE_ARRAY = 2 - CU_MEMCPY_OPERAND_TYPE_MAX = 2147483647 -end - -const CUmemcpy3DOperandType = CUmemcpy3DOperandType_enum - struct CUoffset3D_st x::Csize_t y::Csize_t @@ -3150,84 +3652,6 @@ const CUoffset3D_v1 = CUoffset3D_st const CUoffset3D = CUoffset3D_v1 -struct CUextent3D_st - width::Csize_t - height::Csize_t - depth::Csize_t -end - -const CUextent3D_v1 = CUextent3D_st - -const CUextent3D = CUextent3D_v1 - -struct var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cuda.h:4514:5)" - data::NTuple{32,UInt8} -end - -function Base.getproperty(x::Ptr{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cuda.h:4514:5)"}, - f::Symbol) - f === :ptr && - return Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cuda.h:4518:9)"}(x + - 0) - f === :array && - return Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cuda.h:4528:9)"}(x + - 0) - return getfield(x, f) -end - -function Base.getproperty(x::var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cuda.h:4514:5)", - f::Symbol) - r = Ref{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cuda.h:4514:5)"}(x) - ptr = Base.unsafe_convert(Ptr{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cuda.h:4514:5)"}, - r) - fptr = getproperty(ptr, f) - GC.@preserve r unsafe_load(fptr) -end - -function Base.setproperty!(x::Ptr{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cuda.h:4514:5)"}, - f::Symbol, v) - return unsafe_store!(getproperty(x, f), v) -end - -struct CUmemcpy3DOperand_st - data::NTuple{40,UInt8} -end - -function Base.getproperty(x::Ptr{CUmemcpy3DOperand_st}, f::Symbol) - f === :type && return Ptr{CUmemcpy3DOperandType}(x + 0) - f === :op && - return Ptr{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cuda.h:4514:5)"}(x + - 8) - return getfield(x, f) -end - -function Base.getproperty(x::CUmemcpy3DOperand_st, f::Symbol) - r = Ref{CUmemcpy3DOperand_st}(x) - ptr = Base.unsafe_convert(Ptr{CUmemcpy3DOperand_st}, r) - fptr = getproperty(ptr, f) - GC.@preserve r unsafe_load(fptr) -end - -function Base.setproperty!(x::Ptr{CUmemcpy3DOperand_st}, f::Symbol, v) - return unsafe_store!(getproperty(x, f), v) -end - -const CUmemcpy3DOperand_v1 = CUmemcpy3DOperand_st - -const CUmemcpy3DOperand = CUmemcpy3DOperand_v1 - -struct CUDA_MEMCPY3D_BATCH_OP_st - src::CUmemcpy3DOperand - dst::CUmemcpy3DOperand - extent::CUextent3D - srcAccessOrder::CUmemcpySrcAccessOrder - flags::Cuint -end - -const CUDA_MEMCPY3D_BATCH_OP_v1 = CUDA_MEMCPY3D_BATCH_OP_st - -const CUDA_MEMCPY3D_BATCH_OP = CUDA_MEMCPY3D_BATCH_OP_v1 - struct CUDA_MEM_ALLOC_NODE_PARAMS_v1_st poolProps::CUmemPoolProps accessDescs::Ptr{CUmemAccessDesc} @@ -3291,44 +3715,6 @@ end const CUDA_EVENT_WAIT_NODE_PARAMS = CUDA_EVENT_WAIT_NODE_PARAMS_st -struct CUgraphNodeParams_st - data::NTuple{256,UInt8} -end - -function Base.getproperty(x::Ptr{CUgraphNodeParams_st}, f::Symbol) - f === :type && return Ptr{CUgraphNodeType}(x + 0) - f === :reserved0 && return Ptr{NTuple{3,Cint}}(x + 4) - f === :reserved1 && return Ptr{NTuple{29,Clonglong}}(x + 16) - f === :kernel && return Ptr{CUDA_KERNEL_NODE_PARAMS_v3}(x + 16) - f === :memcpy && return Ptr{CUDA_MEMCPY_NODE_PARAMS}(x + 16) - f === :memset && return Ptr{CUDA_MEMSET_NODE_PARAMS_v2}(x + 16) - f === :host && return Ptr{CUDA_HOST_NODE_PARAMS_v2}(x + 16) - f === :graph && return Ptr{CUDA_CHILD_GRAPH_NODE_PARAMS}(x + 16) - f === :eventWait && return Ptr{CUDA_EVENT_WAIT_NODE_PARAMS}(x + 16) - f === :eventRecord && return Ptr{CUDA_EVENT_RECORD_NODE_PARAMS}(x + 16) - f === :extSemSignal && return Ptr{CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2}(x + 16) - f === :extSemWait && return Ptr{CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2}(x + 16) - f === :alloc && return Ptr{CUDA_MEM_ALLOC_NODE_PARAMS_v2}(x + 16) - f === :free && return Ptr{CUDA_MEM_FREE_NODE_PARAMS}(x + 16) - f === :memOp && return Ptr{CUDA_BATCH_MEM_OP_NODE_PARAMS_v2}(x + 16) - f === :conditional && return Ptr{CUDA_CONDITIONAL_NODE_PARAMS}(x + 16) - f === :reserved2 && return Ptr{Clonglong}(x + 248) - return getfield(x, f) -end - -function Base.getproperty(x::CUgraphNodeParams_st, f::Symbol) - r = Ref{CUgraphNodeParams_st}(x) - ptr = Base.unsafe_convert(Ptr{CUgraphNodeParams_st}, r) - fptr = getproperty(ptr, f) - GC.@preserve r unsafe_load(fptr) -end - -function Base.setproperty!(x::Ptr{CUgraphNodeParams_st}, f::Symbol, v) - return unsafe_store!(getproperty(x, f), v) -end - -const CUgraphNodeParams = CUgraphNodeParams_st - @cenum CUflushGPUDirectRDMAWritesOptions_enum::UInt32 begin CU_FLUSH_GPU_DIRECT_RDMA_WRITES_OPTION_HOST = 1 CU_FLUSH_GPU_DIRECT_RDMA_WRITES_OPTION_MEMOPS = 2 @@ -3429,8 +3815,18 @@ end const CUcheckpointCheckpointArgs = CUcheckpointCheckpointArgs_st +struct CUcheckpointGpuPair_st + oldUuid::CUuuid + newUuid::CUuuid +end + +const CUcheckpointGpuPair = CUcheckpointGpuPair_st + struct CUcheckpointRestoreArgs_st - reserved::NTuple{8,cuuint64_t} + gpuPairs::Ptr{CUcheckpointGpuPair} + gpuPairsCount::Cuint + reserved::NTuple{44,Cchar} + reserved1::cuuint64_t end const CUcheckpointRestoreArgs = CUcheckpointRestoreArgs_st @@ -3469,14 +3865,6 @@ end @gcsafe_ccall libcuda.cuDeviceGetName(name::Cstring, len::Cint, dev::CUdevice)::CUresult end -@checked function cuDeviceGetUuid(uuid, dev) - @gcsafe_ccall libcuda.cuDeviceGetUuid(uuid::Ptr{CUuuid}, dev::CUdevice)::CUresult -end - -@checked function cuDeviceGetUuid_v2(uuid, dev) - @gcsafe_ccall libcuda.cuDeviceGetUuid_v2(uuid::Ptr{CUuuid}, dev::CUdevice)::CUresult -end - @checked function cuDeviceGetLuid(luid, deviceNodeMask, dev) @gcsafe_ccall libcuda.cuDeviceGetLuid(luid::Cstring, deviceNodeMask::Ptr{Cuint}, dev::CUdevice)::CUresult @@ -3496,6 +3884,14 @@ end dev::CUdevice)::CUresult end +@checked function cuDeviceGetHostAtomicCapabilities(capabilities, operations, count, dev) + initialize_context() + @gcsafe_ccall libcuda.cuDeviceGetHostAtomicCapabilities(capabilities::Ptr{Cuint}, + operations::Ptr{CUatomicOperation}, + count::Cuint, + dev::CUdevice)::CUresult +end + @checked function cuDeviceGetNvSciSyncAttributes(nvSciSyncAttrList, dev, flags) initialize_context() @gcsafe_ccall libcuda.cuDeviceGetNvSciSyncAttributes(nvSciSyncAttrList::Ptr{Cvoid}, @@ -3553,20 +3949,6 @@ end active::Ptr{Cint})::CUresult end -@checked function cuCtxCreate_v3(pctx, paramsArray, numParams, flags, dev) - @gcsafe_ccall libcuda.cuCtxCreate_v3(pctx::Ptr{CUcontext}, - paramsArray::Ptr{CUexecAffinityParam}, - numParams::Cint, flags::Cuint, - dev::CUdevice)::CUresult -end - -@checked function cuCtxCreate_v4(pctx, ctxCreateParams, flags, dev) - initialize_context() - @gcsafe_ccall libcuda.cuCtxCreate_v4(pctx::Ptr{CUcontext}, - ctxCreateParams::Ptr{CUctxCreateParams}, - flags::Cuint, dev::CUdevice)::CUresult -end - @checked function cuCtxSetCurrent(ctx) @gcsafe_ccall libcuda.cuCtxSetCurrent(ctx::CUcontext)::CUresult end @@ -3579,6 +3961,10 @@ end @gcsafe_ccall libcuda.cuCtxGetDevice(device::Ptr{CUdevice})::CUresult end +@checked function cuCtxGetDevice_v2(device, ctx) + @gcsafe_ccall libcuda.cuCtxGetDevice_v2(device::Ptr{CUdevice}, ctx::CUcontext)::CUresult +end + @checked function cuCtxGetFlags(flags) initialize_context() @gcsafe_ccall libcuda.cuCtxGetFlags(flags::Ptr{Cuint})::CUresult @@ -3598,6 +3984,11 @@ end @gcsafe_ccall libcuda.cuCtxSynchronize()::CUresult end +@checked function cuCtxSynchronize_v2(ctx) + initialize_context() + @gcsafe_ccall libcuda.cuCtxSynchronize_v2(ctx::CUcontext)::CUresult +end + @checked function cuCtxSetLimit(limit, value) initialize_context() @gcsafe_ccall libcuda.cuCtxSetLimit(limit::CUlimit, value::Csize_t)::CUresult @@ -3984,25 +4375,6 @@ end hStream::CUstream)::CUresult end -@checked function cuMemcpyBatchAsync(dsts, srcs, sizes, count, attrs, attrsIdxs, numAttrs, - failIdx, hStream) - initialize_context() - @gcsafe_ccall libcuda.cuMemcpyBatchAsync(dsts::Ptr{CUdeviceptr}, srcs::Ptr{CUdeviceptr}, - sizes::Ptr{Csize_t}, count::Csize_t, - attrs::Ptr{CUmemcpyAttributes}, - attrsIdxs::Ptr{Csize_t}, numAttrs::Csize_t, - failIdx::Ptr{Csize_t}, - hStream::CUstream)::CUresult -end - -@checked function cuMemcpy3DBatchAsync(numOps, opList, failIdx, flags, hStream) - initialize_context() - @gcsafe_ccall libcuda.cuMemcpy3DBatchAsync(numOps::Csize_t, - opList::Ptr{CUDA_MEMCPY3D_BATCH_OP}, - failIdx::Ptr{Csize_t}, flags::Culonglong, - hStream::CUstream)::CUresult -end - @checked function cuMemsetD8Async(dstDevice, uc, N, hStream) initialize_context() @gcsafe_ccall libcuda.cuMemsetD8Async(dstDevice::CUdeviceptr, uc::Cuchar, N::Csize_t, @@ -4280,6 +4652,27 @@ end @gcsafe_ccall libcuda.cuMemPoolDestroy(pool::CUmemoryPool)::CUresult end +@checked function cuMemGetDefaultMemPool(pool_out, location, type) + initialize_context() + @gcsafe_ccall libcuda.cuMemGetDefaultMemPool(pool_out::Ptr{CUmemoryPool}, + location::Ptr{CUmemLocation}, + type::CUmemAllocationType)::CUresult +end + +@checked function cuMemGetMemPool(pool, location, type) + initialize_context() + @gcsafe_ccall libcuda.cuMemGetMemPool(pool::Ptr{CUmemoryPool}, + location::Ptr{CUmemLocation}, + type::CUmemAllocationType)::CUresult +end + +@checked function cuMemSetMemPool(location, type, pool) + initialize_context() + @gcsafe_ccall libcuda.cuMemSetMemPool(location::Ptr{CUmemLocation}, + type::CUmemAllocationType, + pool::CUmemoryPool)::CUresult +end + @checked function cuMemAllocFromPoolAsync(dptr, bytesize, pool, hStream) initialize_context() @gcsafe_ccall libcuda.cuMemAllocFromPoolAsync(dptr::Ptr{CUdeviceptr}, bytesize::Csize_t, @@ -4365,31 +4758,38 @@ end ptr::CUdeviceptr)::CUresult end -@checked function cuMemPrefetchAsync(devPtr, count, dstDevice, hStream) - initialize_context() - @gcsafe_ccall libcuda.cuMemPrefetchAsync(devPtr::CUdeviceptr, count::Csize_t, - dstDevice::CUdevice, - hStream::CUstream)::CUresult -end - -@checked function cuMemPrefetchAsync_v2(devPtr, count, location, flags, hStream) +@checked function cuMemPrefetchBatchAsync(dptrs, sizes, count, prefetchLocs, + prefetchLocIdxs, numPrefetchLocs, flags, hStream) initialize_context() - @gcsafe_ccall libcuda.cuMemPrefetchAsync_v2(devPtr::CUdeviceptr, count::Csize_t, - location::CUmemLocation, flags::Cuint, - hStream::CUstream)::CUresult + @gcsafe_ccall libcuda.cuMemPrefetchBatchAsync(dptrs::Ptr{CUdeviceptr}, + sizes::Ptr{Csize_t}, count::Csize_t, + prefetchLocs::Ptr{CUmemLocation}, + prefetchLocIdxs::Ptr{Csize_t}, + numPrefetchLocs::Csize_t, + flags::Culonglong, + hStream::CUstream)::CUresult end -@checked function cuMemAdvise(devPtr, count, advice, device) +@checked function cuMemDiscardBatchAsync(dptrs, sizes, count, flags, hStream) initialize_context() - @gcsafe_ccall libcuda.cuMemAdvise(devPtr::CUdeviceptr, count::Csize_t, - advice::CUmem_advise, device::CUdevice)::CUresult + @gcsafe_ccall libcuda.cuMemDiscardBatchAsync(dptrs::Ptr{CUdeviceptr}, + sizes::Ptr{Csize_t}, count::Csize_t, + flags::Culonglong, + hStream::CUstream)::CUresult end -@checked function cuMemAdvise_v2(devPtr, count, advice, location) +@checked function cuMemDiscardAndPrefetchBatchAsync(dptrs, sizes, count, prefetchLocs, + prefetchLocIdxs, numPrefetchLocs, flags, + hStream) initialize_context() - @gcsafe_ccall libcuda.cuMemAdvise_v2(devPtr::CUdeviceptr, count::Csize_t, - advice::CUmem_advise, - location::CUmemLocation)::CUresult + @gcsafe_ccall libcuda.cuMemDiscardAndPrefetchBatchAsync(dptrs::Ptr{CUdeviceptr}, + sizes::Ptr{Csize_t}, + count::Csize_t, + prefetchLocs::Ptr{CUmemLocation}, + prefetchLocIdxs::Ptr{Csize_t}, + numPrefetchLocs::Csize_t, + flags::Culonglong, + hStream::CUstream)::CUresult end @checked function cuMemRangeGetAttribute(data, dataSize, attribute, devPtr, count) @@ -4504,43 +4904,10 @@ end phGraph::Ptr{CUgraph})::CUresult end -@checked function cuStreamIsCapturing(hStream, captureStatus) - initialize_context() - @gcsafe_ccall libcuda.cuStreamIsCapturing(hStream::CUstream, - captureStatus::Ptr{CUstreamCaptureStatus})::CUresult -end - -@checked function cuStreamGetCaptureInfo_v3(hStream, captureStatus_out, id_out, graph_out, - dependencies_out, edgeData_out, - numDependencies_out) - initialize_context() - @gcsafe_ccall libcuda.cuStreamGetCaptureInfo_v3(hStream::CUstream, - captureStatus_out::Ptr{CUstreamCaptureStatus}, - id_out::Ptr{cuuint64_t}, - graph_out::Ptr{CUgraph}, - dependencies_out::Ptr{Ptr{CUgraphNode}}, - edgeData_out::Ptr{Ptr{CUgraphEdgeData}}, - numDependencies_out::Ptr{Csize_t})::CUresult -end - -@checked function cuStreamUpdateCaptureDependencies(hStream, dependencies, numDependencies, - flags) - initialize_context() - @gcsafe_ccall libcuda.cuStreamUpdateCaptureDependencies(hStream::CUstream, - dependencies::Ptr{CUgraphNode}, - numDependencies::Csize_t, - flags::Cuint)::CUresult -end - -@checked function cuStreamUpdateCaptureDependencies_v2(hStream, dependencies, - dependencyData, numDependencies, - flags) +@checked function cuStreamIsCapturing(hStream, captureStatus) initialize_context() - @gcsafe_ccall libcuda.cuStreamUpdateCaptureDependencies_v2(hStream::CUstream, - dependencies::Ptr{CUgraphNode}, - dependencyData::Ptr{CUgraphEdgeData}, - numDependencies::Csize_t, - flags::Cuint)::CUresult + @gcsafe_ccall libcuda.cuStreamIsCapturing(hStream::CUstream, + captureStatus::Ptr{CUstreamCaptureStatus})::CUresult end @checked function cuStreamAttachMemAsync(hStream, dptr, length, flags) @@ -4602,18 +4969,6 @@ end @gcsafe_ccall libcuda.cuEventSynchronize(hEvent::CUevent)::CUresult end -@checked function cuEventElapsedTime(pMilliseconds, hStart, hEnd) - initialize_context() - @gcsafe_ccall libcuda.cuEventElapsedTime(pMilliseconds::Ptr{Cfloat}, hStart::CUevent, - hEnd::CUevent)::CUresult -end - -@checked function cuEventElapsedTime_v2(pMilliseconds, hStart, hEnd) - initialize_context() - @gcsafe_ccall libcuda.cuEventElapsedTime_v2(pMilliseconds::Ptr{Cfloat}, hStart::CUevent, - hEnd::CUevent)::CUresult -end - @checked function cuImportExternalMemory(extMem_out, memHandleDesc) initialize_context() @gcsafe_ccall libcuda.cuImportExternalMemory(extMem_out::Ptr{CUexternalMemory}, @@ -5124,84 +5479,6 @@ end numRootNodes::Ptr{Csize_t})::CUresult end -@checked function cuGraphGetEdges(hGraph, from, to, numEdges) - initialize_context() - @gcsafe_ccall libcuda.cuGraphGetEdges(hGraph::CUgraph, from::Ptr{CUgraphNode}, - to::Ptr{CUgraphNode}, - numEdges::Ptr{Csize_t})::CUresult -end - -@checked function cuGraphGetEdges_v2(hGraph, from, to, edgeData, numEdges) - initialize_context() - @gcsafe_ccall libcuda.cuGraphGetEdges_v2(hGraph::CUgraph, from::Ptr{CUgraphNode}, - to::Ptr{CUgraphNode}, - edgeData::Ptr{CUgraphEdgeData}, - numEdges::Ptr{Csize_t})::CUresult -end - -@checked function cuGraphNodeGetDependencies(hNode, dependencies, numDependencies) - initialize_context() - @gcsafe_ccall libcuda.cuGraphNodeGetDependencies(hNode::CUgraphNode, - dependencies::Ptr{CUgraphNode}, - numDependencies::Ptr{Csize_t})::CUresult -end - -@checked function cuGraphNodeGetDependencies_v2(hNode, dependencies, edgeData, - numDependencies) - initialize_context() - @gcsafe_ccall libcuda.cuGraphNodeGetDependencies_v2(hNode::CUgraphNode, - dependencies::Ptr{CUgraphNode}, - edgeData::Ptr{CUgraphEdgeData}, - numDependencies::Ptr{Csize_t})::CUresult -end - -@checked function cuGraphNodeGetDependentNodes(hNode, dependentNodes, numDependentNodes) - initialize_context() - @gcsafe_ccall libcuda.cuGraphNodeGetDependentNodes(hNode::CUgraphNode, - dependentNodes::Ptr{CUgraphNode}, - numDependentNodes::Ptr{Csize_t})::CUresult -end - -@checked function cuGraphNodeGetDependentNodes_v2(hNode, dependentNodes, edgeData, - numDependentNodes) - initialize_context() - @gcsafe_ccall libcuda.cuGraphNodeGetDependentNodes_v2(hNode::CUgraphNode, - dependentNodes::Ptr{CUgraphNode}, - edgeData::Ptr{CUgraphEdgeData}, - numDependentNodes::Ptr{Csize_t})::CUresult -end - -@checked function cuGraphAddDependencies(hGraph, from, to, numDependencies) - initialize_context() - @gcsafe_ccall libcuda.cuGraphAddDependencies(hGraph::CUgraph, from::Ptr{CUgraphNode}, - to::Ptr{CUgraphNode}, - numDependencies::Csize_t)::CUresult -end - -@checked function cuGraphAddDependencies_v2(hGraph, from, to, edgeData, numDependencies) - initialize_context() - @gcsafe_ccall libcuda.cuGraphAddDependencies_v2(hGraph::CUgraph, from::Ptr{CUgraphNode}, - to::Ptr{CUgraphNode}, - edgeData::Ptr{CUgraphEdgeData}, - numDependencies::Csize_t)::CUresult -end - -@checked function cuGraphRemoveDependencies(hGraph, from, to, numDependencies) - initialize_context() - @gcsafe_ccall libcuda.cuGraphRemoveDependencies(hGraph::CUgraph, from::Ptr{CUgraphNode}, - to::Ptr{CUgraphNode}, - numDependencies::Csize_t)::CUresult -end - -@checked function cuGraphRemoveDependencies_v2(hGraph, from, to, edgeData, numDependencies) - initialize_context() - @gcsafe_ccall libcuda.cuGraphRemoveDependencies_v2(hGraph::CUgraph, - from::Ptr{CUgraphNode}, - to::Ptr{CUgraphNode}, - edgeData::Ptr{CUgraphEdgeData}, - numDependencies::Csize_t)::CUresult -end - @checked function cuGraphDestroyNode(hNode) initialize_context() @gcsafe_ccall libcuda.cuGraphDestroyNode(hNode::CUgraphNode)::CUresult @@ -5369,25 +5646,6 @@ end count::Cuint)::CUresult end -@checked function cuGraphAddNode(phGraphNode, hGraph, dependencies, numDependencies, - nodeParams) - initialize_context() - @gcsafe_ccall libcuda.cuGraphAddNode(phGraphNode::Ptr{CUgraphNode}, hGraph::CUgraph, - dependencies::Ptr{CUgraphNode}, - numDependencies::Csize_t, - nodeParams::Ptr{CUgraphNodeParams})::CUresult -end - -@checked function cuGraphAddNode_v2(phGraphNode, hGraph, dependencies, dependencyData, - numDependencies, nodeParams) - initialize_context() - @gcsafe_ccall libcuda.cuGraphAddNode_v2(phGraphNode::Ptr{CUgraphNode}, hGraph::CUgraph, - dependencies::Ptr{CUgraphNode}, - dependencyData::Ptr{CUgraphEdgeData}, - numDependencies::Csize_t, - nodeParams::Ptr{CUgraphNodeParams})::CUresult -end - @checked function cuGraphNodeSetParams(hNode, nodeParams) initialize_context() @gcsafe_ccall libcuda.cuGraphNodeSetParams(hNode::CUgraphNode, @@ -5784,6 +6042,16 @@ end dstDevice::CUdevice)::CUresult end +@checked function cuDeviceGetP2PAtomicCapabilities(capabilities, operations, count, + srcDevice, dstDevice) + initialize_context() + @gcsafe_ccall libcuda.cuDeviceGetP2PAtomicCapabilities(capabilities::Ptr{Cuint}, + operations::Ptr{CUatomicOperation}, + count::Cuint, + srcDevice::CUdevice, + dstDevice::CUdevice)::CUresult +end + @checked function cuGraphicsUnregisterResource(resource) initialize_context() @gcsafe_ccall libcuda.cuGraphicsUnregisterResource(resource::CUgraphicsResource)::CUresult @@ -5896,6 +6164,8 @@ end struct CUdevSmResource_st smCount::Cuint + minSmPartitionSize::Cuint + smCoscheduledAlignment::Cuint end const CUdevSmResource = CUdevSmResource_st @@ -5923,6 +6193,14 @@ function Base.setproperty!(x::Ptr{CUdevResource_st}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end +function Base.propertynames(x::CUdevResource_st, private::Bool=false) + return (:type, :_internal_padding, :sm, :_oversize, if private + fieldnames(typeof(x)) + else + () + end...) +end + const CUdevResource_v1 = CUdevResource_st const CUdevResource = CUdevResource_v1 @@ -6005,6 +6283,12 @@ end priority::Cint)::CUresult end +@checked function cuGreenCtxGetId(greenCtx, greenCtxId) + initialize_context() + @gcsafe_ccall libcuda.cuGreenCtxGetId(greenCtx::CUgreenCtx, + greenCtxId::Ptr{Culonglong})::CUresult +end + @cenum CUlogLevel_enum::UInt32 begin CU_LOG_LEVEL_ERROR = 0 CU_LOG_LEVEL_WARNING = 1 @@ -6199,12 +6483,28 @@ end @gcsafe_ccall libcuda.cuProfilerStop()::CUresult end -struct var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cuda.h:3870:9)" +struct var"##Ctag#231" handle::Ptr{Cvoid} name::Ptr{Cvoid} end +function Base.getproperty(x::Ptr{var"##Ctag#231"}, f::Symbol) + f === :handle && return Ptr{Ptr{Cvoid}}(x + 0) + f === :name && return Ptr{Ptr{Cvoid}}(x + 8) + return getfield(x, f) +end + +function Base.getproperty(x::var"##Ctag#231", f::Symbol) + r = Ref{var"##Ctag#231"}(x) + ptr = Base.unsafe_convert(Ptr{var"##Ctag#231"}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end -struct var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cuda.h:4142:9)" +function Base.setproperty!(x::Ptr{var"##Ctag#231"}, f::Symbol, v) + return unsafe_store!(getproperty(x, f), v) +end + +struct var"##Ctag#234" level::Cuint layer::Cuint offsetX::Cuint @@ -6214,16 +6514,70 @@ struct var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb extentHeight::Cuint extentDepth::Cuint end +function Base.getproperty(x::Ptr{var"##Ctag#234"}, f::Symbol) + f === :level && return Ptr{Cuint}(x + 0) + f === :layer && return Ptr{Cuint}(x + 4) + f === :offsetX && return Ptr{Cuint}(x + 8) + f === :offsetY && return Ptr{Cuint}(x + 12) + f === :offsetZ && return Ptr{Cuint}(x + 16) + f === :extentWidth && return Ptr{Cuint}(x + 20) + f === :extentHeight && return Ptr{Cuint}(x + 24) + f === :extentDepth && return Ptr{Cuint}(x + 28) + return getfield(x, f) +end + +function Base.getproperty(x::var"##Ctag#234", f::Symbol) + r = Ref{var"##Ctag#234"}(x) + ptr = Base.unsafe_convert(Ptr{var"##Ctag#234"}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +function Base.setproperty!(x::Ptr{var"##Ctag#234"}, f::Symbol, v) + return unsafe_store!(getproperty(x, f), v) +end -struct var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cuda.h:4152:9)" +struct var"##Ctag#235" layer::Cuint offset::Culonglong size::Culonglong end +function Base.getproperty(x::Ptr{var"##Ctag#235"}, f::Symbol) + f === :layer && return Ptr{Cuint}(x + 0) + f === :offset && return Ptr{Culonglong}(x + 8) + f === :size && return Ptr{Culonglong}(x + 16) + return getfield(x, f) +end + +function Base.getproperty(x::var"##Ctag#235", f::Symbol) + r = Ref{var"##Ctag#235"}(x) + ptr = Base.unsafe_convert(Ptr{var"##Ctag#235"}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +function Base.setproperty!(x::Ptr{var"##Ctag#235"}, f::Symbol, v) + return unsafe_store!(getproperty(x, f), v) +end -struct var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cuda.h:617:9)" +struct var"##Ctag#238" bytesOverBudget::Culonglong end +function Base.getproperty(x::Ptr{var"##Ctag#238"}, f::Symbol) + f === :bytesOverBudget && return Ptr{Culonglong}(x + 0) + return getfield(x, f) +end + +function Base.getproperty(x::var"##Ctag#238", f::Symbol) + r = Ref{var"##Ctag#238"}(x) + ptr = Base.unsafe_convert(Ptr{var"##Ctag#238"}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +function Base.setproperty!(x::Ptr{var"##Ctag#238"}, f::Symbol, v) + return unsafe_store!(getproperty(x, f), v) +end struct CUstreamMemOpWaitValueParams_st data::NTuple{40,UInt8} @@ -6250,6 +6604,15 @@ function Base.setproperty!(x::Ptr{CUstreamMemOpWaitValueParams_st}, f::Symbol, v return unsafe_store!(getproperty(x, f), v) end +function Base.propertynames(x::CUstreamMemOpWaitValueParams_st, private::Bool=false) + return (:operation, :address, :value, :value64, :flags, :alias, + if private + fieldnames(typeof(x)) + else + () + end...) +end + struct CUstreamMemOpWriteValueParams_st data::NTuple{40,UInt8} end @@ -6275,6 +6638,15 @@ function Base.setproperty!(x::Ptr{CUstreamMemOpWriteValueParams_st}, f::Symbol, return unsafe_store!(getproperty(x, f), v) end +function Base.propertynames(x::CUstreamMemOpWriteValueParams_st, private::Bool=false) + return (:operation, :address, :value, :value64, :flags, :alias, + if private + fieldnames(typeof(x)) + else + () + end...) +end + struct CUstreamMemOpFlushRemoteWritesParams_st operation::CUstreamBatchMemOpType flags::Cuint @@ -6285,55 +6657,202 @@ struct CUstreamMemOpMemoryBarrierParams_st flags::Cuint end -struct var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cuda.h:3723:9)" +struct var"##Ctag#240" handle::Ptr{Cvoid} name::Ptr{Cvoid} end +function Base.getproperty(x::Ptr{var"##Ctag#240"}, f::Symbol) + f === :handle && return Ptr{Ptr{Cvoid}}(x + 0) + f === :name && return Ptr{Ptr{Cvoid}}(x + 8) + return getfield(x, f) +end + +function Base.getproperty(x::var"##Ctag#240", f::Symbol) + r = Ref{var"##Ctag#240"}(x) + ptr = Base.unsafe_convert(Ptr{var"##Ctag#240"}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end -struct var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cuda.h:2216:5)" +function Base.setproperty!(x::Ptr{var"##Ctag#240"}, f::Symbol, v) + return unsafe_store!(getproperty(x, f), v) +end + +struct var"##Ctag#245" x::Cuint y::Cuint z::Cuint end +function Base.getproperty(x::Ptr{var"##Ctag#245"}, f::Symbol) + f === :x && return Ptr{Cuint}(x + 0) + f === :y && return Ptr{Cuint}(x + 4) + f === :z && return Ptr{Cuint}(x + 8) + return getfield(x, f) +end + +function Base.getproperty(x::var"##Ctag#245", f::Symbol) + r = Ref{var"##Ctag#245"}(x) + ptr = Base.unsafe_convert(Ptr{var"##Ctag#245"}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +function Base.setproperty!(x::Ptr{var"##Ctag#245"}, f::Symbol, v) + return unsafe_store!(getproperty(x, f), v) +end -struct var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cuda.h:2233:5)" +struct var"##Ctag#246" event::CUevent flags::Cint triggerAtBlockStart::Cint end +function Base.getproperty(x::Ptr{var"##Ctag#246"}, f::Symbol) + f === :event && return Ptr{CUevent}(x + 0) + f === :flags && return Ptr{Cint}(x + 8) + f === :triggerAtBlockStart && return Ptr{Cint}(x + 12) + return getfield(x, f) +end + +function Base.getproperty(x::var"##Ctag#246", f::Symbol) + r = Ref{var"##Ctag#246"}(x) + ptr = Base.unsafe_convert(Ptr{var"##Ctag#246"}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +function Base.setproperty!(x::Ptr{var"##Ctag#246"}, f::Symbol, v) + return unsafe_store!(getproperty(x, f), v) +end -struct var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cuda.h:2244:5)" +struct var"##Ctag#247" event::CUevent flags::Cint end +function Base.getproperty(x::Ptr{var"##Ctag#247"}, f::Symbol) + f === :event && return Ptr{CUevent}(x + 0) + f === :flags && return Ptr{Cint}(x + 8) + return getfield(x, f) +end + +function Base.getproperty(x::var"##Ctag#247", f::Symbol) + r = Ref{var"##Ctag#247"}(x) + ptr = Base.unsafe_convert(Ptr{var"##Ctag#247"}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +function Base.setproperty!(x::Ptr{var"##Ctag#247"}, f::Symbol, v) + return unsafe_store!(getproperty(x, f), v) +end -struct var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cuda.h:2267:5)" +struct var"##Ctag#248" x::Cuint y::Cuint z::Cuint end +function Base.getproperty(x::Ptr{var"##Ctag#248"}, f::Symbol) + f === :x && return Ptr{Cuint}(x + 0) + f === :y && return Ptr{Cuint}(x + 4) + f === :z && return Ptr{Cuint}(x + 8) + return getfield(x, f) +end -struct var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cuda.h:2279:5)" +function Base.getproperty(x::var"##Ctag#248", f::Symbol) + r = Ref{var"##Ctag#248"}(x) + ptr = Base.unsafe_convert(Ptr{var"##Ctag#248"}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +function Base.setproperty!(x::Ptr{var"##Ctag#248"}, f::Symbol, v) + return unsafe_store!(getproperty(x, f), v) +end + +struct var"##Ctag#249" deviceUpdatable::Cint devNode::CUgraphDeviceNode end +function Base.getproperty(x::Ptr{var"##Ctag#249"}, f::Symbol) + f === :deviceUpdatable && return Ptr{Cint}(x + 0) + f === :devNode && return Ptr{CUgraphDeviceNode}(x + 8) + return getfield(x, f) +end + +function Base.getproperty(x::var"##Ctag#249", f::Symbol) + r = Ref{var"##Ctag#249"}(x) + ptr = Base.unsafe_convert(Ptr{var"##Ctag#249"}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +function Base.setproperty!(x::Ptr{var"##Ctag#249"}, f::Symbol, v) + return unsafe_store!(getproperty(x, f), v) +end -struct var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cuda.h:3391:9)" +struct var"##Ctag#257" hArray::CUarray end +function Base.getproperty(x::Ptr{var"##Ctag#257"}, f::Symbol) + f === :hArray && return Ptr{CUarray}(x + 0) + return getfield(x, f) +end + +function Base.getproperty(x::var"##Ctag#257", f::Symbol) + r = Ref{var"##Ctag#257"}(x) + ptr = Base.unsafe_convert(Ptr{var"##Ctag#257"}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +function Base.setproperty!(x::Ptr{var"##Ctag#257"}, f::Symbol, v) + return unsafe_store!(getproperty(x, f), v) +end -struct var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cuda.h:3394:9)" +struct var"##Ctag#258" hMipmappedArray::CUmipmappedArray end +function Base.getproperty(x::Ptr{var"##Ctag#258"}, f::Symbol) + f === :hMipmappedArray && return Ptr{CUmipmappedArray}(x + 0) + return getfield(x, f) +end + +function Base.getproperty(x::var"##Ctag#258", f::Symbol) + r = Ref{var"##Ctag#258"}(x) + ptr = Base.unsafe_convert(Ptr{var"##Ctag#258"}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +function Base.setproperty!(x::Ptr{var"##Ctag#258"}, f::Symbol, v) + return unsafe_store!(getproperty(x, f), v) +end -struct var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cuda.h:3397:9)" +struct var"##Ctag#259" devPtr::CUdeviceptr format::CUarray_format numChannels::Cuint sizeInBytes::Csize_t end +function Base.getproperty(x::Ptr{var"##Ctag#259"}, f::Symbol) + f === :devPtr && return Ptr{CUdeviceptr}(x + 0) + f === :format && return Ptr{CUarray_format}(x + 8) + f === :numChannels && return Ptr{Cuint}(x + 12) + f === :sizeInBytes && return Ptr{Csize_t}(x + 16) + return getfield(x, f) +end + +function Base.getproperty(x::var"##Ctag#259", f::Symbol) + r = Ref{var"##Ctag#259"}(x) + ptr = Base.unsafe_convert(Ptr{var"##Ctag#259"}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end -struct var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cuda.h:3403:9)" +function Base.setproperty!(x::Ptr{var"##Ctag#259"}, f::Symbol, v) + return unsafe_store!(getproperty(x, f), v) +end + +struct var"##Ctag#260" devPtr::CUdeviceptr format::CUarray_format numChannels::Cuint @@ -6341,22 +6860,91 @@ struct var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb height::Csize_t pitchInBytes::Csize_t end +function Base.getproperty(x::Ptr{var"##Ctag#260"}, f::Symbol) + f === :devPtr && return Ptr{CUdeviceptr}(x + 0) + f === :format && return Ptr{CUarray_format}(x + 8) + f === :numChannels && return Ptr{Cuint}(x + 12) + f === :width && return Ptr{Csize_t}(x + 16) + f === :height && return Ptr{Csize_t}(x + 24) + f === :pitchInBytes && return Ptr{Csize_t}(x + 32) + return getfield(x, f) +end + +function Base.getproperty(x::var"##Ctag#260", f::Symbol) + r = Ref{var"##Ctag#260"}(x) + ptr = Base.unsafe_convert(Ptr{var"##Ctag#260"}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +function Base.setproperty!(x::Ptr{var"##Ctag#260"}, f::Symbol, v) + return unsafe_store!(getproperty(x, f), v) +end -struct var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cuda.h:3411:9)" +struct var"##Ctag#261" reserved::NTuple{32,Cint} end +function Base.getproperty(x::Ptr{var"##Ctag#261"}, f::Symbol) + f === :reserved && return Ptr{NTuple{32,Cint}}(x + 0) + return getfield(x, f) +end + +function Base.getproperty(x::var"##Ctag#261", f::Symbol) + r = Ref{var"##Ctag#261"}(x) + ptr = Base.unsafe_convert(Ptr{var"##Ctag#261"}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +function Base.setproperty!(x::Ptr{var"##Ctag#261"}, f::Symbol, v) + return unsafe_store!(getproperty(x, f), v) +end -struct var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cuda.h:4518:9)" +struct var"##Ctag#264" ptr::CUdeviceptr rowLength::Csize_t layerHeight::Csize_t locHint::CUmemLocation end +function Base.getproperty(x::Ptr{var"##Ctag#264"}, f::Symbol) + f === :ptr && return Ptr{CUdeviceptr}(x + 0) + f === :rowLength && return Ptr{Csize_t}(x + 8) + f === :layerHeight && return Ptr{Csize_t}(x + 16) + f === :locHint && return Ptr{CUmemLocation}(x + 24) + return getfield(x, f) +end + +function Base.getproperty(x::var"##Ctag#264", f::Symbol) + r = Ref{var"##Ctag#264"}(x) + ptr = Base.unsafe_convert(Ptr{var"##Ctag#264"}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +function Base.setproperty!(x::Ptr{var"##Ctag#264"}, f::Symbol, v) + return unsafe_store!(getproperty(x, f), v) +end -struct var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cuda.h:4528:9)" +struct var"##Ctag#265" array::CUarray offset::CUoffset3D end +function Base.getproperty(x::Ptr{var"##Ctag#265"}, f::Symbol) + f === :array && return Ptr{CUarray}(x + 0) + f === :offset && return Ptr{CUoffset3D}(x + 8) + return getfield(x, f) +end + +function Base.getproperty(x::var"##Ctag#265", f::Symbol) + r = Ref{var"##Ctag#265"}(x) + ptr = Base.unsafe_convert(Ptr{var"##Ctag#265"}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +function Base.setproperty!(x::Ptr{var"##Ctag#265"}, f::Symbol, v) + return unsafe_store!(getproperty(x, f), v) +end # Skipping MacroDefinition: __CUDA_DEPRECATED __attribute__ ( ( deprecated ) ) diff --git a/lib/cufft/libcufft.jl b/lib/cufft/libcufft.jl index f7896692a8..926d17125f 100644 --- a/lib/cufft/libcufft.jl +++ b/lib/cufft/libcufft.jl @@ -1,7 +1,7 @@ # This file is automatically generated. Do not edit! # To re-generate, execute res/wrap/wrap.jl -using CEnum +using CEnum: CEnum, @cenum # CUFFT uses CUDA runtime objects, which are compatible with our driver usage const cudaStream_t = CUstream @@ -72,13 +72,14 @@ const cudaLibXtDesc = cudaLibXtDesc_t CUFFT_SETUP_FAILED = 7 CUFFT_INVALID_SIZE = 8 CUFFT_UNALIGNED_DATA = 9 - CUFFT_INCOMPLETE_PARAMETER_LIST = 10 CUFFT_INVALID_DEVICE = 11 - CUFFT_PARSE_ERROR = 12 CUFFT_NO_WORKSPACE = 13 CUFFT_NOT_IMPLEMENTED = 14 - CUFFT_LICENSE_ERROR = 15 CUFFT_NOT_SUPPORTED = 16 + CUFFT_MISSING_DEPENDENCY = 17 + CUFFT_NVRTC_FAILURE = 18 + CUFFT_NVJITLINK_FAILURE = 19 + CUFFT_NVSHMEM_FAILURE = 20 end const cufftResult = cufftResult_t @@ -577,18 +578,6 @@ end sharedSize::Csize_t)::cufftResult end -@checked function __cufftXtSetJITCallback_12_7(plan, lto_callback_symbol_name, - lto_callback_fatbin, - lto_callback_fatbin_size, type, caller_info) - initialize_context() - @gcsafe_ccall libcufft.__cufftXtSetJITCallback_12_7(plan::cufftHandle, - lto_callback_symbol_name::Cstring, - lto_callback_fatbin::Ptr{Cvoid}, - lto_callback_fatbin_size::Csize_t, - type::cufftXtCallbackType, - caller_info::Ptr{Ptr{Cvoid}})::cufftResult -end - @checked function cufftXtSetJITCallback(plan, lto_callback_symbol_name, lto_callback_fatbin, lto_callback_fatbin_size, type, caller_info) initialize_context() @@ -655,7 +644,7 @@ const MAX_CUDA_DESCRIPTOR_GPUS = 64 # Skipping MacroDefinition: CUFFTAPI __attribute__ ( ( visibility ( "default" ) ) ) -const MAX_CUFFT_ERROR = 0x11 +const MAX_CUFFT_ERROR = 0x15 const CUFFT_FORWARD = -1 @@ -664,3 +653,5 @@ const CUFFT_INVERSE = 1 const CUFFT_COMPATIBILITY_DEFAULT = CUFFT_COMPATIBILITY_FFTW_PADDING const MAX_SHIM_RANK = 3 + +const CUFFT_PLAN_NULL = -1 diff --git a/lib/cupti/libcupti.jl b/lib/cupti/libcupti.jl index 19e6507da7..e8104ae52f 100644 --- a/lib/cupti/libcupti.jl +++ b/lib/cupti/libcupti.jl @@ -1,7 +1,7 @@ # This file is automatically generated. Do not edit! # To re-generate, execute res/wrap/wrap.jl -using CEnum +using CEnum: CEnum, @cenum const uint64_t = UInt64 const uint32_t = UInt32 @@ -34,6 +34,21 @@ macro CUPTI_PROFILER_STRUCT_SIZE(type, lastfield) end end +macro CUPTI_CALLBACK_STRUCT_SIZE(type, lastfield) + type = esc(type) + lastfield = QuoteNode(lastfield) + return quote + $struct_size($type, $lastfield) + end +end + +struct CUpti_SubscriberParams + structSize::Csize_t + subscriberName::Cstring + oldSubscriberName::Cstring + oldSubscriberSize::Csize_t +end + @cenum CUptiResult::UInt32 begin CUPTI_SUCCESS = 0 CUPTI_ERROR_INVALID_PARAMETER = 1 @@ -81,6 +96,7 @@ end CUPTI_ERROR_MIG_DEVICE_NOT_SUPPORTED = 43 CUPTI_ERROR_SLI_DEVICE_NOT_SUPPORTED = 44 CUPTI_ERROR_WSL_DEVICE_NOT_SUPPORTED = 45 + CUPTI_ERROR_INVALID_CHIP_NAME = 46 CUPTI_ERROR_UNKNOWN = 999 CUPTI_ERROR_FORCE_INT = 2147483647 end @@ -141,7 +157,9 @@ end CUPTI_CBID_RESOURCE_GRAPHEXEC_DESTROY_STARTING = 19 CUPTI_CBID_RESOURCE_GRAPHNODE_CLONED = 20 CUPTI_CBID_RESOURCE_STREAM_ATTRIBUTE_CHANGED = 21 - CUPTI_CBID_RESOURCE_SIZE = 22 + CUPTI_CBID_RESOURCE_GRAPH_NODE_UPDATED = 22 + CUPTI_CBID_RESOURCE_GRAPH_NODE_SET_PARAMS = 23 + CUPTI_CBID_RESOURCE_SIZE = 24 CUPTI_CBID_RESOURCE_FORCE_INT = 2147483647 end @@ -174,39 +192,41 @@ struct CUpti_CallbackData correlationId::UInt32 end -struct var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_callbacks.h:416:3)" +struct var"##Ctag#378" data::NTuple{8,UInt8} end -function Base.getproperty(x::Ptr{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_callbacks.h:416:3)"}, - f::Symbol) +function Base.getproperty(x::Ptr{var"##Ctag#378"}, f::Symbol) f === :stream && return Ptr{CUstream}(x + 0) return getfield(x, f) end -function Base.getproperty(x::var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_callbacks.h:416:3)", - f::Symbol) - r = Ref{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_callbacks.h:416:3)"}(x) - ptr = Base.unsafe_convert(Ptr{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_callbacks.h:416:3)"}, - r) +function Base.getproperty(x::var"##Ctag#378", f::Symbol) + r = Ref{var"##Ctag#378"}(x) + ptr = Base.unsafe_convert(Ptr{var"##Ctag#378"}, r) fptr = getproperty(ptr, f) GC.@preserve r unsafe_load(fptr) end -function Base.setproperty!(x::Ptr{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_callbacks.h:416:3)"}, - f::Symbol, v) +function Base.setproperty!(x::Ptr{var"##Ctag#378"}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end +function Base.propertynames(x::var"##Ctag#378", private::Bool=false) + return (:stream, if private + fieldnames(typeof(x)) + else + () + end...) +end + struct CUpti_ResourceData data::NTuple{24,UInt8} end function Base.getproperty(x::Ptr{CUpti_ResourceData}, f::Symbol) f === :context && return Ptr{CUcontext}(x + 0) - f === :resourceHandle && - return Ptr{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_callbacks.h:416:3)"}(x + - 8) + f === :resourceHandle && return Ptr{var"##Ctag#378"}(x + 8) f === :resourceDescriptor && return Ptr{Ptr{Cvoid}}(x + 16) return getfield(x, f) end @@ -222,6 +242,14 @@ function Base.setproperty!(x::Ptr{CUpti_ResourceData}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end +function Base.propertynames(x::CUpti_ResourceData, private::Bool=false) + return (:context, :resourceHandle, :resourceDescriptor, if private + fieldnames(typeof(x)) + else + () + end...) +end + struct CUpti_ModuleResourceData moduleId::UInt32 cubinSize::Csize_t @@ -275,6 +303,14 @@ function Base.setproperty!(x::Ptr{CUpti_StateData}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end +function Base.propertynames(x::CUpti_StateData, private::Bool=false) + return (:notification, if private + fieldnames(typeof(x)) + else + () + end...) +end + const CUpti_CallbackId = UInt32 # typedef void ( CUPTIAPI * CUpti_CallbackFunc ) ( void * userdata , CUpti_CallbackDomain domain , CUpti_CallbackId cbid , const void * cbdata ) @@ -299,6 +335,14 @@ end userdata::Ptr{Cvoid})::CUptiResult end +@checked function cuptiSubscribe_v2(subscriber, callback, userdata, pParams) + initialize_context() + @gcsafe_ccall libcupti.cuptiSubscribe_v2(subscriber::Ptr{CUpti_SubscriberHandle}, + callback::CUpti_CallbackFunc, + userdata::Ptr{Cvoid}, + pParams::Ptr{CUpti_SubscriberParams})::CUptiResult +end + @checked function cuptiUnsubscribe(subscriber) initialize_context() @gcsafe_ccall libcupti.cuptiUnsubscribe(subscriber::CUpti_SubscriberHandle)::CUptiResult @@ -684,6 +728,7 @@ end CUPTI_METRIC_VALUE_KIND_THROUGHPUT = 3 CUPTI_METRIC_VALUE_KIND_INT64 = 4 CUPTI_METRIC_VALUE_KIND_UTILIZATION_LEVEL = 5 + CUPTI_METRIC_VALUE_KIND_NVTX_EXTENDED_PAYLOAD = 6 CUPTI_METRIC_VALUE_KIND_FORCE_INT = 2147483647 end @@ -718,6 +763,7 @@ function Base.getproperty(x::Ptr{CUpti_MetricValue}, f::Symbol) f === :metricValueThroughput && return Ptr{UInt64}(x + 0) f === :metricValueUtilizationLevel && return Ptr{CUpti_MetricValueUtilizationLevel}(x + 0) + f === :metricValueNvtxExtendedPayload && return Ptr{UInt64}(x + 0) return getfield(x, f) end @@ -732,6 +778,16 @@ function Base.setproperty!(x::Ptr{CUpti_MetricValue}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end +function Base.propertynames(x::CUpti_MetricValue, private::Bool=false) + return (:metricValueDouble, :metricValueUint64, :metricValueInt64, :metricValuePercent, + :metricValueThroughput, :metricValueUtilizationLevel, + :metricValueNvtxExtendedPayload, if private + fieldnames(typeof(x)) + else + () + end...) +end + @cenum CUpti_MetricPropertyDeviceClass::UInt32 begin CUPTI_METRIC_PROPERTY_DEVICE_CLASS_TESLA = 0 CUPTI_METRIC_PROPERTY_DEVICE_CLASS_QUADRO = 1 @@ -944,12 +1000,8 @@ struct CUpti_ActivityObjectKindId end function Base.getproperty(x::Ptr{CUpti_ActivityObjectKindId}, f::Symbol) - f === :pt && - return Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity.h:676:3)"}(x + - 0) - f === :dcs && - return Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity.h:687:3)"}(x + - 0) + f === :pt && return Ptr{var"##Ctag#394"}(x + 0) + f === :dcs && return Ptr{var"##Ctag#395"}(x + 0) return getfield(x, f) end @@ -964,6 +1016,14 @@ function Base.setproperty!(x::Ptr{CUpti_ActivityObjectKindId}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end +function Base.propertynames(x::CUpti_ActivityObjectKindId, private::Bool=false) + return (:pt, :dcs, if private + fieldnames(typeof(x)) + else + () + end...) +end + struct CUpti_ActivityOverheadCommandBufferFullData commandBufferLength::UInt32 channelID::UInt32 @@ -1248,6 +1308,19 @@ end CUPTI_CONTEXT_CIG_MODE_FORCE_INT = 2147483647 end +@cenum CUpti_NvtxExtPayloadType::UInt32 begin + CUPTI_NVTX_EXT_PAYLOAD_TYPE_UNKNOWN = 0 + CUPTI_NVTX_EXT_PAYLOAD_TYPE_SCHEMA = 1 + CUPTI_NVTX_EXT_PAYLOAD_TYPE_ENUM = 2 + CUPTI_NVTX_EXT_PAYLOAD_TYPE_FORCE_INT = 2147483647 +end + +struct CUpti_NvtxExtPayloadAttr + structSize::UInt32 + type::UInt32 + attributes::Ptr{Cvoid} +end + struct CUpti_ActivityUnifiedMemoryCounterConfig data::NTuple{16,UInt8} end @@ -1271,6 +1344,15 @@ function Base.setproperty!(x::Ptr{CUpti_ActivityUnifiedMemoryCounterConfig}, f:: return unsafe_store!(getproperty(x, f), v) end +function Base.propertynames(x::CUpti_ActivityUnifiedMemoryCounterConfig, + private::Bool=false) + return (:scope, :kind, :deviceId, :enable, if private + fieldnames(typeof(x)) + else + () + end...) +end + struct CUpti_ActivityAutoBoostState data::NTuple{8,UInt8} end @@ -1292,6 +1374,14 @@ function Base.setproperty!(x::Ptr{CUpti_ActivityAutoBoostState}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end +function Base.propertynames(x::CUpti_ActivityAutoBoostState, private::Bool=false) + return (:enabled, :pid, if private + fieldnames(typeof(x)) + else + () + end...) +end + struct CUpti_ActivityPCSamplingConfig data::NTuple{16,UInt8} end @@ -1314,6 +1404,14 @@ function Base.setproperty!(x::Ptr{CUpti_ActivityPCSamplingConfig}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end +function Base.propertynames(x::CUpti_ActivityPCSamplingConfig, private::Bool=false) + return (:size, :samplingPeriod, :samplingPeriod2, if private + fieldnames(typeof(x)) + else + () + end...) +end + struct CUpti_Activity data::NTuple{8,UInt8} end @@ -1334,6 +1432,14 @@ function Base.setproperty!(x::Ptr{CUpti_Activity}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end +function Base.propertynames(x::CUpti_Activity, private::Bool=false) + return (:kind, if private + fieldnames(typeof(x)) + else + () + end...) +end + struct CUpti_ActivityMemcpy6 data::NTuple{96,UInt8} end @@ -1358,7 +1464,8 @@ function Base.getproperty(x::Ptr{CUpti_ActivityMemcpy6}, f::Symbol) f === :graphId && return Ptr{UInt32}(x + 72) f === :channelID && return Ptr{UInt32}(x + 76) f === :channelType && return Ptr{CUpti_ChannelType}(x + 80) - f === :pad2 && return Ptr{UInt32}(x + 84) + f === :isDeviceLaunched && return Ptr{UInt8}(x + 84) + f === :pad2 && return Ptr{NTuple{3,UInt8}}(x + 85) f === :copyCount && return Ptr{UInt64}(x + 88) return getfield(x, f) end @@ -1374,6 +1481,17 @@ function Base.setproperty!(x::Ptr{CUpti_ActivityMemcpy6}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end +function Base.propertynames(x::CUpti_ActivityMemcpy6, private::Bool=false) + return (:kind, :copyKind, :srcKind, :dstKind, :flags, :bytes, :start, :_end, :deviceId, + :contextId, :streamId, :correlationId, :runtimeCorrelationId, :pad, :reserved0, + :graphNodeId, :graphId, :channelID, :channelType, :isDeviceLaunched, :pad2, + :copyCount, if private + fieldnames(typeof(x)) + else + () + end...) +end + struct CUpti_ActivityMemcpyPtoP4 data::NTuple{96,UInt8} end @@ -1414,6 +1532,17 @@ function Base.setproperty!(x::Ptr{CUpti_ActivityMemcpyPtoP4}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end +function Base.propertynames(x::CUpti_ActivityMemcpyPtoP4, private::Bool=false) + return (:kind, :copyKind, :srcKind, :dstKind, :flags, :bytes, :start, :_end, :deviceId, + :contextId, :streamId, :srcDeviceId, :srcContextId, :dstDeviceId, :dstContextId, + :correlationId, :reserved0, :graphNodeId, :graphId, :channelID, :channelType, + if private + fieldnames(typeof(x)) + else + () + end...) +end + struct CUpti_ActivityMemset4 data::NTuple{88,UInt8} end @@ -1436,7 +1565,8 @@ function Base.getproperty(x::Ptr{CUpti_ActivityMemset4}, f::Symbol) f === :graphId && return Ptr{UInt32}(x + 72) f === :channelID && return Ptr{UInt32}(x + 76) f === :channelType && return Ptr{CUpti_ChannelType}(x + 80) - f === :pad2 && return Ptr{UInt32}(x + 84) + f === :isDeviceLaunched && return Ptr{UInt8}(x + 84) + f === :pad2 && return Ptr{NTuple{3,UInt8}}(x + 85) return getfield(x, f) end @@ -1451,6 +1581,17 @@ function Base.setproperty!(x::Ptr{CUpti_ActivityMemset4}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end +function Base.propertynames(x::CUpti_ActivityMemset4, private::Bool=false) + return (:kind, :value, :bytes, :start, :_end, :deviceId, :contextId, :streamId, + :correlationId, :flags, :memoryKind, :pad, :reserved0, :graphNodeId, :graphId, + :channelID, :channelType, :isDeviceLaunched, :pad2, + if private + fieldnames(typeof(x)) + else + () + end...) +end + struct CUpti_ActivityMemory data::NTuple{80,UInt8} end @@ -1483,62 +1624,78 @@ function Base.setproperty!(x::Ptr{CUpti_ActivityMemory}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end -struct var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity.h:2670:5)" +function Base.propertynames(x::CUpti_ActivityMemory, private::Bool=false) + return (:kind, :memoryKind, :address, :bytes, :start, :_end, :allocPC, :freePC, + :processId, :deviceId, :contextId, :pad, :name, if private + fieldnames(typeof(x)) + else + () + end...) +end + +struct var"##Ctag#307" data::NTuple{8,UInt8} end -function Base.getproperty(x::Ptr{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity.h:2670:5)"}, - f::Symbol) +function Base.getproperty(x::Ptr{var"##Ctag#307"}, f::Symbol) f === :size && return Ptr{UInt64}(x + 0) f === :processId && return Ptr{UInt64}(x + 0) return getfield(x, f) end -function Base.getproperty(x::var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity.h:2670:5)", - f::Symbol) - r = Ref{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity.h:2670:5)"}(x) - ptr = Base.unsafe_convert(Ptr{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity.h:2670:5)"}, - r) +function Base.getproperty(x::var"##Ctag#307", f::Symbol) + r = Ref{var"##Ctag#307"}(x) + ptr = Base.unsafe_convert(Ptr{var"##Ctag#307"}, r) fptr = getproperty(ptr, f) GC.@preserve r unsafe_load(fptr) end -function Base.setproperty!(x::Ptr{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity.h:2670:5)"}, - f::Symbol, v) +function Base.setproperty!(x::Ptr{var"##Ctag#307"}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end -struct var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity.h:2639:3)" +function Base.propertynames(x::var"##Ctag#307", private::Bool=false) + return (:size, :processId, if private + fieldnames(typeof(x)) + else + () + end...) +end + +struct var"##Ctag#306" data::NTuple{40,UInt8} end -function Base.getproperty(x::Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity.h:2639:3)"}, - f::Symbol) +function Base.getproperty(x::Ptr{var"##Ctag#306"}, f::Symbol) f === :memoryPoolType && return Ptr{CUpti_ActivityMemoryPoolType}(x + 0) f === :pad2 && return Ptr{UInt32}(x + 4) f === :address && return Ptr{UInt64}(x + 8) f === :releaseThreshold && return Ptr{UInt64}(x + 16) - f === :pool && - return Ptr{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity.h:2670:5)"}(x + - 24) + f === :pool && return Ptr{var"##Ctag#307"}(x + 24) f === :utilizedSize && return Ptr{UInt64}(x + 32) return getfield(x, f) end -function Base.getproperty(x::var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity.h:2639:3)", - f::Symbol) - r = Ref{var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity.h:2639:3)"}(x) - ptr = Base.unsafe_convert(Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity.h:2639:3)"}, - r) +function Base.getproperty(x::var"##Ctag#306", f::Symbol) + r = Ref{var"##Ctag#306"}(x) + ptr = Base.unsafe_convert(Ptr{var"##Ctag#306"}, r) fptr = getproperty(ptr, f) GC.@preserve r unsafe_load(fptr) end -function Base.setproperty!(x::Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity.h:2639:3)"}, - f::Symbol, v) +function Base.setproperty!(x::Ptr{var"##Ctag#306"}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end +function Base.propertynames(x::var"##Ctag#306", private::Bool=false) + return (:memoryPoolType, :pad2, :address, :releaseThreshold, :pool, :utilizedSize, + if private + fieldnames(typeof(x)) + else + () + end...) +end + struct CUpti_ActivityMemory4 data::NTuple{128,UInt8} end @@ -1559,9 +1716,7 @@ function Base.getproperty(x::Ptr{CUpti_ActivityMemory4}, f::Symbol) f === :name && return Ptr{Cstring}(x + 64) f === :isAsync && return Ptr{UInt32}(x + 72) f === :pad1 && return Ptr{UInt32}(x + 76) - f === :memoryPoolConfig && - return Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity.h:2639:3)"}(x + - 80) + f === :memoryPoolConfig && return Ptr{Cvoid}(x + 80) f === :source && return Ptr{Cstring}(x + 120) return getfield(x, f) end @@ -1577,11 +1732,21 @@ function Base.setproperty!(x::Ptr{CUpti_ActivityMemory4}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end -struct CUpti_ActivityMemoryPool2 - data::NTuple{72,UInt8} +function Base.propertynames(x::CUpti_ActivityMemory4, private::Bool=false) + return (:kind, :memoryOperationType, :memoryKind, :correlationId, :address, :bytes, + :timestamp, :PC, :processId, :deviceId, :contextId, :streamId, :name, :isAsync, + :pad1, :memoryPoolConfig, :source, if private + fieldnames(typeof(x)) + else + () + end...) end -function Base.getproperty(x::Ptr{CUpti_ActivityMemoryPool2}, f::Symbol) +struct CUpti_ActivityMemoryPool3 + data::NTuple{80,UInt8} +end + +function Base.getproperty(x::Ptr{CUpti_ActivityMemoryPool3}, f::Symbol) f === :kind && return Ptr{CUpti_ActivityKind}(x + 0) f === :memoryPoolOperationType && return Ptr{CUpti_ActivityMemoryPoolOperationType}(x + 4) @@ -1595,20 +1760,32 @@ function Base.getproperty(x::Ptr{CUpti_ActivityMemoryPool2}, f::Symbol) f === :releaseThreshold && return Ptr{UInt64}(x + 48) f === :timestamp && return Ptr{UInt64}(x + 56) f === :utilizedSize && return Ptr{UInt64}(x + 64) + f === :isManagedPool && return Ptr{UInt8}(x + 72) + f === :pad2 && return Ptr{NTuple{7,UInt8}}(x + 73) return getfield(x, f) end -function Base.getproperty(x::CUpti_ActivityMemoryPool2, f::Symbol) - r = Ref{CUpti_ActivityMemoryPool2}(x) - ptr = Base.unsafe_convert(Ptr{CUpti_ActivityMemoryPool2}, r) +function Base.getproperty(x::CUpti_ActivityMemoryPool3, f::Symbol) + r = Ref{CUpti_ActivityMemoryPool3}(x) + ptr = Base.unsafe_convert(Ptr{CUpti_ActivityMemoryPool3}, r) fptr = getproperty(ptr, f) GC.@preserve r unsafe_load(fptr) end -function Base.setproperty!(x::Ptr{CUpti_ActivityMemoryPool2}, f::Symbol, v) +function Base.setproperty!(x::Ptr{CUpti_ActivityMemoryPool3}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end +function Base.propertynames(x::CUpti_ActivityMemoryPool3, private::Bool=false) + return (:kind, :memoryPoolOperationType, :memoryPoolType, :correlationId, :processId, + :deviceId, :minBytesToKeep, :address, :size, :releaseThreshold, :timestamp, + :utilizedSize, :isManagedPool, :pad2, if private + fieldnames(typeof(x)) + else + () + end...) +end + @cenum CUpti_ActivityLaunchType::UInt32 begin CUPTI_ACTIVITY_LAUNCH_TYPE_REGULAR = 0 CUPTI_ACTIVITY_LAUNCH_TYPE_COOPERATIVE_SINGLE_DEVICE = 1 @@ -1622,42 +1799,42 @@ end CUPTI_FUNC_SHMEM_LIMIT_FORCE_INT = 2147483647 end -struct var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity.h:2839:3)" +struct var"##Ctag#344" data::NTuple{1,UInt8} end -function Base.getproperty(x::Ptr{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity.h:2839:3)"}, - f::Symbol) +function Base.getproperty(x::Ptr{var"##Ctag#344"}, f::Symbol) f === :both && return Ptr{UInt8}(x + 0) - f === :config && - return Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity.h:2841:5)"}(x + - 0) + f === :config && return Ptr{var"##Ctag#345"}(x + 0) return getfield(x, f) end -function Base.getproperty(x::var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity.h:2839:3)", - f::Symbol) - r = Ref{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity.h:2839:3)"}(x) - ptr = Base.unsafe_convert(Ptr{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity.h:2839:3)"}, - r) +function Base.getproperty(x::var"##Ctag#344", f::Symbol) + r = Ref{var"##Ctag#344"}(x) + ptr = Base.unsafe_convert(Ptr{var"##Ctag#344"}, r) fptr = getproperty(ptr, f) GC.@preserve r unsafe_load(fptr) end -function Base.setproperty!(x::Ptr{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity.h:2839:3)"}, - f::Symbol, v) +function Base.setproperty!(x::Ptr{var"##Ctag#344"}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end -struct CUpti_ActivityKernel9 - data::NTuple{208,UInt8} +function Base.propertynames(x::var"##Ctag#344", private::Bool=false) + return (:both, :config, if private + fieldnames(typeof(x)) + else + () + end...) end -function Base.getproperty(x::Ptr{CUpti_ActivityKernel9}, f::Symbol) +struct CUpti_ActivityKernel10 + data::NTuple{216,UInt8} +end + +function Base.getproperty(x::Ptr{CUpti_ActivityKernel10}, f::Symbol) f === :kind && return Ptr{CUpti_ActivityKind}(x + 0) - f === :cacheConfig && - return Ptr{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity.h:2839:3)"}(x + - 4) + f === :cacheConfig && return Ptr{var"##Ctag#344"}(x + 4) f === :sharedMemoryConfig && return Ptr{UInt8}(x + 5) f === :registersPerThread && return Ptr{UInt16}(x + 6) f === :partitionedGlobalCacheRequested && @@ -1704,56 +1881,76 @@ function Base.getproperty(x::Ptr{CUpti_ActivityKernel9}, f::Symbol) f === :localMemoryTotal_v2 && return Ptr{UInt64}(x + 192) f === :maxPotentialClusterSize && return Ptr{UInt32}(x + 200) f === :maxActiveClusters && return Ptr{UInt32}(x + 204) + f === :isDeviceLaunched && return Ptr{UInt8}(x + 208) + f === :padding3 && return Ptr{NTuple{7,UInt8}}(x + 209) return getfield(x, f) end -function Base.getproperty(x::CUpti_ActivityKernel9, f::Symbol) - r = Ref{CUpti_ActivityKernel9}(x) - ptr = Base.unsafe_convert(Ptr{CUpti_ActivityKernel9}, r) +function Base.getproperty(x::CUpti_ActivityKernel10, f::Symbol) + r = Ref{CUpti_ActivityKernel10}(x) + ptr = Base.unsafe_convert(Ptr{CUpti_ActivityKernel10}, r) fptr = getproperty(ptr, f) GC.@preserve r unsafe_load(fptr) end -function Base.setproperty!(x::Ptr{CUpti_ActivityKernel9}, f::Symbol, v) +function Base.setproperty!(x::Ptr{CUpti_ActivityKernel10}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end -struct var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity.h:3141:3)" +function Base.propertynames(x::CUpti_ActivityKernel10, private::Bool=false) + return (:kind, :cacheConfig, :sharedMemoryConfig, :registersPerThread, + :partitionedGlobalCacheRequested, :partitionedGlobalCacheExecuted, :start, + :_end, :completed, :deviceId, :contextId, :streamId, :gridX, :gridY, :gridZ, + :blockX, :blockY, :blockZ, :staticSharedMemory, :dynamicSharedMemory, + :localMemoryPerThread, :localMemoryTotal, :correlationId, :gridId, :name, + :reserved0, :queued, :submitted, :launchType, :isSharedMemoryCarveoutRequested, + :sharedMemoryCarveoutRequested, :padding, :sharedMemoryExecuted, :graphNodeId, + :shmemLimitConfig, :graphId, :pAccessPolicyWindow, :channelID, :channelType, + :clusterX, :clusterY, :clusterZ, :clusterSchedulingPolicy, :localMemoryTotal_v2, + :maxPotentialClusterSize, :maxActiveClusters, :isDeviceLaunched, :padding3, + if private + fieldnames(typeof(x)) + else + () + end...) +end + +struct var"##Ctag#304" data::NTuple{1,UInt8} end -function Base.getproperty(x::Ptr{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity.h:3141:3)"}, - f::Symbol) +function Base.getproperty(x::Ptr{var"##Ctag#304"}, f::Symbol) f === :both && return Ptr{UInt8}(x + 0) - f === :config && - return Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity.h:3143:5)"}(x + - 0) + f === :config && return Ptr{var"##Ctag#305"}(x + 0) return getfield(x, f) end -function Base.getproperty(x::var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity.h:3141:3)", - f::Symbol) - r = Ref{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity.h:3141:3)"}(x) - ptr = Base.unsafe_convert(Ptr{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity.h:3141:3)"}, - r) +function Base.getproperty(x::var"##Ctag#304", f::Symbol) + r = Ref{var"##Ctag#304"}(x) + ptr = Base.unsafe_convert(Ptr{var"##Ctag#304"}, r) fptr = getproperty(ptr, f) GC.@preserve r unsafe_load(fptr) end -function Base.setproperty!(x::Ptr{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity.h:3141:3)"}, - f::Symbol, v) +function Base.setproperty!(x::Ptr{var"##Ctag#304"}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end +function Base.propertynames(x::var"##Ctag#304", private::Bool=false) + return (:both, :config, if private + fieldnames(typeof(x)) + else + () + end...) +end + struct CUpti_ActivityCdpKernel data::NTuple{144,UInt8} end function Base.getproperty(x::Ptr{CUpti_ActivityCdpKernel}, f::Symbol) f === :kind && return Ptr{CUpti_ActivityKind}(x + 0) - f === :cacheConfig && - return Ptr{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity.h:3141:3)"}(x + - 4) + f === :cacheConfig && return Ptr{var"##Ctag#304"}(x + 4) f === :sharedMemoryConfig && return Ptr{UInt8}(x + 5) f === :registersPerThread && return Ptr{UInt16}(x + 6) f === :start && return Ptr{UInt64}(x + 8) @@ -1796,6 +1993,19 @@ function Base.setproperty!(x::Ptr{CUpti_ActivityCdpKernel}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end +function Base.propertynames(x::CUpti_ActivityCdpKernel, private::Bool=false) + return (:kind, :cacheConfig, :sharedMemoryConfig, :registersPerThread, :start, :_end, + :deviceId, :contextId, :streamId, :gridX, :gridY, :gridZ, :blockX, :blockY, + :blockZ, :staticSharedMemory, :dynamicSharedMemory, :localMemoryPerThread, + :localMemoryTotal, :correlationId, :gridId, :parentGridId, :queued, :submitted, + :completed, :parentBlockX, :parentBlockY, :parentBlockZ, :pad, :name, + if private + fieldnames(typeof(x)) + else + () + end...) +end + struct CUpti_ActivityPreemption data::NTuple{40,UInt8} end @@ -1823,6 +2033,15 @@ function Base.setproperty!(x::Ptr{CUpti_ActivityPreemption}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end +function Base.propertynames(x::CUpti_ActivityPreemption, private::Bool=false) + return (:kind, :preemptionKind, :timestamp, :gridId, :blockX, :blockY, :blockZ, :pad, + if private + fieldnames(typeof(x)) + else + () + end...) +end + struct CUpti_ActivityAPI data::NTuple{40,UInt8} end @@ -1850,6 +2069,15 @@ function Base.setproperty!(x::Ptr{CUpti_ActivityAPI}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end +function Base.propertynames(x::CUpti_ActivityAPI, private::Bool=false) + return (:kind, :cbid, :start, :_end, :processId, :threadId, :correlationId, + :returnValue, if private + fieldnames(typeof(x)) + else + () + end...) +end + struct CUpti_ActivityEvent data::NTuple{24,UInt8} end @@ -1874,6 +2102,14 @@ function Base.setproperty!(x::Ptr{CUpti_ActivityEvent}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end +function Base.propertynames(x::CUpti_ActivityEvent, private::Bool=false) + return (:kind, :id, :value, :domain, :correlationId, if private + fieldnames(typeof(x)) + else + () + end...) +end + struct CUpti_ActivityEventInstance data::NTuple{32,UInt8} end @@ -1900,6 +2136,15 @@ function Base.setproperty!(x::Ptr{CUpti_ActivityEventInstance}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end +function Base.propertynames(x::CUpti_ActivityEventInstance, private::Bool=false) + return (:kind, :id, :domain, :instance, :value, :correlationId, :pad, + if private + fieldnames(typeof(x)) + else + () + end...) +end + struct CUpti_ActivityMetric data::NTuple{24,UInt8} end @@ -1925,6 +2170,14 @@ function Base.setproperty!(x::Ptr{CUpti_ActivityMetric}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end +function Base.propertynames(x::CUpti_ActivityMetric, private::Bool=false) + return (:kind, :id, :value, :correlationId, :flags, :pad, if private + fieldnames(typeof(x)) + else + () + end...) +end + struct CUpti_ActivityMetricInstance data::NTuple{32,UInt8} end @@ -1951,6 +2204,15 @@ function Base.setproperty!(x::Ptr{CUpti_ActivityMetricInstance}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end +function Base.propertynames(x::CUpti_ActivityMetricInstance, private::Bool=false) + return (:kind, :id, :value, :instance, :correlationId, :flags, :pad, + if private + fieldnames(typeof(x)) + else + () + end...) +end + struct CUpti_ActivitySourceLocator data::NTuple{24,UInt8} end @@ -1975,6 +2237,14 @@ function Base.setproperty!(x::Ptr{CUpti_ActivitySourceLocator}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end +function Base.propertynames(x::CUpti_ActivitySourceLocator, private::Bool=false) + return (:kind, :id, :lineNumber, :pad, :fileName, if private + fieldnames(typeof(x)) + else + () + end...) +end + struct CUpti_ActivityGlobalAccess3 data::NTuple{56,UInt8} end @@ -2004,6 +2274,16 @@ function Base.setproperty!(x::Ptr{CUpti_ActivityGlobalAccess3}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end +function Base.propertynames(x::CUpti_ActivityGlobalAccess3, private::Bool=false) + return (:kind, :flags, :sourceLocatorId, :correlationId, :functionId, :executed, + :pcOffset, :threadsExecuted, :l2_transactions, :theoreticalL2Transactions, + if private + fieldnames(typeof(x)) + else + () + end...) +end + struct CUpti_ActivityBranch2 data::NTuple{40,UInt8} end @@ -2032,6 +2312,15 @@ function Base.setproperty!(x::Ptr{CUpti_ActivityBranch2}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end +function Base.propertynames(x::CUpti_ActivityBranch2, private::Bool=false) + return (:kind, :sourceLocatorId, :correlationId, :functionId, :pcOffset, :diverged, + :threadsExecuted, :executed, :pad, if private + fieldnames(typeof(x)) + else + () + end...) +end + struct CUpti_ActivityDevice5 data::NTuple{184,UInt8} end @@ -2089,37 +2378,57 @@ function Base.setproperty!(x::Ptr{CUpti_ActivityDevice5}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end -struct var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity.h:4027:3)" +function Base.propertynames(x::CUpti_ActivityDevice5, private::Bool=false) + return (:kind, :flags, :globalMemoryBandwidth, :globalMemorySize, :constantMemorySize, + :l2CacheSize, :numThreadsPerWarp, :coreClockRate, :numMemcpyEngines, + :numMultiprocessors, :maxIPC, :maxWarpsPerMultiprocessor, + :maxBlocksPerMultiprocessor, :maxSharedMemoryPerMultiprocessor, + :maxRegistersPerMultiprocessor, :maxRegistersPerBlock, :maxSharedMemoryPerBlock, + :maxThreadsPerBlock, :maxBlockDimX, :maxBlockDimY, :maxBlockDimZ, :maxGridDimX, + :maxGridDimY, :maxGridDimZ, :computeCapabilityMajor, :computeCapabilityMinor, + :id, :eccEnabled, :uuid, :name, :isCudaVisible, :isMigEnabled, :reserved, + :gpuInstanceId, :computeInstanceId, :migUuid, :isNumaNode, :numaId, + if private + fieldnames(typeof(x)) + else + () + end...) +end + +struct var"##Ctag#364" data::NTuple{4,UInt8} end -function Base.getproperty(x::Ptr{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity.h:4027:3)"}, - f::Symbol) +function Base.getproperty(x::Ptr{var"##Ctag#364"}, f::Symbol) f === :cu && return Ptr{CUdevice_attribute}(x + 0) f === :cupti && return Ptr{CUpti_DeviceAttribute}(x + 0) return getfield(x, f) end -function Base.getproperty(x::var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity.h:4027:3)", - f::Symbol) - r = Ref{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity.h:4027:3)"}(x) - ptr = Base.unsafe_convert(Ptr{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity.h:4027:3)"}, - r) +function Base.getproperty(x::var"##Ctag#364", f::Symbol) + r = Ref{var"##Ctag#364"}(x) + ptr = Base.unsafe_convert(Ptr{var"##Ctag#364"}, r) fptr = getproperty(ptr, f) GC.@preserve r unsafe_load(fptr) end -function Base.setproperty!(x::Ptr{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity.h:4027:3)"}, - f::Symbol, v) +function Base.setproperty!(x::Ptr{var"##Ctag#364"}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end -struct var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity.h:4037:3)" +function Base.propertynames(x::var"##Ctag#364", private::Bool=false) + return (:cu, :cupti, if private + fieldnames(typeof(x)) + else + () + end...) +end + +struct var"##Ctag#365" data::NTuple{8,UInt8} end -function Base.getproperty(x::Ptr{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity.h:4037:3)"}, - f::Symbol) +function Base.getproperty(x::Ptr{var"##Ctag#365"}, f::Symbol) f === :vDouble && return Ptr{Cdouble}(x + 0) f === :vUint32 && return Ptr{UInt32}(x + 0) f === :vUint64 && return Ptr{UInt64}(x + 0) @@ -2128,20 +2437,25 @@ function Base.getproperty(x::Ptr{var"union (unnamed at /home/tim/.julia/artifact return getfield(x, f) end -function Base.getproperty(x::var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity.h:4037:3)", - f::Symbol) - r = Ref{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity.h:4037:3)"}(x) - ptr = Base.unsafe_convert(Ptr{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity.h:4037:3)"}, - r) +function Base.getproperty(x::var"##Ctag#365", f::Symbol) + r = Ref{var"##Ctag#365"}(x) + ptr = Base.unsafe_convert(Ptr{var"##Ctag#365"}, r) fptr = getproperty(ptr, f) GC.@preserve r unsafe_load(fptr) end -function Base.setproperty!(x::Ptr{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity.h:4037:3)"}, - f::Symbol, v) +function Base.setproperty!(x::Ptr{var"##Ctag#365"}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end +function Base.propertynames(x::var"##Ctag#365", private::Bool=false) + return (:vDouble, :vUint32, :vUint64, :vInt32, :vInt64, if private + fieldnames(typeof(x)) + else + () + end...) +end + struct CUpti_ActivityDeviceAttribute data::NTuple{24,UInt8} end @@ -2150,12 +2464,8 @@ function Base.getproperty(x::Ptr{CUpti_ActivityDeviceAttribute}, f::Symbol) f === :kind && return Ptr{CUpti_ActivityKind}(x + 0) f === :flags && return Ptr{CUpti_ActivityFlag}(x + 4) f === :deviceId && return Ptr{UInt32}(x + 8) - f === :attribute && - return Ptr{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity.h:4027:3)"}(x + - 12) - f === :value && - return Ptr{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity.h:4037:3)"}(x + - 16) + f === :attribute && return Ptr{var"##Ctag#364"}(x + 12) + f === :value && return Ptr{var"##Ctag#365"}(x + 16) return getfield(x, f) end @@ -2170,6 +2480,14 @@ function Base.setproperty!(x::Ptr{CUpti_ActivityDeviceAttribute}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end +function Base.propertynames(x::CUpti_ActivityDeviceAttribute, private::Bool=false) + return (:kind, :flags, :deviceId, :attribute, :value, if private + fieldnames(typeof(x)) + else + () + end...) +end + struct CUpti_ActivityContext3 data::NTuple{32,UInt8} end @@ -2200,6 +2518,16 @@ function Base.setproperty!(x::Ptr{CUpti_ActivityContext3}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end +function Base.propertynames(x::CUpti_ActivityContext3, private::Bool=false) + return (:kind, :contextId, :deviceId, :computeApiKind, :nullStreamId, :parentContextId, + :isGreenContext, :padding, :numMultiprocessors, :cigMode, :padding2, + if private + fieldnames(typeof(x)) + else + () + end...) +end + struct CUpti_ActivityName data::NTuple{32,UInt8} end @@ -2224,6 +2552,14 @@ function Base.setproperty!(x::Ptr{CUpti_ActivityName}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end +function Base.propertynames(x::CUpti_ActivityName, private::Bool=false) + return (:kind, :objectKind, :objectId, :pad, :name, if private + fieldnames(typeof(x)) + else + () + end...) +end + struct CUpti_ActivityMarker2 data::NTuple{56,UInt8} end @@ -2252,11 +2588,20 @@ function Base.setproperty!(x::Ptr{CUpti_ActivityMarker2}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end -struct CUpti_ActivityMarkerData - data::NTuple{32,UInt8} +function Base.propertynames(x::CUpti_ActivityMarker2, private::Bool=false) + return (:kind, :flags, :timestamp, :id, :objectKind, :objectId, :pad, :name, :domain, + if private + fieldnames(typeof(x)) + else + () + end...) end -function Base.getproperty(x::Ptr{CUpti_ActivityMarkerData}, f::Symbol) +struct CUpti_ActivityMarkerData2 + data::NTuple{40,UInt8} +end + +function Base.getproperty(x::Ptr{CUpti_ActivityMarkerData2}, f::Symbol) f === :kind && return Ptr{CUpti_ActivityKind}(x + 0) f === :flags && return Ptr{CUpti_ActivityFlag}(x + 4) f === :id && return Ptr{UInt32}(x + 8) @@ -2264,20 +2609,31 @@ function Base.getproperty(x::Ptr{CUpti_ActivityMarkerData}, f::Symbol) f === :payload && return Ptr{CUpti_MetricValue}(x + 16) f === :color && return Ptr{UInt32}(x + 24) f === :category && return Ptr{UInt32}(x + 28) + f === :cuptiDomainId && return Ptr{UInt32}(x + 32) + f === :padding && return Ptr{UInt32}(x + 36) return getfield(x, f) end -function Base.getproperty(x::CUpti_ActivityMarkerData, f::Symbol) - r = Ref{CUpti_ActivityMarkerData}(x) - ptr = Base.unsafe_convert(Ptr{CUpti_ActivityMarkerData}, r) +function Base.getproperty(x::CUpti_ActivityMarkerData2, f::Symbol) + r = Ref{CUpti_ActivityMarkerData2}(x) + ptr = Base.unsafe_convert(Ptr{CUpti_ActivityMarkerData2}, r) fptr = getproperty(ptr, f) GC.@preserve r unsafe_load(fptr) end -function Base.setproperty!(x::Ptr{CUpti_ActivityMarkerData}, f::Symbol, v) +function Base.setproperty!(x::Ptr{CUpti_ActivityMarkerData2}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end +function Base.propertynames(x::CUpti_ActivityMarkerData2, private::Bool=false) + return (:kind, :flags, :id, :payloadKind, :payload, :color, :category, :cuptiDomainId, + :padding, if private + fieldnames(typeof(x)) + else + () + end...) +end + struct CUpti_ActivityOverhead3 data::NTuple{56,UInt8} end @@ -2306,41 +2662,46 @@ function Base.setproperty!(x::Ptr{CUpti_ActivityOverhead3}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end -struct var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity.h:4348:3)" +function Base.propertynames(x::CUpti_ActivityOverhead3, private::Bool=false) + return (:kind, :overheadKind, :objectKind, :objectId, :start, :_end, :correlationId, + :reserved0, :overheadData, if private + fieldnames(typeof(x)) + else + () + end...) +end + +struct var"##Ctag#353" data::NTuple{20,UInt8} end -function Base.getproperty(x::Ptr{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity.h:4348:3)"}, - f::Symbol) - f === :speed && - return Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity.h:4353:5)"}(x + - 0) - f === :temperature && - return Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity.h:4384:5)"}(x + - 0) - f === :power && - return Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity.h:4396:5)"}(x + - 0) - f === :cooling && - return Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity.h:4406:5)"}(x + - 0) +function Base.getproperty(x::Ptr{var"##Ctag#353"}, f::Symbol) + f === :speed && return Ptr{var"##Ctag#354"}(x + 0) + f === :temperature && return Ptr{var"##Ctag#355"}(x + 0) + f === :power && return Ptr{var"##Ctag#356"}(x + 0) + f === :cooling && return Ptr{var"##Ctag#357"}(x + 0) return getfield(x, f) end -function Base.getproperty(x::var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity.h:4348:3)", - f::Symbol) - r = Ref{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity.h:4348:3)"}(x) - ptr = Base.unsafe_convert(Ptr{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity.h:4348:3)"}, - r) +function Base.getproperty(x::var"##Ctag#353", f::Symbol) + r = Ref{var"##Ctag#353"}(x) + ptr = Base.unsafe_convert(Ptr{var"##Ctag#353"}, r) fptr = getproperty(ptr, f) GC.@preserve r unsafe_load(fptr) end -function Base.setproperty!(x::Ptr{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity.h:4348:3)"}, - f::Symbol, v) +function Base.setproperty!(x::Ptr{var"##Ctag#353"}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end +function Base.propertynames(x::var"##Ctag#353", private::Bool=false) + return (:speed, :temperature, :power, :cooling, if private + fieldnames(typeof(x)) + else + () + end...) +end + struct CUpti_ActivityEnvironment data::NTuple{40,UInt8} end @@ -2350,9 +2711,7 @@ function Base.getproperty(x::Ptr{CUpti_ActivityEnvironment}, f::Symbol) f === :deviceId && return Ptr{UInt32}(x + 4) f === :timestamp && return Ptr{UInt64}(x + 8) f === :environmentKind && return Ptr{CUpti_ActivityEnvironmentKind}(x + 16) - f === :data && - return Ptr{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity.h:4348:3)"}(x + - 20) + f === :data && return Ptr{var"##Ctag#353"}(x + 20) return getfield(x, f) end @@ -2367,6 +2726,15 @@ function Base.setproperty!(x::Ptr{CUpti_ActivityEnvironment}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end +function Base.propertynames(x::CUpti_ActivityEnvironment, private::Bool=false) + return (:kind, :deviceId, :timestamp, :environmentKind, :data, + if private + fieldnames(typeof(x)) + else + () + end...) +end + struct CUpti_ActivityInstructionExecution data::NTuple{48,UInt8} end @@ -2396,6 +2764,16 @@ function Base.setproperty!(x::Ptr{CUpti_ActivityInstructionExecution}, f::Symbol return unsafe_store!(getproperty(x, f), v) end +function Base.propertynames(x::CUpti_ActivityInstructionExecution, private::Bool=false) + return (:kind, :flags, :sourceLocatorId, :correlationId, :functionId, :pcOffset, + :threadsExecuted, :notPredOffThreadsExecuted, :executed, :pad, + if private + fieldnames(typeof(x)) + else + () + end...) +end + struct CUpti_ActivityPCSampling3 data::NTuple{40,UInt8} end @@ -2424,6 +2802,15 @@ function Base.setproperty!(x::Ptr{CUpti_ActivityPCSampling3}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end +function Base.propertynames(x::CUpti_ActivityPCSampling3, private::Bool=false) + return (:kind, :flags, :sourceLocatorId, :correlationId, :functionId, :latencySamples, + :samples, :stallReason, :pcOffset, if private + fieldnames(typeof(x)) + else + () + end...) +end + struct CUpti_ActivityPCSamplingRecordInfo data::NTuple{32,UInt8} end @@ -2448,6 +2835,15 @@ function Base.setproperty!(x::Ptr{CUpti_ActivityPCSamplingRecordInfo}, f::Symbol return unsafe_store!(getproperty(x, f), v) end +function Base.propertynames(x::CUpti_ActivityPCSamplingRecordInfo, private::Bool=false) + return (:kind, :correlationId, :totalSamples, :droppedSamples, :samplingPeriodInCycles, + if private + fieldnames(typeof(x)) + else + () + end...) +end + struct CUpti_ActivityUnifiedMemoryCounter3 data::NTuple{104,UInt8} end @@ -2480,6 +2876,15 @@ function Base.setproperty!(x::Ptr{CUpti_ActivityUnifiedMemoryCounter3}, f::Symbo return unsafe_store!(getproperty(x, f), v) end +function Base.propertynames(x::CUpti_ActivityUnifiedMemoryCounter3, private::Bool=false) + return (:kind, :counterKind, :value, :start, :_end, :address, :srcId, :dstId, :streamId, + :processId, :flags, :pad, :processors, if private + fieldnames(typeof(x)) + else + () + end...) +end + struct CUpti_ActivityFunction data::NTuple{32,UInt8} end @@ -2506,6 +2911,15 @@ function Base.setproperty!(x::Ptr{CUpti_ActivityFunction}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end +function Base.propertynames(x::CUpti_ActivityFunction, private::Bool=false) + return (:kind, :id, :contextId, :moduleId, :functionIndex, :pad, :name, + if private + fieldnames(typeof(x)) + else + () + end...) +end + struct CUpti_ActivityModule data::NTuple{24,UInt8} end @@ -2530,6 +2944,14 @@ function Base.setproperty!(x::Ptr{CUpti_ActivityModule}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end +function Base.propertynames(x::CUpti_ActivityModule, private::Bool=false) + return (:kind, :contextId, :id, :cubinSize, :cubin, if private + fieldnames(typeof(x)) + else + () + end...) +end + struct CUpti_ActivitySharedAccess data::NTuple{56,UInt8} end @@ -2560,6 +2982,16 @@ function Base.setproperty!(x::Ptr{CUpti_ActivitySharedAccess}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end +function Base.propertynames(x::CUpti_ActivitySharedAccess, private::Bool=false) + return (:kind, :flags, :sourceLocatorId, :correlationId, :functionId, :pcOffset, + :threadsExecuted, :sharedTransactions, :theoreticalSharedTransactions, + :executed, :pad, if private + fieldnames(typeof(x)) + else + () + end...) +end + struct CUpti_ActivityCudaEvent2 data::NTuple{56,UInt8} end @@ -2590,6 +3022,15 @@ function Base.setproperty!(x::Ptr{CUpti_ActivityCudaEvent2}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end +function Base.propertynames(x::CUpti_ActivityCudaEvent2, private::Bool=false) + return (:kind, :correlationId, :contextId, :streamId, :eventId, :pad, :deviceId, :pad2, + :reserved0, :deviceTimestamp, :cudaEventSyncId, if private + fieldnames(typeof(x)) + else + () + end...) +end + struct CUpti_ActivityStream data::NTuple{24,UInt8} end @@ -2615,6 +3056,15 @@ function Base.setproperty!(x::Ptr{CUpti_ActivityStream}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end +function Base.propertynames(x::CUpti_ActivityStream, private::Bool=false) + return (:kind, :contextId, :streamId, :priority, :flag, :correlationId, + if private + fieldnames(typeof(x)) + else + () + end...) +end + struct CUpti_ActivitySynchronization2 data::NTuple{56,UInt8} end @@ -2645,6 +3095,16 @@ function Base.setproperty!(x::Ptr{CUpti_ActivitySynchronization2}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end +function Base.propertynames(x::CUpti_ActivitySynchronization2, private::Bool=false) + return (:kind, :type, :start, :_end, :correlationId, :contextId, :streamId, + :cudaEventId, :cudaEventSyncId, :returnValue, :pad, + if private + fieldnames(typeof(x)) + else + () + end...) +end + struct CUpti_ActivityInstructionCorrelation data::NTuple{24,UInt8} end @@ -2670,6 +3130,15 @@ function Base.setproperty!(x::Ptr{CUpti_ActivityInstructionCorrelation}, f::Symb return unsafe_store!(getproperty(x, f), v) end +function Base.propertynames(x::CUpti_ActivityInstructionCorrelation, private::Bool=false) + return (:kind, :flags, :sourceLocatorId, :functionId, :pcOffset, :pad, + if private + fieldnames(typeof(x)) + else + () + end...) +end + @cenum CUpti_OpenAccEventKind::UInt32 begin CUPTI_OPENACC_EVENT_KIND_INVALID = 0 CUPTI_OPENACC_EVENT_KIND_DEVICE_INIT = 1 @@ -2766,6 +3235,18 @@ function Base.setproperty!(x::Ptr{CUpti_ActivityOpenAcc}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end +function Base.propertynames(x::CUpti_ActivityOpenAcc, private::Bool=false) + return (:kind, :eventKind, :parentConstruct, :version, :implicit, :deviceType, + :deviceNumber, :threadId, :async, :asyncMap, :lineNo, :endLineNo, :funcLineNo, + :funcEndLineNo, :start, :_end, :cuDeviceId, :cuContextId, :cuStreamId, + :cuProcessId, :cuThreadId, :externalId, :srcFile, :funcName, + if private + fieldnames(typeof(x)) + else + () + end...) +end + struct CUpti_ActivityOpenAccData data::NTuple{152,UInt8} end @@ -2813,6 +3294,18 @@ function Base.setproperty!(x::Ptr{CUpti_ActivityOpenAccData}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end +function Base.propertynames(x::CUpti_ActivityOpenAccData, private::Bool=false) + return (:kind, :eventKind, :parentConstruct, :version, :implicit, :deviceType, + :deviceNumber, :threadId, :async, :asyncMap, :lineNo, :endLineNo, :funcLineNo, + :funcEndLineNo, :start, :_end, :cuDeviceId, :cuContextId, :cuStreamId, + :cuProcessId, :cuThreadId, :externalId, :srcFile, :funcName, :bytes, :hostPtr, + :devicePtr, :varName, if private + fieldnames(typeof(x)) + else + () + end...) +end + struct CUpti_ActivityOpenAccLaunch data::NTuple{152,UInt8} end @@ -2860,6 +3353,18 @@ function Base.setproperty!(x::Ptr{CUpti_ActivityOpenAccLaunch}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end +function Base.propertynames(x::CUpti_ActivityOpenAccLaunch, private::Bool=false) + return (:kind, :eventKind, :parentConstruct, :version, :implicit, :deviceType, + :deviceNumber, :threadId, :async, :asyncMap, :lineNo, :endLineNo, :funcLineNo, + :funcEndLineNo, :start, :_end, :cuDeviceId, :cuContextId, :cuStreamId, + :cuProcessId, :cuThreadId, :externalId, :srcFile, :funcName, :numGangs, + :numWorkers, :vectorLength, :kernelName, if private + fieldnames(typeof(x)) + else + () + end...) +end + struct CUpti_ActivityOpenAccOther data::NTuple{120,UInt8} end @@ -2903,6 +3408,18 @@ function Base.setproperty!(x::Ptr{CUpti_ActivityOpenAccOther}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end +function Base.propertynames(x::CUpti_ActivityOpenAccOther, private::Bool=false) + return (:kind, :eventKind, :parentConstruct, :version, :implicit, :deviceType, + :deviceNumber, :threadId, :async, :asyncMap, :lineNo, :endLineNo, :funcLineNo, + :funcEndLineNo, :start, :_end, :cuDeviceId, :cuContextId, :cuStreamId, + :cuProcessId, :cuThreadId, :externalId, :srcFile, :funcName, + if private + fieldnames(typeof(x)) + else + () + end...) +end + struct CUpti_ActivityOpenMp data::NTuple{40,UInt8} end @@ -2930,6 +3447,15 @@ function Base.setproperty!(x::Ptr{CUpti_ActivityOpenMp}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end +function Base.propertynames(x::CUpti_ActivityOpenMp, private::Bool=false) + return (:kind, :eventKind, :version, :threadId, :start, :_end, :cuProcessId, + :cuThreadId, if private + fieldnames(typeof(x)) + else + () + end...) +end + @cenum CUpti_ExternalCorrelationKind::UInt32 begin CUPTI_EXTERNAL_CORRELATION_KIND_INVALID = 0 CUPTI_EXTERNAL_CORRELATION_KIND_UNKNOWN = 1 @@ -2965,6 +3491,15 @@ function Base.setproperty!(x::Ptr{CUpti_ActivityExternalCorrelation}, f::Symbol, return unsafe_store!(getproperty(x, f), v) end +function Base.propertynames(x::CUpti_ActivityExternalCorrelation, private::Bool=false) + return (:kind, :externalKind, :externalId, :correlationId, :reserved, + if private + fieldnames(typeof(x)) + else + () + end...) +end + @cenum CUpti_DevType::UInt32 begin CUPTI_DEV_TYPE_INVALID = 0 CUPTI_DEV_TYPE_GPU = 1 @@ -2972,60 +3507,64 @@ end CUPTI_DEV_TYPE_FORCE_INT = 2147483647 end -struct var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity.h:5998:3)" +struct var"##Ctag#346" data::NTuple{16,UInt8} end -function Base.getproperty(x::Ptr{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity.h:5998:3)"}, - f::Symbol) +function Base.getproperty(x::Ptr{var"##Ctag#346"}, f::Symbol) f === :uuidDev && return Ptr{CUuuid}(x + 0) - f === :npu && - return Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity.h:6000:5)"}(x + - 0) + f === :npu && return Ptr{var"##Ctag#347"}(x + 0) return getfield(x, f) end -function Base.getproperty(x::var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity.h:5998:3)", - f::Symbol) - r = Ref{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity.h:5998:3)"}(x) - ptr = Base.unsafe_convert(Ptr{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity.h:5998:3)"}, - r) +function Base.getproperty(x::var"##Ctag#346", f::Symbol) + r = Ref{var"##Ctag#346"}(x) + ptr = Base.unsafe_convert(Ptr{var"##Ctag#346"}, r) fptr = getproperty(ptr, f) GC.@preserve r unsafe_load(fptr) end -function Base.setproperty!(x::Ptr{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity.h:5998:3)"}, - f::Symbol, v) +function Base.setproperty!(x::Ptr{var"##Ctag#346"}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end -struct var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity.h:6017:3)" +function Base.propertynames(x::var"##Ctag#346", private::Bool=false) + return (:uuidDev, :npu, if private + fieldnames(typeof(x)) + else + () + end...) +end + +struct var"##Ctag#348" data::NTuple{16,UInt8} end -function Base.getproperty(x::Ptr{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity.h:6017:3)"}, - f::Symbol) +function Base.getproperty(x::Ptr{var"##Ctag#348"}, f::Symbol) f === :uuidDev && return Ptr{CUuuid}(x + 0) - f === :npu && - return Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity.h:6019:5)"}(x + - 0) + f === :npu && return Ptr{var"##Ctag#349"}(x + 0) return getfield(x, f) end -function Base.getproperty(x::var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity.h:6017:3)", - f::Symbol) - r = Ref{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity.h:6017:3)"}(x) - ptr = Base.unsafe_convert(Ptr{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity.h:6017:3)"}, - r) +function Base.getproperty(x::var"##Ctag#348", f::Symbol) + r = Ref{var"##Ctag#348"}(x) + ptr = Base.unsafe_convert(Ptr{var"##Ctag#348"}, r) fptr = getproperty(ptr, f) GC.@preserve r unsafe_load(fptr) end -function Base.setproperty!(x::Ptr{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity.h:6017:3)"}, - f::Symbol, v) +function Base.setproperty!(x::Ptr{var"##Ctag#348"}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end +function Base.propertynames(x::var"##Ctag#348", private::Bool=false) + return (:uuidDev, :npu, if private + fieldnames(typeof(x)) + else + () + end...) +end + struct CUpti_ActivityNvLink4 data::NTuple{136,UInt8} end @@ -3035,12 +3574,8 @@ function Base.getproperty(x::Ptr{CUpti_ActivityNvLink4}, f::Symbol) f === :nvlinkVersion && return Ptr{UInt32}(x + 4) f === :typeDev0 && return Ptr{CUpti_DevType}(x + 8) f === :typeDev1 && return Ptr{CUpti_DevType}(x + 12) - f === :idDev0 && - return Ptr{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity.h:5998:3)"}(x + - 16) - f === :idDev1 && - return Ptr{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity.h:6017:3)"}(x + - 32) + f === :idDev0 && return Ptr{var"##Ctag#346"}(x + 16) + f === :idDev1 && return Ptr{var"##Ctag#348"}(x + 32) f === :flag && return Ptr{UInt32}(x + 48) f === :physicalNvLinkCount && return Ptr{UInt32}(x + 52) f === :portDev0 && return Ptr{NTuple{32,Int8}}(x + 56) @@ -3062,66 +3597,80 @@ function Base.setproperty!(x::Ptr{CUpti_ActivityNvLink4}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end +function Base.propertynames(x::CUpti_ActivityNvLink4, private::Bool=false) + return (:kind, :nvlinkVersion, :typeDev0, :typeDev1, :idDev0, :idDev1, :flag, + :physicalNvLinkCount, :portDev0, :portDev1, :bandwidth, :nvswitchConnected, + :pad, if private + fieldnames(typeof(x)) + else + () + end...) +end + @cenum CUpti_PcieDeviceType::UInt32 begin CUPTI_PCIE_DEVICE_TYPE_GPU = 0 CUPTI_PCIE_DEVICE_TYPE_BRIDGE = 1 CUPTI_PCIE_DEVICE_TYPE_FORCE_INT = 2147483647 end -struct var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity.h:6122:3)" +struct var"##Ctag#358" data::NTuple{4,UInt8} end -function Base.getproperty(x::Ptr{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity.h:6122:3)"}, - f::Symbol) +function Base.getproperty(x::Ptr{var"##Ctag#358"}, f::Symbol) f === :devId && return Ptr{CUdevice}(x + 0) f === :bridgeId && return Ptr{UInt32}(x + 0) return getfield(x, f) end -function Base.getproperty(x::var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity.h:6122:3)", - f::Symbol) - r = Ref{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity.h:6122:3)"}(x) - ptr = Base.unsafe_convert(Ptr{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity.h:6122:3)"}, - r) +function Base.getproperty(x::var"##Ctag#358", f::Symbol) + r = Ref{var"##Ctag#358"}(x) + ptr = Base.unsafe_convert(Ptr{var"##Ctag#358"}, r) fptr = getproperty(ptr, f) GC.@preserve r unsafe_load(fptr) end -function Base.setproperty!(x::Ptr{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity.h:6122:3)"}, - f::Symbol, v) +function Base.setproperty!(x::Ptr{var"##Ctag#358"}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end -struct var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity.h:6164:3)" +function Base.propertynames(x::var"##Ctag#358", private::Bool=false) + return (:devId, :bridgeId, if private + fieldnames(typeof(x)) + else + () + end...) +end + +struct var"##Ctag#359" data::NTuple{144,UInt8} end -function Base.getproperty(x::Ptr{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity.h:6164:3)"}, - f::Symbol) - f === :gpuAttr && - return Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity.h:6165:5)"}(x + - 0) - f === :bridgeAttr && - return Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity.h:6179:5)"}(x + - 0) +function Base.getproperty(x::Ptr{var"##Ctag#359"}, f::Symbol) + f === :gpuAttr && return Ptr{var"##Ctag#360"}(x + 0) + f === :bridgeAttr && return Ptr{var"##Ctag#361"}(x + 0) return getfield(x, f) end -function Base.getproperty(x::var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity.h:6164:3)", - f::Symbol) - r = Ref{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity.h:6164:3)"}(x) - ptr = Base.unsafe_convert(Ptr{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity.h:6164:3)"}, - r) +function Base.getproperty(x::var"##Ctag#359", f::Symbol) + r = Ref{var"##Ctag#359"}(x) + ptr = Base.unsafe_convert(Ptr{var"##Ctag#359"}, r) fptr = getproperty(ptr, f) GC.@preserve r unsafe_load(fptr) end -function Base.setproperty!(x::Ptr{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity.h:6164:3)"}, - f::Symbol, v) +function Base.setproperty!(x::Ptr{var"##Ctag#359"}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end +function Base.propertynames(x::var"##Ctag#359", private::Bool=false) + return (:gpuAttr, :bridgeAttr, if private + fieldnames(typeof(x)) + else + () + end...) +end + struct CUpti_ActivityPcie data::NTuple{168,UInt8} end @@ -3129,17 +3678,13 @@ end function Base.getproperty(x::Ptr{CUpti_ActivityPcie}, f::Symbol) f === :kind && return Ptr{CUpti_ActivityKind}(x + 0) f === :type && return Ptr{CUpti_PcieDeviceType}(x + 4) - f === :id && - return Ptr{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity.h:6122:3)"}(x + - 8) + f === :id && return Ptr{var"##Ctag#358"}(x + 8) f === :domain && return Ptr{UInt32}(x + 12) f === :pcieGeneration && return Ptr{UInt16}(x + 16) f === :linkRate && return Ptr{UInt16}(x + 18) f === :linkWidth && return Ptr{UInt16}(x + 20) f === :upstreamBus && return Ptr{UInt16}(x + 22) - f === :attr && - return Ptr{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity.h:6164:3)"}(x + - 24) + f === :attr && return Ptr{var"##Ctag#359"}(x + 24) return getfield(x, f) end @@ -3154,6 +3699,15 @@ function Base.setproperty!(x::Ptr{CUpti_ActivityPcie}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end +function Base.propertynames(x::CUpti_ActivityPcie, private::Bool=false) + return (:kind, :type, :id, :domain, :pcieGeneration, :linkRate, :linkWidth, + :upstreamBus, :attr, if private + fieldnames(typeof(x)) + else + () + end...) +end + @cenum CUpti_PcieGen::UInt32 begin CUPTI_PCIE_GEN_GEN1 = 1 CUPTI_PCIE_GEN_GEN2 = 2 @@ -3198,6 +3752,16 @@ function Base.setproperty!(x::Ptr{CUpti_ActivityConfidentialComputeRotation}, f: return unsafe_store!(getproperty(x, f), v) end +function Base.propertynames(x::CUpti_ActivityConfidentialComputeRotation, + private::Bool=false) + return (:kind, :eventType, :deviceId, :contextId, :channelId, :channelType, :timestamp, + if private + fieldnames(typeof(x)) + else + () + end...) +end + struct CUpti_ActivityInstantaneousEvent data::NTuple{32,UInt8} end @@ -3223,6 +3787,15 @@ function Base.setproperty!(x::Ptr{CUpti_ActivityInstantaneousEvent}, f::Symbol, return unsafe_store!(getproperty(x, f), v) end +function Base.propertynames(x::CUpti_ActivityInstantaneousEvent, private::Bool=false) + return (:kind, :id, :value, :timestamp, :deviceId, :reserved, + if private + fieldnames(typeof(x)) + else + () + end...) +end + struct CUpti_ActivityInstantaneousEventInstance data::NTuple{32,UInt8} end @@ -3249,6 +3822,16 @@ function Base.setproperty!(x::Ptr{CUpti_ActivityInstantaneousEventInstance}, f:: return unsafe_store!(getproperty(x, f), v) end +function Base.propertynames(x::CUpti_ActivityInstantaneousEventInstance, + private::Bool=false) + return (:kind, :id, :value, :timestamp, :deviceId, :instance, :pad, + if private + fieldnames(typeof(x)) + else + () + end...) +end + struct CUpti_ActivityInstantaneousMetric data::NTuple{32,UInt8} end @@ -3275,6 +3858,15 @@ function Base.setproperty!(x::Ptr{CUpti_ActivityInstantaneousMetric}, f::Symbol, return unsafe_store!(getproperty(x, f), v) end +function Base.propertynames(x::CUpti_ActivityInstantaneousMetric, private::Bool=false) + return (:kind, :id, :value, :timestamp, :deviceId, :flags, :pad, + if private + fieldnames(typeof(x)) + else + () + end...) +end + struct CUpti_ActivityInstantaneousMetricInstance data::NTuple{32,UInt8} end @@ -3302,6 +3894,16 @@ function Base.setproperty!(x::Ptr{CUpti_ActivityInstantaneousMetricInstance}, f: return unsafe_store!(getproperty(x, f), v) end +function Base.propertynames(x::CUpti_ActivityInstantaneousMetricInstance, + private::Bool=false) + return (:kind, :id, :value, :timestamp, :deviceId, :flags, :instance, :pad, + if private + fieldnames(typeof(x)) + else + () + end...) +end + @cenum CUpti_ActivityJitEntryType::UInt32 begin CUPTI_ACTIVITY_JIT_ENTRY_INVALID = 0 CUPTI_ACTIVITY_JIT_ENTRY_PTX_TO_CUBIN = 1 @@ -3349,6 +3951,16 @@ function Base.setproperty!(x::Ptr{CUpti_ActivityJit2}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end +function Base.propertynames(x::CUpti_ActivityJit2, private::Bool=false) + return (:kind, :jitEntryType, :jitOperationType, :deviceId, :start, :_end, + :correlationId, :padding, :jitOperationCorrelationId, :cacheSize, :cachePath, + :processId, :threadId, if private + fieldnames(typeof(x)) + else + () + end...) +end + struct CUpti_ActivityGraphTrace2 kind::CUpti_ActivityKind correlationId::UInt32 @@ -3675,6 +4287,11 @@ end @gcsafe_ccall libcupti.cuptiActivityEnableAllSyncRecords(enable::UInt8)::CUptiResult end +@checked function cuptiActivityEnableCudaEventDeviceTimestamps(enable) + initialize_context() + @gcsafe_ccall libcupti.cuptiActivityEnableCudaEventDeviceTimestamps(enable::UInt8)::CUptiResult +end + struct CUpti_ActivityOverhead data::NTuple{40,UInt8} end @@ -3700,6 +4317,15 @@ function Base.setproperty!(x::Ptr{CUpti_ActivityOverhead}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end +function Base.propertynames(x::CUpti_ActivityOverhead, private::Bool=false) + return (:kind, :overheadKind, :objectKind, :objectId, :start, :_end, + if private + fieldnames(typeof(x)) + else + () + end...) +end + struct CUpti_ActivityOverhead2 data::NTuple{48,UInt8} end @@ -3727,6 +4353,15 @@ function Base.setproperty!(x::Ptr{CUpti_ActivityOverhead2}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end +function Base.propertynames(x::CUpti_ActivityOverhead2, private::Bool=false) + return (:kind, :overheadKind, :objectKind, :objectId, :start, :_end, :correlationId, + :reserved0, if private + fieldnames(typeof(x)) + else + () + end...) +end + struct CUpti_ActivityDevice data::NTuple{120,UInt8} end @@ -3773,6 +4408,20 @@ function Base.setproperty!(x::Ptr{CUpti_ActivityDevice}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end +function Base.propertynames(x::CUpti_ActivityDevice, private::Bool=false) + return (:kind, :flags, :globalMemoryBandwidth, :globalMemorySize, :constantMemorySize, + :l2CacheSize, :numThreadsPerWarp, :coreClockRate, :numMemcpyEngines, + :numMultiprocessors, :maxIPC, :maxWarpsPerMultiprocessor, + :maxBlocksPerMultiprocessor, :maxRegistersPerBlock, :maxSharedMemoryPerBlock, + :maxThreadsPerBlock, :maxBlockDimX, :maxBlockDimY, :maxBlockDimZ, :maxGridDimX, + :maxGridDimY, :maxGridDimZ, :computeCapabilityMajor, :computeCapabilityMinor, + :id, :pad, :name, if private + fieldnames(typeof(x)) + else + () + end...) +end + struct CUpti_ActivityDevice2 data::NTuple{144,UInt8} end @@ -3822,6 +4471,21 @@ function Base.setproperty!(x::Ptr{CUpti_ActivityDevice2}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end +function Base.propertynames(x::CUpti_ActivityDevice2, private::Bool=false) + return (:kind, :flags, :globalMemoryBandwidth, :globalMemorySize, :constantMemorySize, + :l2CacheSize, :numThreadsPerWarp, :coreClockRate, :numMemcpyEngines, + :numMultiprocessors, :maxIPC, :maxWarpsPerMultiprocessor, + :maxBlocksPerMultiprocessor, :maxSharedMemoryPerMultiprocessor, + :maxRegistersPerMultiprocessor, :maxRegistersPerBlock, :maxSharedMemoryPerBlock, + :maxThreadsPerBlock, :maxBlockDimX, :maxBlockDimY, :maxBlockDimZ, :maxGridDimX, + :maxGridDimY, :maxGridDimZ, :computeCapabilityMajor, :computeCapabilityMinor, + :id, :eccEnabled, :uuid, :name, if private + fieldnames(typeof(x)) + else + () + end...) +end + struct CUpti_ActivityDevice3 data::NTuple{152,UInt8} end @@ -3873,6 +4537,22 @@ function Base.setproperty!(x::Ptr{CUpti_ActivityDevice3}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end +function Base.propertynames(x::CUpti_ActivityDevice3, private::Bool=false) + return (:kind, :flags, :globalMemoryBandwidth, :globalMemorySize, :constantMemorySize, + :l2CacheSize, :numThreadsPerWarp, :coreClockRate, :numMemcpyEngines, + :numMultiprocessors, :maxIPC, :maxWarpsPerMultiprocessor, + :maxBlocksPerMultiprocessor, :maxSharedMemoryPerMultiprocessor, + :maxRegistersPerMultiprocessor, :maxRegistersPerBlock, :maxSharedMemoryPerBlock, + :maxThreadsPerBlock, :maxBlockDimX, :maxBlockDimY, :maxBlockDimZ, :maxGridDimX, + :maxGridDimY, :maxGridDimZ, :computeCapabilityMajor, :computeCapabilityMinor, + :id, :eccEnabled, :uuid, :name, :isCudaVisible, :reserved, + if private + fieldnames(typeof(x)) + else + () + end...) +end + struct CUpti_ActivityDevice4 data::NTuple{176,UInt8} end @@ -3928,6 +4608,22 @@ function Base.setproperty!(x::Ptr{CUpti_ActivityDevice4}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end +function Base.propertynames(x::CUpti_ActivityDevice4, private::Bool=false) + return (:kind, :flags, :globalMemoryBandwidth, :globalMemorySize, :constantMemorySize, + :l2CacheSize, :numThreadsPerWarp, :coreClockRate, :numMemcpyEngines, + :numMultiprocessors, :maxIPC, :maxWarpsPerMultiprocessor, + :maxBlocksPerMultiprocessor, :maxSharedMemoryPerMultiprocessor, + :maxRegistersPerMultiprocessor, :maxRegistersPerBlock, :maxSharedMemoryPerBlock, + :maxThreadsPerBlock, :maxBlockDimX, :maxBlockDimY, :maxBlockDimZ, :maxGridDimX, + :maxGridDimY, :maxGridDimZ, :computeCapabilityMajor, :computeCapabilityMinor, + :id, :eccEnabled, :uuid, :name, :isCudaVisible, :isMigEnabled, :reserved, + :gpuInstanceId, :computeInstanceId, :migUuid, if private + fieldnames(typeof(x)) + else + () + end...) +end + struct CUpti_ActivityKernel data::NTuple{104,UInt8} end @@ -3971,42 +4667,54 @@ function Base.setproperty!(x::Ptr{CUpti_ActivityKernel}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end -struct var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:1092:3)" +function Base.propertynames(x::CUpti_ActivityKernel, private::Bool=false) + return (:kind, :cacheConfigRequested, :cacheConfigExecuted, :registersPerThread, :start, + :_end, :deviceId, :contextId, :streamId, :gridX, :gridY, :gridZ, :blockX, + :blockY, :blockZ, :staticSharedMemory, :dynamicSharedMemory, + :localMemoryPerThread, :localMemoryTotal, :correlationId, :runtimeCorrelationId, + :pad, :name, :reserved0, if private + fieldnames(typeof(x)) + else + () + end...) +end + +struct var"##Ctag#362" data::NTuple{1,UInt8} end -function Base.getproperty(x::Ptr{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:1092:3)"}, - f::Symbol) +function Base.getproperty(x::Ptr{var"##Ctag#362"}, f::Symbol) f === :both && return Ptr{UInt8}(x + 0) - f === :config && - return Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:1094:5)"}(x + - 0) + f === :config && return Ptr{var"##Ctag#363"}(x + 0) return getfield(x, f) end -function Base.getproperty(x::var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:1092:3)", - f::Symbol) - r = Ref{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:1092:3)"}(x) - ptr = Base.unsafe_convert(Ptr{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:1092:3)"}, - r) +function Base.getproperty(x::var"##Ctag#362", f::Symbol) + r = Ref{var"##Ctag#362"}(x) + ptr = Base.unsafe_convert(Ptr{var"##Ctag#362"}, r) fptr = getproperty(ptr, f) GC.@preserve r unsafe_load(fptr) end -function Base.setproperty!(x::Ptr{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:1092:3)"}, - f::Symbol, v) +function Base.setproperty!(x::Ptr{var"##Ctag#362"}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end +function Base.propertynames(x::var"##Ctag#362", private::Bool=false) + return (:both, :config, if private + fieldnames(typeof(x)) + else + () + end...) +end + struct CUpti_ActivityKernel2 data::NTuple{112,UInt8} end function Base.getproperty(x::Ptr{CUpti_ActivityKernel2}, f::Symbol) f === :kind && return Ptr{CUpti_ActivityKind}(x + 0) - f === :cacheConfig && - return Ptr{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:1092:3)"}(x + - 4) + f === :cacheConfig && return Ptr{var"##Ctag#362"}(x + 4) f === :sharedMemoryConfig && return Ptr{UInt8}(x + 5) f === :registersPerThread && return Ptr{UInt16}(x + 6) f === :start && return Ptr{UInt64}(x + 8) @@ -4043,42 +4751,54 @@ function Base.setproperty!(x::Ptr{CUpti_ActivityKernel2}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end -struct var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:1253:3)" +function Base.propertynames(x::CUpti_ActivityKernel2, private::Bool=false) + return (:kind, :cacheConfig, :sharedMemoryConfig, :registersPerThread, :start, :_end, + :completed, :deviceId, :contextId, :streamId, :gridX, :gridY, :gridZ, :blockX, + :blockY, :blockZ, :staticSharedMemory, :dynamicSharedMemory, + :localMemoryPerThread, :localMemoryTotal, :correlationId, :gridId, :name, + :reserved0, if private + fieldnames(typeof(x)) + else + () + end...) +end + +struct var"##Ctag#285" data::NTuple{1,UInt8} end -function Base.getproperty(x::Ptr{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:1253:3)"}, - f::Symbol) +function Base.getproperty(x::Ptr{var"##Ctag#285"}, f::Symbol) f === :both && return Ptr{UInt8}(x + 0) - f === :config && - return Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:1255:5)"}(x + - 0) + f === :config && return Ptr{var"##Ctag#286"}(x + 0) return getfield(x, f) end -function Base.getproperty(x::var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:1253:3)", - f::Symbol) - r = Ref{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:1253:3)"}(x) - ptr = Base.unsafe_convert(Ptr{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:1253:3)"}, - r) +function Base.getproperty(x::var"##Ctag#285", f::Symbol) + r = Ref{var"##Ctag#285"}(x) + ptr = Base.unsafe_convert(Ptr{var"##Ctag#285"}, r) fptr = getproperty(ptr, f) GC.@preserve r unsafe_load(fptr) end -function Base.setproperty!(x::Ptr{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:1253:3)"}, - f::Symbol, v) +function Base.setproperty!(x::Ptr{var"##Ctag#285"}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end +function Base.propertynames(x::var"##Ctag#285", private::Bool=false) + return (:both, :config, if private + fieldnames(typeof(x)) + else + () + end...) +end + struct CUpti_ActivityKernel3 data::NTuple{120,UInt8} end function Base.getproperty(x::Ptr{CUpti_ActivityKernel3}, f::Symbol) f === :kind && return Ptr{CUpti_ActivityKind}(x + 0) - f === :cacheConfig && - return Ptr{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:1253:3)"}(x + - 4) + f === :cacheConfig && return Ptr{var"##Ctag#285"}(x + 4) f === :sharedMemoryConfig && return Ptr{UInt8}(x + 5) f === :registersPerThread && return Ptr{UInt16}(x + 6) f === :partitionedGlobalCacheRequested && @@ -4119,42 +4839,55 @@ function Base.setproperty!(x::Ptr{CUpti_ActivityKernel3}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end -struct var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:1434:3)" +function Base.propertynames(x::CUpti_ActivityKernel3, private::Bool=false) + return (:kind, :cacheConfig, :sharedMemoryConfig, :registersPerThread, + :partitionedGlobalCacheRequested, :partitionedGlobalCacheExecuted, :start, + :_end, :completed, :deviceId, :contextId, :streamId, :gridX, :gridY, :gridZ, + :blockX, :blockY, :blockZ, :staticSharedMemory, :dynamicSharedMemory, + :localMemoryPerThread, :localMemoryTotal, :correlationId, :gridId, :name, + :reserved0, if private + fieldnames(typeof(x)) + else + () + end...) +end + +struct var"##Ctag#308" data::NTuple{1,UInt8} end -function Base.getproperty(x::Ptr{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:1434:3)"}, - f::Symbol) +function Base.getproperty(x::Ptr{var"##Ctag#308"}, f::Symbol) f === :both && return Ptr{UInt8}(x + 0) - f === :config && - return Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:1436:5)"}(x + - 0) + f === :config && return Ptr{var"##Ctag#309"}(x + 0) return getfield(x, f) end -function Base.getproperty(x::var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:1434:3)", - f::Symbol) - r = Ref{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:1434:3)"}(x) - ptr = Base.unsafe_convert(Ptr{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:1434:3)"}, - r) +function Base.getproperty(x::var"##Ctag#308", f::Symbol) + r = Ref{var"##Ctag#308"}(x) + ptr = Base.unsafe_convert(Ptr{var"##Ctag#308"}, r) fptr = getproperty(ptr, f) GC.@preserve r unsafe_load(fptr) end -function Base.setproperty!(x::Ptr{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:1434:3)"}, - f::Symbol, v) +function Base.setproperty!(x::Ptr{var"##Ctag#308"}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end +function Base.propertynames(x::var"##Ctag#308", private::Bool=false) + return (:both, :config, if private + fieldnames(typeof(x)) + else + () + end...) +end + struct CUpti_ActivityKernel4 data::NTuple{144,UInt8} end function Base.getproperty(x::Ptr{CUpti_ActivityKernel4}, f::Symbol) f === :kind && return Ptr{CUpti_ActivityKind}(x + 0) - f === :cacheConfig && - return Ptr{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:1434:3)"}(x + - 4) + f === :cacheConfig && return Ptr{var"##Ctag#308"}(x + 4) f === :sharedMemoryConfig && return Ptr{UInt8}(x + 5) f === :registersPerThread && return Ptr{UInt16}(x + 6) f === :partitionedGlobalCacheRequested && @@ -4202,42 +4935,57 @@ function Base.setproperty!(x::Ptr{CUpti_ActivityKernel4}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end -struct var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:1667:3)" +function Base.propertynames(x::CUpti_ActivityKernel4, private::Bool=false) + return (:kind, :cacheConfig, :sharedMemoryConfig, :registersPerThread, + :partitionedGlobalCacheRequested, :partitionedGlobalCacheExecuted, :start, + :_end, :completed, :deviceId, :contextId, :streamId, :gridX, :gridY, :gridZ, + :blockX, :blockY, :blockZ, :staticSharedMemory, :dynamicSharedMemory, + :localMemoryPerThread, :localMemoryTotal, :correlationId, :gridId, :name, + :reserved0, :queued, :submitted, :launchType, :isSharedMemoryCarveoutRequested, + :sharedMemoryCarveoutRequested, :padding, :sharedMemoryExecuted, + if private + fieldnames(typeof(x)) + else + () + end...) +end + +struct var"##Ctag#342" data::NTuple{1,UInt8} end -function Base.getproperty(x::Ptr{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:1667:3)"}, - f::Symbol) +function Base.getproperty(x::Ptr{var"##Ctag#342"}, f::Symbol) f === :both && return Ptr{UInt8}(x + 0) - f === :config && - return Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:1669:5)"}(x + - 0) + f === :config && return Ptr{var"##Ctag#343"}(x + 0) return getfield(x, f) end -function Base.getproperty(x::var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:1667:3)", - f::Symbol) - r = Ref{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:1667:3)"}(x) - ptr = Base.unsafe_convert(Ptr{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:1667:3)"}, - r) +function Base.getproperty(x::var"##Ctag#342", f::Symbol) + r = Ref{var"##Ctag#342"}(x) + ptr = Base.unsafe_convert(Ptr{var"##Ctag#342"}, r) fptr = getproperty(ptr, f) GC.@preserve r unsafe_load(fptr) end -function Base.setproperty!(x::Ptr{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:1667:3)"}, - f::Symbol, v) +function Base.setproperty!(x::Ptr{var"##Ctag#342"}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end +function Base.propertynames(x::var"##Ctag#342", private::Bool=false) + return (:both, :config, if private + fieldnames(typeof(x)) + else + () + end...) +end + struct CUpti_ActivityKernel5 data::NTuple{160,UInt8} end function Base.getproperty(x::Ptr{CUpti_ActivityKernel5}, f::Symbol) f === :kind && return Ptr{CUpti_ActivityKind}(x + 0) - f === :cacheConfig && - return Ptr{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:1667:3)"}(x + - 4) + f === :cacheConfig && return Ptr{var"##Ctag#342"}(x + 4) f === :sharedMemoryConfig && return Ptr{UInt8}(x + 5) f === :registersPerThread && return Ptr{UInt16}(x + 6) f === :partitionedGlobalCacheRequested && @@ -4288,42 +5036,57 @@ function Base.setproperty!(x::Ptr{CUpti_ActivityKernel5}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end -struct var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:1918:3)" +function Base.propertynames(x::CUpti_ActivityKernel5, private::Bool=false) + return (:kind, :cacheConfig, :sharedMemoryConfig, :registersPerThread, + :partitionedGlobalCacheRequested, :partitionedGlobalCacheExecuted, :start, + :_end, :completed, :deviceId, :contextId, :streamId, :gridX, :gridY, :gridZ, + :blockX, :blockY, :blockZ, :staticSharedMemory, :dynamicSharedMemory, + :localMemoryPerThread, :localMemoryTotal, :correlationId, :gridId, :name, + :reserved0, :queued, :submitted, :launchType, :isSharedMemoryCarveoutRequested, + :sharedMemoryCarveoutRequested, :padding, :sharedMemoryExecuted, :graphNodeId, + :shmemLimitConfig, :graphId, if private + fieldnames(typeof(x)) + else + () + end...) +end + +struct var"##Ctag#289" data::NTuple{1,UInt8} end -function Base.getproperty(x::Ptr{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:1918:3)"}, - f::Symbol) +function Base.getproperty(x::Ptr{var"##Ctag#289"}, f::Symbol) f === :both && return Ptr{UInt8}(x + 0) - f === :config && - return Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:1920:5)"}(x + - 0) + f === :config && return Ptr{var"##Ctag#290"}(x + 0) return getfield(x, f) end -function Base.getproperty(x::var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:1918:3)", - f::Symbol) - r = Ref{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:1918:3)"}(x) - ptr = Base.unsafe_convert(Ptr{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:1918:3)"}, - r) +function Base.getproperty(x::var"##Ctag#289", f::Symbol) + r = Ref{var"##Ctag#289"}(x) + ptr = Base.unsafe_convert(Ptr{var"##Ctag#289"}, r) fptr = getproperty(ptr, f) GC.@preserve r unsafe_load(fptr) end -function Base.setproperty!(x::Ptr{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:1918:3)"}, - f::Symbol, v) +function Base.setproperty!(x::Ptr{var"##Ctag#289"}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end +function Base.propertynames(x::var"##Ctag#289", private::Bool=false) + return (:both, :config, if private + fieldnames(typeof(x)) + else + () + end...) +end + struct CUpti_ActivityKernel6 data::NTuple{168,UInt8} end function Base.getproperty(x::Ptr{CUpti_ActivityKernel6}, f::Symbol) f === :kind && return Ptr{CUpti_ActivityKind}(x + 0) - f === :cacheConfig && - return Ptr{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:1918:3)"}(x + - 4) + f === :cacheConfig && return Ptr{var"##Ctag#289"}(x + 4) f === :sharedMemoryConfig && return Ptr{UInt8}(x + 5) f === :registersPerThread && return Ptr{UInt16}(x + 6) f === :partitionedGlobalCacheRequested && @@ -4375,42 +5138,57 @@ function Base.setproperty!(x::Ptr{CUpti_ActivityKernel6}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end -struct var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:2175:3)" +function Base.propertynames(x::CUpti_ActivityKernel6, private::Bool=false) + return (:kind, :cacheConfig, :sharedMemoryConfig, :registersPerThread, + :partitionedGlobalCacheRequested, :partitionedGlobalCacheExecuted, :start, + :_end, :completed, :deviceId, :contextId, :streamId, :gridX, :gridY, :gridZ, + :blockX, :blockY, :blockZ, :staticSharedMemory, :dynamicSharedMemory, + :localMemoryPerThread, :localMemoryTotal, :correlationId, :gridId, :name, + :reserved0, :queued, :submitted, :launchType, :isSharedMemoryCarveoutRequested, + :sharedMemoryCarveoutRequested, :padding, :sharedMemoryExecuted, :graphNodeId, + :shmemLimitConfig, :graphId, :pAccessPolicyWindow, if private + fieldnames(typeof(x)) + else + () + end...) +end + +struct var"##Ctag#292" data::NTuple{1,UInt8} end -function Base.getproperty(x::Ptr{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:2175:3)"}, - f::Symbol) +function Base.getproperty(x::Ptr{var"##Ctag#292"}, f::Symbol) f === :both && return Ptr{UInt8}(x + 0) - f === :config && - return Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:2177:5)"}(x + - 0) + f === :config && return Ptr{var"##Ctag#293"}(x + 0) return getfield(x, f) end -function Base.getproperty(x::var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:2175:3)", - f::Symbol) - r = Ref{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:2175:3)"}(x) - ptr = Base.unsafe_convert(Ptr{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:2175:3)"}, - r) +function Base.getproperty(x::var"##Ctag#292", f::Symbol) + r = Ref{var"##Ctag#292"}(x) + ptr = Base.unsafe_convert(Ptr{var"##Ctag#292"}, r) fptr = getproperty(ptr, f) GC.@preserve r unsafe_load(fptr) end -function Base.setproperty!(x::Ptr{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:2175:3)"}, - f::Symbol, v) +function Base.setproperty!(x::Ptr{var"##Ctag#292"}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end +function Base.propertynames(x::var"##Ctag#292", private::Bool=false) + return (:both, :config, if private + fieldnames(typeof(x)) + else + () + end...) +end + struct CUpti_ActivityKernel7 data::NTuple{176,UInt8} end function Base.getproperty(x::Ptr{CUpti_ActivityKernel7}, f::Symbol) f === :kind && return Ptr{CUpti_ActivityKind}(x + 0) - f === :cacheConfig && - return Ptr{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:2175:3)"}(x + - 4) + f === :cacheConfig && return Ptr{var"##Ctag#292"}(x + 4) f === :sharedMemoryConfig && return Ptr{UInt8}(x + 5) f === :registersPerThread && return Ptr{UInt16}(x + 6) f === :partitionedGlobalCacheRequested && @@ -4464,42 +5242,58 @@ function Base.setproperty!(x::Ptr{CUpti_ActivityKernel7}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end -struct var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:2440:3)" +function Base.propertynames(x::CUpti_ActivityKernel7, private::Bool=false) + return (:kind, :cacheConfig, :sharedMemoryConfig, :registersPerThread, + :partitionedGlobalCacheRequested, :partitionedGlobalCacheExecuted, :start, + :_end, :completed, :deviceId, :contextId, :streamId, :gridX, :gridY, :gridZ, + :blockX, :blockY, :blockZ, :staticSharedMemory, :dynamicSharedMemory, + :localMemoryPerThread, :localMemoryTotal, :correlationId, :gridId, :name, + :reserved0, :queued, :submitted, :launchType, :isSharedMemoryCarveoutRequested, + :sharedMemoryCarveoutRequested, :padding, :sharedMemoryExecuted, :graphNodeId, + :shmemLimitConfig, :graphId, :pAccessPolicyWindow, :channelID, :channelType, + if private + fieldnames(typeof(x)) + else + () + end...) +end + +struct var"##Ctag#376" data::NTuple{1,UInt8} end -function Base.getproperty(x::Ptr{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:2440:3)"}, - f::Symbol) +function Base.getproperty(x::Ptr{var"##Ctag#376"}, f::Symbol) f === :both && return Ptr{UInt8}(x + 0) - f === :config && - return Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:2442:5)"}(x + - 0) + f === :config && return Ptr{var"##Ctag#377"}(x + 0) return getfield(x, f) end -function Base.getproperty(x::var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:2440:3)", - f::Symbol) - r = Ref{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:2440:3)"}(x) - ptr = Base.unsafe_convert(Ptr{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:2440:3)"}, - r) +function Base.getproperty(x::var"##Ctag#376", f::Symbol) + r = Ref{var"##Ctag#376"}(x) + ptr = Base.unsafe_convert(Ptr{var"##Ctag#376"}, r) fptr = getproperty(ptr, f) GC.@preserve r unsafe_load(fptr) end -function Base.setproperty!(x::Ptr{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:2440:3)"}, - f::Symbol, v) +function Base.setproperty!(x::Ptr{var"##Ctag#376"}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end +function Base.propertynames(x::var"##Ctag#376", private::Bool=false) + return (:both, :config, if private + fieldnames(typeof(x)) + else + () + end...) +end + struct CUpti_ActivityKernel8 data::NTuple{200,UInt8} end function Base.getproperty(x::Ptr{CUpti_ActivityKernel8}, f::Symbol) f === :kind && return Ptr{CUpti_ActivityKind}(x + 0) - f === :cacheConfig && - return Ptr{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:2440:3)"}(x + - 4) + f === :cacheConfig && return Ptr{var"##Ctag#376"}(x + 4) f === :sharedMemoryConfig && return Ptr{UInt8}(x + 5) f === :registersPerThread && return Ptr{UInt16}(x + 6) f === :partitionedGlobalCacheRequested && @@ -4558,46 +5352,186 @@ function Base.setproperty!(x::Ptr{CUpti_ActivityKernel8}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end -struct CUpti_ActivityMemcpy - data::NTuple{64,UInt8} +function Base.propertynames(x::CUpti_ActivityKernel8, private::Bool=false) + return (:kind, :cacheConfig, :sharedMemoryConfig, :registersPerThread, + :partitionedGlobalCacheRequested, :partitionedGlobalCacheExecuted, :start, + :_end, :completed, :deviceId, :contextId, :streamId, :gridX, :gridY, :gridZ, + :blockX, :blockY, :blockZ, :staticSharedMemory, :dynamicSharedMemory, + :localMemoryPerThread, :localMemoryTotal, :correlationId, :gridId, :name, + :reserved0, :queued, :submitted, :launchType, :isSharedMemoryCarveoutRequested, + :sharedMemoryCarveoutRequested, :padding, :sharedMemoryExecuted, :graphNodeId, + :shmemLimitConfig, :graphId, :pAccessPolicyWindow, :channelID, :channelType, + :clusterX, :clusterY, :clusterZ, :clusterSchedulingPolicy, :localMemoryTotal_v2, + if private + fieldnames(typeof(x)) + else + () + end...) end -function Base.getproperty(x::Ptr{CUpti_ActivityMemcpy}, f::Symbol) - f === :kind && return Ptr{CUpti_ActivityKind}(x + 0) - f === :copyKind && return Ptr{UInt8}(x + 4) - f === :srcKind && return Ptr{UInt8}(x + 5) - f === :dstKind && return Ptr{UInt8}(x + 6) - f === :flags && return Ptr{UInt8}(x + 7) - f === :bytes && return Ptr{UInt64}(x + 8) - f === :start && return Ptr{UInt64}(x + 16) - f === :_end && return Ptr{UInt64}(x + 24) - f === :deviceId && return Ptr{UInt32}(x + 32) - f === :contextId && return Ptr{UInt32}(x + 36) - f === :streamId && return Ptr{UInt32}(x + 40) - f === :correlationId && return Ptr{UInt32}(x + 44) - f === :runtimeCorrelationId && return Ptr{UInt32}(x + 48) - f === :pad && return Ptr{UInt32}(x + 52) - f === :reserved0 && return Ptr{Ptr{Cvoid}}(x + 56) +struct var"##Ctag#351" + data::NTuple{1,UInt8} +end + +function Base.getproperty(x::Ptr{var"##Ctag#351"}, f::Symbol) + f === :both && return Ptr{UInt8}(x + 0) + f === :config && return Ptr{var"##Ctag#352"}(x + 0) return getfield(x, f) end -function Base.getproperty(x::CUpti_ActivityMemcpy, f::Symbol) - r = Ref{CUpti_ActivityMemcpy}(x) - ptr = Base.unsafe_convert(Ptr{CUpti_ActivityMemcpy}, r) +function Base.getproperty(x::var"##Ctag#351", f::Symbol) + r = Ref{var"##Ctag#351"}(x) + ptr = Base.unsafe_convert(Ptr{var"##Ctag#351"}, r) fptr = getproperty(ptr, f) GC.@preserve r unsafe_load(fptr) end -function Base.setproperty!(x::Ptr{CUpti_ActivityMemcpy}, f::Symbol, v) +function Base.setproperty!(x::Ptr{var"##Ctag#351"}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end -struct CUpti_ActivityMemcpy3 - data::NTuple{72,UInt8} +function Base.propertynames(x::var"##Ctag#351", private::Bool=false) + return (:both, :config, if private + fieldnames(typeof(x)) + else + () + end...) end -function Base.getproperty(x::Ptr{CUpti_ActivityMemcpy3}, f::Symbol) - f === :kind && return Ptr{CUpti_ActivityKind}(x + 0) +struct CUpti_ActivityKernel9 + data::NTuple{208,UInt8} +end + +function Base.getproperty(x::Ptr{CUpti_ActivityKernel9}, f::Symbol) + f === :kind && return Ptr{CUpti_ActivityKind}(x + 0) + f === :cacheConfig && return Ptr{var"##Ctag#351"}(x + 4) + f === :sharedMemoryConfig && return Ptr{UInt8}(x + 5) + f === :registersPerThread && return Ptr{UInt16}(x + 6) + f === :partitionedGlobalCacheRequested && + return Ptr{CUpti_ActivityPartitionedGlobalCacheConfig}(x + 8) + f === :partitionedGlobalCacheExecuted && + return Ptr{CUpti_ActivityPartitionedGlobalCacheConfig}(x + 12) + f === :start && return Ptr{UInt64}(x + 16) + f === :_end && return Ptr{UInt64}(x + 24) + f === :completed && return Ptr{UInt64}(x + 32) + f === :deviceId && return Ptr{UInt32}(x + 40) + f === :contextId && return Ptr{UInt32}(x + 44) + f === :streamId && return Ptr{UInt32}(x + 48) + f === :gridX && return Ptr{Int32}(x + 52) + f === :gridY && return Ptr{Int32}(x + 56) + f === :gridZ && return Ptr{Int32}(x + 60) + f === :blockX && return Ptr{Int32}(x + 64) + f === :blockY && return Ptr{Int32}(x + 68) + f === :blockZ && return Ptr{Int32}(x + 72) + f === :staticSharedMemory && return Ptr{Int32}(x + 76) + f === :dynamicSharedMemory && return Ptr{Int32}(x + 80) + f === :localMemoryPerThread && return Ptr{UInt32}(x + 84) + f === :localMemoryTotal && return Ptr{UInt32}(x + 88) + f === :correlationId && return Ptr{UInt32}(x + 92) + f === :gridId && return Ptr{Int64}(x + 96) + f === :name && return Ptr{Cstring}(x + 104) + f === :reserved0 && return Ptr{Ptr{Cvoid}}(x + 112) + f === :queued && return Ptr{UInt64}(x + 120) + f === :submitted && return Ptr{UInt64}(x + 128) + f === :launchType && return Ptr{UInt8}(x + 136) + f === :isSharedMemoryCarveoutRequested && return Ptr{UInt8}(x + 137) + f === :sharedMemoryCarveoutRequested && return Ptr{UInt8}(x + 138) + f === :padding && return Ptr{UInt8}(x + 139) + f === :sharedMemoryExecuted && return Ptr{UInt32}(x + 140) + f === :graphNodeId && return Ptr{UInt64}(x + 144) + f === :shmemLimitConfig && return Ptr{CUpti_FuncShmemLimitConfig}(x + 152) + f === :graphId && return Ptr{UInt32}(x + 156) + f === :pAccessPolicyWindow && return Ptr{Ptr{CUaccessPolicyWindow}}(x + 160) + f === :channelID && return Ptr{UInt32}(x + 168) + f === :channelType && return Ptr{CUpti_ChannelType}(x + 172) + f === :clusterX && return Ptr{UInt32}(x + 176) + f === :clusterY && return Ptr{UInt32}(x + 180) + f === :clusterZ && return Ptr{UInt32}(x + 184) + f === :clusterSchedulingPolicy && return Ptr{UInt32}(x + 188) + f === :localMemoryTotal_v2 && return Ptr{UInt64}(x + 192) + f === :maxPotentialClusterSize && return Ptr{UInt32}(x + 200) + f === :maxActiveClusters && return Ptr{UInt32}(x + 204) + return getfield(x, f) +end + +function Base.getproperty(x::CUpti_ActivityKernel9, f::Symbol) + r = Ref{CUpti_ActivityKernel9}(x) + ptr = Base.unsafe_convert(Ptr{CUpti_ActivityKernel9}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +function Base.setproperty!(x::Ptr{CUpti_ActivityKernel9}, f::Symbol, v) + return unsafe_store!(getproperty(x, f), v) +end + +function Base.propertynames(x::CUpti_ActivityKernel9, private::Bool=false) + return (:kind, :cacheConfig, :sharedMemoryConfig, :registersPerThread, + :partitionedGlobalCacheRequested, :partitionedGlobalCacheExecuted, :start, + :_end, :completed, :deviceId, :contextId, :streamId, :gridX, :gridY, :gridZ, + :blockX, :blockY, :blockZ, :staticSharedMemory, :dynamicSharedMemory, + :localMemoryPerThread, :localMemoryTotal, :correlationId, :gridId, :name, + :reserved0, :queued, :submitted, :launchType, :isSharedMemoryCarveoutRequested, + :sharedMemoryCarveoutRequested, :padding, :sharedMemoryExecuted, :graphNodeId, + :shmemLimitConfig, :graphId, :pAccessPolicyWindow, :channelID, :channelType, + :clusterX, :clusterY, :clusterZ, :clusterSchedulingPolicy, :localMemoryTotal_v2, + :maxPotentialClusterSize, :maxActiveClusters, if private + fieldnames(typeof(x)) + else + () + end...) +end + +struct CUpti_ActivityMemcpy + data::NTuple{64,UInt8} +end + +function Base.getproperty(x::Ptr{CUpti_ActivityMemcpy}, f::Symbol) + f === :kind && return Ptr{CUpti_ActivityKind}(x + 0) + f === :copyKind && return Ptr{UInt8}(x + 4) + f === :srcKind && return Ptr{UInt8}(x + 5) + f === :dstKind && return Ptr{UInt8}(x + 6) + f === :flags && return Ptr{UInt8}(x + 7) + f === :bytes && return Ptr{UInt64}(x + 8) + f === :start && return Ptr{UInt64}(x + 16) + f === :_end && return Ptr{UInt64}(x + 24) + f === :deviceId && return Ptr{UInt32}(x + 32) + f === :contextId && return Ptr{UInt32}(x + 36) + f === :streamId && return Ptr{UInt32}(x + 40) + f === :correlationId && return Ptr{UInt32}(x + 44) + f === :runtimeCorrelationId && return Ptr{UInt32}(x + 48) + f === :pad && return Ptr{UInt32}(x + 52) + f === :reserved0 && return Ptr{Ptr{Cvoid}}(x + 56) + return getfield(x, f) +end + +function Base.getproperty(x::CUpti_ActivityMemcpy, f::Symbol) + r = Ref{CUpti_ActivityMemcpy}(x) + ptr = Base.unsafe_convert(Ptr{CUpti_ActivityMemcpy}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +function Base.setproperty!(x::Ptr{CUpti_ActivityMemcpy}, f::Symbol, v) + return unsafe_store!(getproperty(x, f), v) +end + +function Base.propertynames(x::CUpti_ActivityMemcpy, private::Bool=false) + return (:kind, :copyKind, :srcKind, :dstKind, :flags, :bytes, :start, :_end, :deviceId, + :contextId, :streamId, :correlationId, :runtimeCorrelationId, :pad, :reserved0, + if private + fieldnames(typeof(x)) + else + () + end...) +end + +struct CUpti_ActivityMemcpy3 + data::NTuple{72,UInt8} +end + +function Base.getproperty(x::Ptr{CUpti_ActivityMemcpy3}, f::Symbol) + f === :kind && return Ptr{CUpti_ActivityKind}(x + 0) f === :copyKind && return Ptr{UInt8}(x + 4) f === :srcKind && return Ptr{UInt8}(x + 5) f === :dstKind && return Ptr{UInt8}(x + 6) @@ -4627,6 +5561,16 @@ function Base.setproperty!(x::Ptr{CUpti_ActivityMemcpy3}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end +function Base.propertynames(x::CUpti_ActivityMemcpy3, private::Bool=false) + return (:kind, :copyKind, :srcKind, :dstKind, :flags, :bytes, :start, :_end, :deviceId, + :contextId, :streamId, :correlationId, :runtimeCorrelationId, :pad, :reserved0, + :graphNodeId, if private + fieldnames(typeof(x)) + else + () + end...) +end + struct CUpti_ActivityMemcpy4 data::NTuple{80,UInt8} end @@ -4664,6 +5608,16 @@ function Base.setproperty!(x::Ptr{CUpti_ActivityMemcpy4}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end +function Base.propertynames(x::CUpti_ActivityMemcpy4, private::Bool=false) + return (:kind, :copyKind, :srcKind, :dstKind, :flags, :bytes, :start, :_end, :deviceId, + :contextId, :streamId, :correlationId, :runtimeCorrelationId, :pad, :reserved0, + :graphNodeId, :graphId, :padding, if private + fieldnames(typeof(x)) + else + () + end...) +end + struct CUpti_ActivityMemcpyPtoP data::NTuple{72,UInt8} end @@ -4700,6 +5654,16 @@ function Base.setproperty!(x::Ptr{CUpti_ActivityMemcpyPtoP}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end +function Base.propertynames(x::CUpti_ActivityMemcpyPtoP, private::Bool=false) + return (:kind, :copyKind, :srcKind, :dstKind, :flags, :bytes, :start, :_end, :deviceId, + :contextId, :streamId, :srcDeviceId, :srcContextId, :dstDeviceId, :dstContextId, + :correlationId, :reserved0, if private + fieldnames(typeof(x)) + else + () + end...) +end + const CUpti_ActivityMemcpy2 = CUpti_ActivityMemcpyPtoP struct CUpti_ActivityMemcpyPtoP2 @@ -4739,6 +5703,16 @@ function Base.setproperty!(x::Ptr{CUpti_ActivityMemcpyPtoP2}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end +function Base.propertynames(x::CUpti_ActivityMemcpyPtoP2, private::Bool=false) + return (:kind, :copyKind, :srcKind, :dstKind, :flags, :bytes, :start, :_end, :deviceId, + :contextId, :streamId, :srcDeviceId, :srcContextId, :dstDeviceId, :dstContextId, + :correlationId, :reserved0, :graphNodeId, if private + fieldnames(typeof(x)) + else + () + end...) +end + struct CUpti_ActivityMemcpyPtoP3 data::NTuple{88,UInt8} end @@ -4778,6 +5752,17 @@ function Base.setproperty!(x::Ptr{CUpti_ActivityMemcpyPtoP3}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end +function Base.propertynames(x::CUpti_ActivityMemcpyPtoP3, private::Bool=false) + return (:kind, :copyKind, :srcKind, :dstKind, :flags, :bytes, :start, :_end, :deviceId, + :contextId, :streamId, :srcDeviceId, :srcContextId, :dstDeviceId, :dstContextId, + :correlationId, :reserved0, :graphNodeId, :graphId, :padding, + if private + fieldnames(typeof(x)) + else + () + end...) +end + struct CUpti_ActivityMemset data::NTuple{64,UInt8} end @@ -4810,6 +5795,16 @@ function Base.setproperty!(x::Ptr{CUpti_ActivityMemset}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end +function Base.propertynames(x::CUpti_ActivityMemset, private::Bool=false) + return (:kind, :value, :bytes, :start, :_end, :deviceId, :contextId, :streamId, + :correlationId, :flags, :memoryKind, :pad, :reserved0, + if private + fieldnames(typeof(x)) + else + () + end...) +end + struct CUpti_ActivityMemset2 data::NTuple{72,UInt8} end @@ -4843,6 +5838,16 @@ function Base.setproperty!(x::Ptr{CUpti_ActivityMemset2}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end +function Base.propertynames(x::CUpti_ActivityMemset2, private::Bool=false) + return (:kind, :value, :bytes, :start, :_end, :deviceId, :contextId, :streamId, + :correlationId, :flags, :memoryKind, :pad, :reserved0, :graphNodeId, + if private + fieldnames(typeof(x)) + else + () + end...) +end + struct CUpti_ActivityMemset3 data::NTuple{80,UInt8} end @@ -4878,61 +5883,78 @@ function Base.setproperty!(x::Ptr{CUpti_ActivityMemset3}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end -struct var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:3795:4)" +function Base.propertynames(x::CUpti_ActivityMemset3, private::Bool=false) + return (:kind, :value, :bytes, :start, :_end, :deviceId, :contextId, :streamId, + :correlationId, :flags, :memoryKind, :pad, :reserved0, :graphNodeId, :graphId, + :padding, if private + fieldnames(typeof(x)) + else + () + end...) +end + +struct var"##Ctag#329" data::NTuple{8,UInt8} end -function Base.getproperty(x::Ptr{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:3795:4)"}, - f::Symbol) +function Base.getproperty(x::Ptr{var"##Ctag#329"}, f::Symbol) f === :size && return Ptr{UInt64}(x + 0) f === :processId && return Ptr{UInt64}(x + 0) return getfield(x, f) end -function Base.getproperty(x::var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:3795:4)", - f::Symbol) - r = Ref{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:3795:4)"}(x) - ptr = Base.unsafe_convert(Ptr{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:3795:4)"}, - r) +function Base.getproperty(x::var"##Ctag#329", f::Symbol) + r = Ref{var"##Ctag#329"}(x) + ptr = Base.unsafe_convert(Ptr{var"##Ctag#329"}, r) fptr = getproperty(ptr, f) GC.@preserve r unsafe_load(fptr) end -function Base.setproperty!(x::Ptr{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:3795:4)"}, - f::Symbol, v) +function Base.setproperty!(x::Ptr{var"##Ctag#329"}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end -struct var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:3764:3)" +function Base.propertynames(x::var"##Ctag#329", private::Bool=false) + return (:size, :processId, if private + fieldnames(typeof(x)) + else + () + end...) +end + +struct var"##Ctag#328" data::NTuple{32,UInt8} end -function Base.getproperty(x::Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:3764:3)"}, - f::Symbol) +function Base.getproperty(x::Ptr{var"##Ctag#328"}, f::Symbol) f === :memoryPoolType && return Ptr{CUpti_ActivityMemoryPoolType}(x + 0) f === :pad2 && return Ptr{UInt32}(x + 4) f === :address && return Ptr{UInt64}(x + 8) f === :releaseThreshold && return Ptr{UInt64}(x + 16) - f === :pool && - return Ptr{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:3795:4)"}(x + - 24) + f === :pool && return Ptr{var"##Ctag#329"}(x + 24) return getfield(x, f) end -function Base.getproperty(x::var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:3764:3)", - f::Symbol) - r = Ref{var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:3764:3)"}(x) - ptr = Base.unsafe_convert(Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:3764:3)"}, - r) +function Base.getproperty(x::var"##Ctag#328", f::Symbol) + r = Ref{var"##Ctag#328"}(x) + ptr = Base.unsafe_convert(Ptr{var"##Ctag#328"}, r) fptr = getproperty(ptr, f) GC.@preserve r unsafe_load(fptr) end -function Base.setproperty!(x::Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:3764:3)"}, - f::Symbol, v) +function Base.setproperty!(x::Ptr{var"##Ctag#328"}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end +function Base.propertynames(x::var"##Ctag#328", private::Bool=false) + return (:memoryPoolType, :pad2, :address, :releaseThreshold, :pool, + if private + fieldnames(typeof(x)) + else + () + end...) +end + struct CUpti_ActivityMemory2 data::NTuple{112,UInt8} end @@ -4953,9 +5975,7 @@ function Base.getproperty(x::Ptr{CUpti_ActivityMemory2}, f::Symbol) f === :name && return Ptr{Cstring}(x + 64) f === :isAsync && return Ptr{UInt32}(x + 72) f === :pad1 && return Ptr{UInt32}(x + 76) - f === :memoryPoolConfig && - return Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:3764:3)"}(x + - 80) + f === :memoryPoolConfig && return Ptr{Cvoid}(x + 80) return getfield(x, f) end @@ -4970,62 +5990,79 @@ function Base.setproperty!(x::Ptr{CUpti_ActivityMemory2}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end -struct var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:3936:5)" +function Base.propertynames(x::CUpti_ActivityMemory2, private::Bool=false) + return (:kind, :memoryOperationType, :memoryKind, :correlationId, :address, :bytes, + :timestamp, :PC, :processId, :deviceId, :contextId, :streamId, :name, :isAsync, + :pad1, :memoryPoolConfig, if private + fieldnames(typeof(x)) + else + () + end...) +end + +struct var"##Ctag#313" data::NTuple{8,UInt8} end -function Base.getproperty(x::Ptr{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:3936:5)"}, - f::Symbol) +function Base.getproperty(x::Ptr{var"##Ctag#313"}, f::Symbol) f === :size && return Ptr{UInt64}(x + 0) f === :processId && return Ptr{UInt64}(x + 0) return getfield(x, f) end -function Base.getproperty(x::var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:3936:5)", - f::Symbol) - r = Ref{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:3936:5)"}(x) - ptr = Base.unsafe_convert(Ptr{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:3936:5)"}, - r) +function Base.getproperty(x::var"##Ctag#313", f::Symbol) + r = Ref{var"##Ctag#313"}(x) + ptr = Base.unsafe_convert(Ptr{var"##Ctag#313"}, r) fptr = getproperty(ptr, f) GC.@preserve r unsafe_load(fptr) end -function Base.setproperty!(x::Ptr{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:3936:5)"}, - f::Symbol, v) +function Base.setproperty!(x::Ptr{var"##Ctag#313"}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end -struct var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:3905:3)" +function Base.propertynames(x::var"##Ctag#313", private::Bool=false) + return (:size, :processId, if private + fieldnames(typeof(x)) + else + () + end...) +end + +struct var"##Ctag#312" data::NTuple{40,UInt8} end -function Base.getproperty(x::Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:3905:3)"}, - f::Symbol) +function Base.getproperty(x::Ptr{var"##Ctag#312"}, f::Symbol) f === :memoryPoolType && return Ptr{CUpti_ActivityMemoryPoolType}(x + 0) f === :pad2 && return Ptr{UInt32}(x + 4) f === :address && return Ptr{UInt64}(x + 8) f === :releaseThreshold && return Ptr{UInt64}(x + 16) - f === :pool && - return Ptr{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:3936:5)"}(x + - 24) + f === :pool && return Ptr{var"##Ctag#313"}(x + 24) f === :utilizedSize && return Ptr{UInt64}(x + 32) return getfield(x, f) end -function Base.getproperty(x::var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:3905:3)", - f::Symbol) - r = Ref{var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:3905:3)"}(x) - ptr = Base.unsafe_convert(Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:3905:3)"}, - r) +function Base.getproperty(x::var"##Ctag#312", f::Symbol) + r = Ref{var"##Ctag#312"}(x) + ptr = Base.unsafe_convert(Ptr{var"##Ctag#312"}, r) fptr = getproperty(ptr, f) GC.@preserve r unsafe_load(fptr) end -function Base.setproperty!(x::Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:3905:3)"}, - f::Symbol, v) +function Base.setproperty!(x::Ptr{var"##Ctag#312"}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end +function Base.propertynames(x::var"##Ctag#312", private::Bool=false) + return (:memoryPoolType, :pad2, :address, :releaseThreshold, :pool, :utilizedSize, + if private + fieldnames(typeof(x)) + else + () + end...) +end + struct CUpti_ActivityMemory3 data::NTuple{120,UInt8} end @@ -5046,9 +6083,7 @@ function Base.getproperty(x::Ptr{CUpti_ActivityMemory3}, f::Symbol) f === :name && return Ptr{Cstring}(x + 64) f === :isAsync && return Ptr{UInt32}(x + 72) f === :pad1 && return Ptr{UInt32}(x + 76) - f === :memoryPoolConfig && - return Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:3905:3)"}(x + - 80) + f === :memoryPoolConfig && return Ptr{Cvoid}(x + 80) return getfield(x, f) end @@ -5063,6 +6098,16 @@ function Base.setproperty!(x::Ptr{CUpti_ActivityMemory3}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end +function Base.propertynames(x::CUpti_ActivityMemory3, private::Bool=false) + return (:kind, :memoryOperationType, :memoryKind, :correlationId, :address, :bytes, + :timestamp, :PC, :processId, :deviceId, :contextId, :streamId, :name, :isAsync, + :pad1, :memoryPoolConfig, if private + fieldnames(typeof(x)) + else + () + end...) +end + struct CUpti_ActivityMemoryPool data::NTuple{64,UInt8} end @@ -5094,6 +6139,58 @@ function Base.setproperty!(x::Ptr{CUpti_ActivityMemoryPool}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end +function Base.propertynames(x::CUpti_ActivityMemoryPool, private::Bool=false) + return (:kind, :memoryPoolOperationType, :memoryPoolType, :correlationId, :processId, + :deviceId, :minBytesToKeep, :address, :size, :releaseThreshold, :timestamp, + if private + fieldnames(typeof(x)) + else + () + end...) +end + +struct CUpti_ActivityMemoryPool2 + data::NTuple{72,UInt8} +end + +function Base.getproperty(x::Ptr{CUpti_ActivityMemoryPool2}, f::Symbol) + f === :kind && return Ptr{CUpti_ActivityKind}(x + 0) + f === :memoryPoolOperationType && + return Ptr{CUpti_ActivityMemoryPoolOperationType}(x + 4) + f === :memoryPoolType && return Ptr{CUpti_ActivityMemoryPoolType}(x + 8) + f === :correlationId && return Ptr{UInt32}(x + 12) + f === :processId && return Ptr{UInt32}(x + 16) + f === :deviceId && return Ptr{UInt32}(x + 20) + f === :minBytesToKeep && return Ptr{Csize_t}(x + 24) + f === :address && return Ptr{UInt64}(x + 32) + f === :size && return Ptr{UInt64}(x + 40) + f === :releaseThreshold && return Ptr{UInt64}(x + 48) + f === :timestamp && return Ptr{UInt64}(x + 56) + f === :utilizedSize && return Ptr{UInt64}(x + 64) + return getfield(x, f) +end + +function Base.getproperty(x::CUpti_ActivityMemoryPool2, f::Symbol) + r = Ref{CUpti_ActivityMemoryPool2}(x) + ptr = Base.unsafe_convert(Ptr{CUpti_ActivityMemoryPool2}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +function Base.setproperty!(x::Ptr{CUpti_ActivityMemoryPool2}, f::Symbol, v) + return unsafe_store!(getproperty(x, f), v) +end + +function Base.propertynames(x::CUpti_ActivityMemoryPool2, private::Bool=false) + return (:kind, :memoryPoolOperationType, :memoryPoolType, :correlationId, :processId, + :deviceId, :minBytesToKeep, :address, :size, :releaseThreshold, :timestamp, + :utilizedSize, if private + fieldnames(typeof(x)) + else + () + end...) +end + struct CUpti_ActivityMarker data::NTuple{48,UInt8} end @@ -5121,6 +6218,15 @@ function Base.setproperty!(x::Ptr{CUpti_ActivityMarker}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end +function Base.propertynames(x::CUpti_ActivityMarker, private::Bool=false) + return (:kind, :flags, :timestamp, :id, :objectKind, :objectId, :pad, :name, + if private + fieldnames(typeof(x)) + else + () + end...) +end + struct CUpti_ActivityGlobalAccess data::NTuple{40,UInt8} end @@ -5148,6 +6254,15 @@ function Base.setproperty!(x::Ptr{CUpti_ActivityGlobalAccess}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end +function Base.propertynames(x::CUpti_ActivityGlobalAccess, private::Bool=false) + return (:kind, :flags, :sourceLocatorId, :correlationId, :pcOffset, :executed, + :threadsExecuted, :l2_transactions, if private + fieldnames(typeof(x)) + else + () + end...) +end + struct CUpti_ActivityGlobalAccess2 data::NTuple{56,UInt8} end @@ -5178,6 +6293,16 @@ function Base.setproperty!(x::Ptr{CUpti_ActivityGlobalAccess2}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end +function Base.propertynames(x::CUpti_ActivityGlobalAccess2, private::Bool=false) + return (:kind, :flags, :sourceLocatorId, :correlationId, :functionId, :pcOffset, + :threadsExecuted, :l2_transactions, :theoreticalL2Transactions, :executed, :pad, + if private + fieldnames(typeof(x)) + else + () + end...) +end + struct CUpti_ActivityBranch data::NTuple{32,UInt8} end @@ -5204,6 +6329,15 @@ function Base.setproperty!(x::Ptr{CUpti_ActivityBranch}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end +function Base.propertynames(x::CUpti_ActivityBranch, private::Bool=false) + return (:kind, :sourceLocatorId, :correlationId, :pcOffset, :executed, :diverged, + :threadsExecuted, if private + fieldnames(typeof(x)) + else + () + end...) +end + struct CUpti_ActivityPCSampling data::NTuple{32,UInt8} end @@ -5231,6 +6365,15 @@ function Base.setproperty!(x::Ptr{CUpti_ActivityPCSampling}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end +function Base.propertynames(x::CUpti_ActivityPCSampling, private::Bool=false) + return (:kind, :flags, :sourceLocatorId, :correlationId, :functionId, :pcOffset, + :samples, :stallReason, if private + fieldnames(typeof(x)) + else + () + end...) +end + struct CUpti_ActivityPCSampling2 data::NTuple{40,UInt8} end @@ -5260,6 +6403,15 @@ function Base.setproperty!(x::Ptr{CUpti_ActivityPCSampling2}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end +function Base.propertynames(x::CUpti_ActivityPCSampling2, private::Bool=false) + return (:kind, :flags, :sourceLocatorId, :correlationId, :functionId, :pcOffset, + :latencySamples, :samples, :stallReason, :pad, if private + fieldnames(typeof(x)) + else + () + end...) +end + struct CUpti_ActivityUnifiedMemoryCounter data::NTuple{40,UInt8} end @@ -5287,6 +6439,15 @@ function Base.setproperty!(x::Ptr{CUpti_ActivityUnifiedMemoryCounter}, f::Symbol return unsafe_store!(getproperty(x, f), v) end +function Base.propertynames(x::CUpti_ActivityUnifiedMemoryCounter, private::Bool=false) + return (:kind, :counterKind, :scope, :deviceId, :value, :timestamp, :processId, :pad, + if private + fieldnames(typeof(x)) + else + () + end...) +end + struct CUpti_ActivityUnifiedMemoryCounter2 data::NTuple{64,UInt8} end @@ -5318,60 +6479,73 @@ function Base.setproperty!(x::Ptr{CUpti_ActivityUnifiedMemoryCounter2}, f::Symbo return unsafe_store!(getproperty(x, f), v) end -struct var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:4580:3)" +function Base.propertynames(x::CUpti_ActivityUnifiedMemoryCounter2, private::Bool=false) + return (:kind, :counterKind, :value, :start, :_end, :address, :srcId, :dstId, :streamId, + :processId, :flags, :pad, if private + fieldnames(typeof(x)) + else + () + end...) +end + +struct var"##Ctag#273" data::NTuple{16,UInt8} end -function Base.getproperty(x::Ptr{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:4580:3)"}, - f::Symbol) +function Base.getproperty(x::Ptr{var"##Ctag#273"}, f::Symbol) f === :uuidDev && return Ptr{CUuuid}(x + 0) - f === :npu && - return Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:4582:5)"}(x + - 0) + f === :npu && return Ptr{var"##Ctag#274"}(x + 0) return getfield(x, f) end -function Base.getproperty(x::var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:4580:3)", - f::Symbol) - r = Ref{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:4580:3)"}(x) - ptr = Base.unsafe_convert(Ptr{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:4580:3)"}, - r) +function Base.getproperty(x::var"##Ctag#273", f::Symbol) + r = Ref{var"##Ctag#273"}(x) + ptr = Base.unsafe_convert(Ptr{var"##Ctag#273"}, r) fptr = getproperty(ptr, f) GC.@preserve r unsafe_load(fptr) end -function Base.setproperty!(x::Ptr{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:4580:3)"}, - f::Symbol, v) +function Base.setproperty!(x::Ptr{var"##Ctag#273"}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end -struct var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:4599:3)" +function Base.propertynames(x::var"##Ctag#273", private::Bool=false) + return (:uuidDev, :npu, if private + fieldnames(typeof(x)) + else + () + end...) +end + +struct var"##Ctag#275" data::NTuple{16,UInt8} end -function Base.getproperty(x::Ptr{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:4599:3)"}, - f::Symbol) +function Base.getproperty(x::Ptr{var"##Ctag#275"}, f::Symbol) f === :uuidDev && return Ptr{CUuuid}(x + 0) - f === :npu && - return Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:4601:5)"}(x + - 0) + f === :npu && return Ptr{var"##Ctag#276"}(x + 0) return getfield(x, f) end -function Base.getproperty(x::var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:4599:3)", - f::Symbol) - r = Ref{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:4599:3)"}(x) - ptr = Base.unsafe_convert(Ptr{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:4599:3)"}, - r) +function Base.getproperty(x::var"##Ctag#275", f::Symbol) + r = Ref{var"##Ctag#275"}(x) + ptr = Base.unsafe_convert(Ptr{var"##Ctag#275"}, r) fptr = getproperty(ptr, f) GC.@preserve r unsafe_load(fptr) end -function Base.setproperty!(x::Ptr{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:4599:3)"}, - f::Symbol, v) +function Base.setproperty!(x::Ptr{var"##Ctag#275"}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end +function Base.propertynames(x::var"##Ctag#275", private::Bool=false) + return (:uuidDev, :npu, if private + fieldnames(typeof(x)) + else + () + end...) +end + struct CUpti_ActivityNvLink data::NTuple{72,UInt8} end @@ -5381,12 +6555,8 @@ function Base.getproperty(x::Ptr{CUpti_ActivityNvLink}, f::Symbol) f === :nvlinkVersion && return Ptr{UInt32}(x + 4) f === :typeDev0 && return Ptr{CUpti_DevType}(x + 8) f === :typeDev1 && return Ptr{CUpti_DevType}(x + 12) - f === :idDev0 && - return Ptr{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:4580:3)"}(x + - 16) - f === :idDev1 && - return Ptr{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:4599:3)"}(x + - 32) + f === :idDev0 && return Ptr{var"##Ctag#273"}(x + 16) + f === :idDev1 && return Ptr{var"##Ctag#275"}(x + 32) f === :flag && return Ptr{UInt32}(x + 48) f === :physicalNvLinkCount && return Ptr{UInt32}(x + 52) f === :portDev0 && return Ptr{NTuple{4,Int8}}(x + 56) @@ -5406,60 +6576,74 @@ function Base.setproperty!(x::Ptr{CUpti_ActivityNvLink}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end -struct var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:4685:3)" +function Base.propertynames(x::CUpti_ActivityNvLink, private::Bool=false) + return (:kind, :nvlinkVersion, :typeDev0, :typeDev1, :idDev0, :idDev1, :flag, + :physicalNvLinkCount, :portDev0, :portDev1, :bandwidth, + if private + fieldnames(typeof(x)) + else + () + end...) +end + +struct var"##Ctag#300" data::NTuple{16,UInt8} end -function Base.getproperty(x::Ptr{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:4685:3)"}, - f::Symbol) +function Base.getproperty(x::Ptr{var"##Ctag#300"}, f::Symbol) f === :uuidDev && return Ptr{CUuuid}(x + 0) - f === :npu && - return Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:4687:5)"}(x + - 0) + f === :npu && return Ptr{var"##Ctag#301"}(x + 0) return getfield(x, f) end -function Base.getproperty(x::var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:4685:3)", - f::Symbol) - r = Ref{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:4685:3)"}(x) - ptr = Base.unsafe_convert(Ptr{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:4685:3)"}, - r) +function Base.getproperty(x::var"##Ctag#300", f::Symbol) + r = Ref{var"##Ctag#300"}(x) + ptr = Base.unsafe_convert(Ptr{var"##Ctag#300"}, r) fptr = getproperty(ptr, f) GC.@preserve r unsafe_load(fptr) end -function Base.setproperty!(x::Ptr{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:4685:3)"}, - f::Symbol, v) +function Base.setproperty!(x::Ptr{var"##Ctag#300"}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end -struct var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:4704:3)" +function Base.propertynames(x::var"##Ctag#300", private::Bool=false) + return (:uuidDev, :npu, if private + fieldnames(typeof(x)) + else + () + end...) +end + +struct var"##Ctag#302" data::NTuple{16,UInt8} end -function Base.getproperty(x::Ptr{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:4704:3)"}, - f::Symbol) +function Base.getproperty(x::Ptr{var"##Ctag#302"}, f::Symbol) f === :uuidDev && return Ptr{CUuuid}(x + 0) - f === :npu && - return Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:4706:5)"}(x + - 0) + f === :npu && return Ptr{var"##Ctag#303"}(x + 0) return getfield(x, f) end -function Base.getproperty(x::var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:4704:3)", - f::Symbol) - r = Ref{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:4704:3)"}(x) - ptr = Base.unsafe_convert(Ptr{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:4704:3)"}, - r) +function Base.getproperty(x::var"##Ctag#302", f::Symbol) + r = Ref{var"##Ctag#302"}(x) + ptr = Base.unsafe_convert(Ptr{var"##Ctag#302"}, r) fptr = getproperty(ptr, f) GC.@preserve r unsafe_load(fptr) end -function Base.setproperty!(x::Ptr{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:4704:3)"}, - f::Symbol, v) +function Base.setproperty!(x::Ptr{var"##Ctag#302"}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end +function Base.propertynames(x::var"##Ctag#302", private::Bool=false) + return (:uuidDev, :npu, if private + fieldnames(typeof(x)) + else + () + end...) +end + struct CUpti_ActivityNvLink2 data::NTuple{128,UInt8} end @@ -5469,12 +6653,8 @@ function Base.getproperty(x::Ptr{CUpti_ActivityNvLink2}, f::Symbol) f === :nvlinkVersion && return Ptr{UInt32}(x + 4) f === :typeDev0 && return Ptr{CUpti_DevType}(x + 8) f === :typeDev1 && return Ptr{CUpti_DevType}(x + 12) - f === :idDev0 && - return Ptr{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:4685:3)"}(x + - 16) - f === :idDev1 && - return Ptr{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:4704:3)"}(x + - 32) + f === :idDev0 && return Ptr{var"##Ctag#300"}(x + 16) + f === :idDev1 && return Ptr{var"##Ctag#302"}(x + 32) f === :flag && return Ptr{UInt32}(x + 48) f === :physicalNvLinkCount && return Ptr{UInt32}(x + 52) f === :portDev0 && return Ptr{NTuple{32,Int8}}(x + 56) @@ -5494,60 +6674,74 @@ function Base.setproperty!(x::Ptr{CUpti_ActivityNvLink2}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end -struct var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:4789:3)" +function Base.propertynames(x::CUpti_ActivityNvLink2, private::Bool=false) + return (:kind, :nvlinkVersion, :typeDev0, :typeDev1, :idDev0, :idDev1, :flag, + :physicalNvLinkCount, :portDev0, :portDev1, :bandwidth, + if private + fieldnames(typeof(x)) + else + () + end...) +end + +struct var"##Ctag#294" data::NTuple{16,UInt8} end -function Base.getproperty(x::Ptr{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:4789:3)"}, - f::Symbol) +function Base.getproperty(x::Ptr{var"##Ctag#294"}, f::Symbol) f === :uuidDev && return Ptr{CUuuid}(x + 0) - f === :npu && - return Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:4791:5)"}(x + - 0) + f === :npu && return Ptr{var"##Ctag#295"}(x + 0) return getfield(x, f) end -function Base.getproperty(x::var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:4789:3)", - f::Symbol) - r = Ref{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:4789:3)"}(x) - ptr = Base.unsafe_convert(Ptr{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:4789:3)"}, - r) +function Base.getproperty(x::var"##Ctag#294", f::Symbol) + r = Ref{var"##Ctag#294"}(x) + ptr = Base.unsafe_convert(Ptr{var"##Ctag#294"}, r) fptr = getproperty(ptr, f) GC.@preserve r unsafe_load(fptr) end -function Base.setproperty!(x::Ptr{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:4789:3)"}, - f::Symbol, v) +function Base.setproperty!(x::Ptr{var"##Ctag#294"}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end -struct var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:4808:3)" +function Base.propertynames(x::var"##Ctag#294", private::Bool=false) + return (:uuidDev, :npu, if private + fieldnames(typeof(x)) + else + () + end...) +end + +struct var"##Ctag#296" data::NTuple{16,UInt8} end -function Base.getproperty(x::Ptr{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:4808:3)"}, - f::Symbol) +function Base.getproperty(x::Ptr{var"##Ctag#296"}, f::Symbol) f === :uuidDev && return Ptr{CUuuid}(x + 0) - f === :npu && - return Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:4810:5)"}(x + - 0) + f === :npu && return Ptr{var"##Ctag#297"}(x + 0) return getfield(x, f) end -function Base.getproperty(x::var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:4808:3)", - f::Symbol) - r = Ref{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:4808:3)"}(x) - ptr = Base.unsafe_convert(Ptr{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:4808:3)"}, - r) +function Base.getproperty(x::var"##Ctag#296", f::Symbol) + r = Ref{var"##Ctag#296"}(x) + ptr = Base.unsafe_convert(Ptr{var"##Ctag#296"}, r) fptr = getproperty(ptr, f) GC.@preserve r unsafe_load(fptr) end -function Base.setproperty!(x::Ptr{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:4808:3)"}, - f::Symbol, v) +function Base.setproperty!(x::Ptr{var"##Ctag#296"}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end +function Base.propertynames(x::var"##Ctag#296", private::Bool=false) + return (:uuidDev, :npu, if private + fieldnames(typeof(x)) + else + () + end...) +end + struct CUpti_ActivityNvLink3 data::NTuple{136,UInt8} end @@ -5557,12 +6751,8 @@ function Base.getproperty(x::Ptr{CUpti_ActivityNvLink3}, f::Symbol) f === :nvlinkVersion && return Ptr{UInt32}(x + 4) f === :typeDev0 && return Ptr{CUpti_DevType}(x + 8) f === :typeDev1 && return Ptr{CUpti_DevType}(x + 12) - f === :idDev0 && - return Ptr{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:4789:3)"}(x + - 16) - f === :idDev1 && - return Ptr{var"union (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:4808:3)"}(x + - 32) + f === :idDev0 && return Ptr{var"##Ctag#294"}(x + 16) + f === :idDev1 && return Ptr{var"##Ctag#296"}(x + 32) f === :flag && return Ptr{UInt32}(x + 48) f === :physicalNvLinkCount && return Ptr{UInt32}(x + 52) f === :portDev0 && return Ptr{NTuple{32,Int8}}(x + 56) @@ -5584,6 +6774,16 @@ function Base.setproperty!(x::Ptr{CUpti_ActivityNvLink3}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end +function Base.propertynames(x::CUpti_ActivityNvLink3, private::Bool=false) + return (:kind, :nvlinkVersion, :typeDev0, :typeDev1, :idDev0, :idDev1, :flag, + :physicalNvLinkCount, :portDev0, :portDev1, :bandwidth, :nvswitchConnected, + :pad, if private + fieldnames(typeof(x)) + else + () + end...) +end + struct CUpti_ActivityGraphTrace kind::CUpti_ActivityKind correlationId::UInt32 @@ -5620,6 +6820,15 @@ function Base.setproperty!(x::Ptr{CUpti_ActivityContext}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end +function Base.propertynames(x::CUpti_ActivityContext, private::Bool=false) + return (:kind, :contextId, :deviceId, :computeApiKind, :nullStreamId, + if private + fieldnames(typeof(x)) + else + () + end...) +end + struct CUpti_ActivityContext2 data::NTuple{24,UInt8} end @@ -5648,6 +6857,15 @@ function Base.setproperty!(x::Ptr{CUpti_ActivityContext2}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end +function Base.propertynames(x::CUpti_ActivityContext2, private::Bool=false) + return (:kind, :contextId, :deviceId, :computeApiKind, :nullStreamId, :parentContextId, + :isGreenContext, :padding, :numMultiprocessors, if private + fieldnames(typeof(x)) + else + () + end...) +end + struct CUpti_ActivityJit data::NTuple{64,UInt8} end @@ -5678,6 +6896,16 @@ function Base.setproperty!(x::Ptr{CUpti_ActivityJit}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end +function Base.propertynames(x::CUpti_ActivityJit, private::Bool=false) + return (:kind, :jitEntryType, :jitOperationType, :deviceId, :start, :_end, + :correlationId, :padding, :jitOperationCorrelationId, :cacheSize, :cachePath, + if private + fieldnames(typeof(x)) + else + () + end...) +end + struct CUpti_ActivityCudaEvent data::NTuple{24,UInt8} end @@ -5703,6 +6931,15 @@ function Base.setproperty!(x::Ptr{CUpti_ActivityCudaEvent}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end +function Base.propertynames(x::CUpti_ActivityCudaEvent, private::Bool=false) + return (:kind, :correlationId, :contextId, :streamId, :eventId, :pad, + if private + fieldnames(typeof(x)) + else + () + end...) +end + struct CUpti_ActivitySynchronization data::NTuple{40,UInt8} end @@ -5730,6 +6967,15 @@ function Base.setproperty!(x::Ptr{CUpti_ActivitySynchronization}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end +function Base.propertynames(x::CUpti_ActivitySynchronization, private::Bool=false) + return (:kind, :type, :start, :_end, :correlationId, :contextId, :streamId, + :cudaEventId, if private + fieldnames(typeof(x)) + else + () + end...) +end + struct CUpti_ActivityMemcpy5 data::NTuple{88,UInt8} end @@ -5769,6 +7015,52 @@ function Base.setproperty!(x::Ptr{CUpti_ActivityMemcpy5}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end +function Base.propertynames(x::CUpti_ActivityMemcpy5, private::Bool=false) + return (:kind, :copyKind, :srcKind, :dstKind, :flags, :bytes, :start, :_end, :deviceId, + :contextId, :streamId, :correlationId, :runtimeCorrelationId, :pad, :reserved0, + :graphNodeId, :graphId, :channelID, :channelType, :pad2, + if private + fieldnames(typeof(x)) + else + () + end...) +end + +struct CUpti_ActivityMarkerData + data::NTuple{32,UInt8} +end + +function Base.getproperty(x::Ptr{CUpti_ActivityMarkerData}, f::Symbol) + f === :kind && return Ptr{CUpti_ActivityKind}(x + 0) + f === :flags && return Ptr{CUpti_ActivityFlag}(x + 4) + f === :id && return Ptr{UInt32}(x + 8) + f === :payloadKind && return Ptr{CUpti_MetricValueKind}(x + 12) + f === :payload && return Ptr{CUpti_MetricValue}(x + 16) + f === :color && return Ptr{UInt32}(x + 24) + f === :category && return Ptr{UInt32}(x + 28) + return getfield(x, f) +end + +function Base.getproperty(x::CUpti_ActivityMarkerData, f::Symbol) + r = Ref{CUpti_ActivityMarkerData}(x) + ptr = Base.unsafe_convert(Ptr{CUpti_ActivityMarkerData}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +function Base.setproperty!(x::Ptr{CUpti_ActivityMarkerData}, f::Symbol, v) + return unsafe_store!(getproperty(x, f), v) +end + +function Base.propertynames(x::CUpti_ActivityMarkerData, private::Bool=false) + return (:kind, :flags, :id, :payloadKind, :payload, :color, :category, + if private + fieldnames(typeof(x)) + else + () + end...) +end + @cenum CUpti_driver_api_trace_cbid_enum::UInt32 begin CUPTI_DRIVER_TRACE_CBID_INVALID = 0 CUPTI_DRIVER_TRACE_CBID_cuInit = 1 @@ -6554,7 +7846,30 @@ end CUPTI_DRIVER_TRACE_CBID_cuTensorMapEncodeIm2colWide = 781 CUPTI_DRIVER_TRACE_CBID_cuGreenCtxGetId = 782 CUPTI_DRIVER_TRACE_CBID_cuStreamCreateForCaptureToCig = 783 - CUPTI_DRIVER_TRACE_CBID_SIZE = 784 + CUPTI_DRIVER_TRACE_CBID_cuMemPrefetchBatchAsync = 784 + CUPTI_DRIVER_TRACE_CBID_cuMemPrefetchBatchAsync_ptsz = 785 + CUPTI_DRIVER_TRACE_CBID_cuSemaphoreCreate = 786 + CUPTI_DRIVER_TRACE_CBID_cuSemaphoreExport = 787 + CUPTI_DRIVER_TRACE_CBID_cuSemaphoreDestroy = 788 + CUPTI_DRIVER_TRACE_CBID_cuMemDiscardBatchAsync = 789 + CUPTI_DRIVER_TRACE_CBID_cuMemDiscardBatchAsync_ptsz = 790 + CUPTI_DRIVER_TRACE_CBID_cuMemDiscardAndPrefetchBatchAsync = 791 + CUPTI_DRIVER_TRACE_CBID_cuMemDiscardAndPrefetchBatchAsync_ptsz = 792 + CUPTI_DRIVER_TRACE_CBID_cuMultiKernelCooperativeDomainCreate = 793 + CUPTI_DRIVER_TRACE_CBID_cuMultiKernelCooperativeDomainDestroy = 794 + CUPTI_DRIVER_TRACE_CBID_cuCtxGetDevice_v2 = 795 + CUPTI_DRIVER_TRACE_CBID_cuMemcpyBatchAsync_v2 = 796 + CUPTI_DRIVER_TRACE_CBID_cuMemcpyBatchAsync_v2_ptsz = 797 + CUPTI_DRIVER_TRACE_CBID_cuMemcpy3DBatchAsync_v2 = 798 + CUPTI_DRIVER_TRACE_CBID_cuMemcpy3DBatchAsync_v2_ptsz = 799 + CUPTI_DRIVER_TRACE_CBID_cuCtxSynchronize_v2 = 800 + CUPTI_DRIVER_TRACE_CBID_cuMemGetDefaultMemPool = 801 + CUPTI_DRIVER_TRACE_CBID_cuMemGetMemPool = 802 + CUPTI_DRIVER_TRACE_CBID_cuMemSetMemPool = 803 + CUPTI_DRIVER_TRACE_CBID_cuDeviceGetP2PAtomicCapabilities = 804 + CUPTI_DRIVER_TRACE_CBID_cuDeviceGetHostAtomicCapabilities = 805 + CUPTI_DRIVER_TRACE_CBID_cuDriverGetGpuCodeIsaVersion = 806 + CUPTI_DRIVER_TRACE_CBID_SIZE = 807 CUPTI_DRIVER_TRACE_CBID_FORCE_INT = 2147483647 end @@ -6954,10 +8269,10 @@ const CUpti_driver_api_trace_cbid = CUpti_driver_api_trace_cbid_enum CUPTI_RUNTIME_TRACE_CBID_cudaMemPoolImportPointer_v11020 = 390 CUPTI_RUNTIME_TRACE_CBID_cudaMallocFromPoolAsync_v11020 = 391 CUPTI_RUNTIME_TRACE_CBID_cudaMallocFromPoolAsync_ptsz_v11020 = 392 - CUPTI_RUNTIME_TRACE_CBID_cudaSignalExternalSemaphoresAsync_v2_v11020 = 393 - CUPTI_RUNTIME_TRACE_CBID_cudaSignalExternalSemaphoresAsync_v2_ptsz_v11020 = 394 - CUPTI_RUNTIME_TRACE_CBID_cudaWaitExternalSemaphoresAsync_v2_v11020 = 395 - CUPTI_RUNTIME_TRACE_CBID_cudaWaitExternalSemaphoresAsync_v2_ptsz_v11020 = 396 + CUPTI_RUNTIME_TRACE_CBID_cudaSignalExternalSemaphoresAsync_v11020 = 393 + CUPTI_RUNTIME_TRACE_CBID_cudaSignalExternalSemaphoresAsync_ptsz_v11020 = 394 + CUPTI_RUNTIME_TRACE_CBID_cudaWaitExternalSemaphoresAsync_v11020 = 395 + CUPTI_RUNTIME_TRACE_CBID_cudaWaitExternalSemaphoresAsync_ptsz_v11020 = 396 CUPTI_RUNTIME_TRACE_CBID_cudaGraphAddExternalSemaphoresSignalNode_v11020 = 397 CUPTI_RUNTIME_TRACE_CBID_cudaGraphExternalSemaphoresSignalNodeGetParams_v11020 = 398 CUPTI_RUNTIME_TRACE_CBID_cudaGraphExternalSemaphoresSignalNodeSetParams_v11020 = 399 @@ -7001,7 +8316,7 @@ const CUpti_driver_api_trace_cbid = CUpti_driver_api_trace_cbid_enum CUPTI_RUNTIME_TRACE_CBID_cudaGraphInstantiateWithParams_ptsz_v12000 = 437 CUPTI_RUNTIME_TRACE_CBID_cudaGraphExecGetFlags_v12000 = 438 CUPTI_RUNTIME_TRACE_CBID_cudaGetKernel_v12000 = 439 - CUPTI_RUNTIME_TRACE_CBID_cudaGetDeviceProperties_v2_v12000 = 440 + CUPTI_RUNTIME_TRACE_CBID_cudaGetDeviceProperties_v12000 = 440 CUPTI_RUNTIME_TRACE_CBID_cudaStreamGetId_v12000 = 441 CUPTI_RUNTIME_TRACE_CBID_cudaStreamGetId_ptsz_v12000 = 442 CUPTI_RUNTIME_TRACE_CBID_cudaGraphInstantiate_v12000 = 443 @@ -7009,23 +8324,23 @@ const CUpti_driver_api_trace_cbid = CUpti_driver_api_trace_cbid_enum CUPTI_RUNTIME_TRACE_CBID_cudaGraphAddNode_v12020 = 445 CUPTI_RUNTIME_TRACE_CBID_cudaGraphNodeSetParams_v12020 = 446 CUPTI_RUNTIME_TRACE_CBID_cudaGraphExecNodeSetParams_v12020 = 447 - CUPTI_RUNTIME_TRACE_CBID_cudaMemAdvise_v2_v12020 = 448 - CUPTI_RUNTIME_TRACE_CBID_cudaMemPrefetchAsync_v2_v12020 = 449 - CUPTI_RUNTIME_TRACE_CBID_cudaMemPrefetchAsync_v2_ptsz_v12020 = 450 + CUPTI_RUNTIME_TRACE_CBID_cudaMemAdvise_v12020 = 448 + CUPTI_RUNTIME_TRACE_CBID_cudaMemPrefetchAsync_v12020 = 449 + CUPTI_RUNTIME_TRACE_CBID_cudaMemPrefetchAsync_ptsz_v12020 = 450 CUPTI_RUNTIME_TRACE_CBID_cudaFuncGetName_v12030 = 451 CUPTI_RUNTIME_TRACE_CBID_cudaStreamBeginCaptureToGraph_v12030 = 452 CUPTI_RUNTIME_TRACE_CBID_cudaStreamBeginCaptureToGraph_ptsz_v12030 = 453 CUPTI_RUNTIME_TRACE_CBID_cudaGraphConditionalHandleCreate_v12030 = 454 - CUPTI_RUNTIME_TRACE_CBID_cudaGraphGetEdges_v2_v12030 = 455 - CUPTI_RUNTIME_TRACE_CBID_cudaGraphNodeGetDependencies_v2_v12030 = 456 - CUPTI_RUNTIME_TRACE_CBID_cudaGraphNodeGetDependentNodes_v2_v12030 = 457 - CUPTI_RUNTIME_TRACE_CBID_cudaGraphAddDependencies_v2_v12030 = 458 - CUPTI_RUNTIME_TRACE_CBID_cudaGraphRemoveDependencies_v2_v12030 = 459 - CUPTI_RUNTIME_TRACE_CBID_cudaGraphAddNode_v2_v12030 = 460 - CUPTI_RUNTIME_TRACE_CBID_cudaStreamGetCaptureInfo_v3_v12030 = 461 - CUPTI_RUNTIME_TRACE_CBID_cudaStreamGetCaptureInfo_v3_ptsz_v12030 = 462 - CUPTI_RUNTIME_TRACE_CBID_cudaStreamUpdateCaptureDependencies_v2_v12030 = 463 - CUPTI_RUNTIME_TRACE_CBID_cudaStreamUpdateCaptureDependencies_v2_ptsz_v12030 = 464 + CUPTI_RUNTIME_TRACE_CBID_cudaGraphGetEdges_v12030 = 455 + CUPTI_RUNTIME_TRACE_CBID_cudaGraphNodeGetDependencies_v12030 = 456 + CUPTI_RUNTIME_TRACE_CBID_cudaGraphNodeGetDependentNodes_v12030 = 457 + CUPTI_RUNTIME_TRACE_CBID_cudaGraphAddDependencies_v12030 = 458 + CUPTI_RUNTIME_TRACE_CBID_cudaGraphRemoveDependencies_v12030 = 459 + CUPTI_RUNTIME_TRACE_CBID_cudaGraphAddNode_v12030 = 460 + CUPTI_RUNTIME_TRACE_CBID_cudaStreamGetCaptureInfo_v12030 = 461 + CUPTI_RUNTIME_TRACE_CBID_cudaStreamGetCaptureInfo_ptsz_v12030 = 462 + CUPTI_RUNTIME_TRACE_CBID_cudaStreamUpdateCaptureDependencies_v12030 = 463 + CUPTI_RUNTIME_TRACE_CBID_cudaStreamUpdateCaptureDependencies_ptsz_v12030 = 464 CUPTI_RUNTIME_TRACE_CBID_cudaDeviceRegisterAsyncNotification_v12040 = 465 CUPTI_RUNTIME_TRACE_CBID_cudaDeviceUnregisterAsyncNotification_v12040 = 466 CUPTI_RUNTIME_TRACE_CBID_cudaFuncGetParamInfo_v12040 = 467 @@ -7047,8 +8362,44 @@ const CUpti_driver_api_trace_cbid = CUpti_driver_api_trace_cbid_enum CUPTI_RUNTIME_TRACE_CBID_cudaMemcpyBatchAsync_ptsz_v12080 = 483 CUPTI_RUNTIME_TRACE_CBID_cudaMemcpy3DBatchAsync_v12080 = 484 CUPTI_RUNTIME_TRACE_CBID_cudaMemcpy3DBatchAsync_ptsz_v12080 = 485 - CUPTI_RUNTIME_TRACE_CBID_cudaEventElapsedTime_v2_v12080 = 486 - CUPTI_RUNTIME_TRACE_CBID_SIZE = 487 + CUPTI_RUNTIME_TRACE_CBID_cudaEventElapsedTime_v12080 = 486 + CUPTI_RUNTIME_TRACE_CBID_cudaMemPrefetchBatchAsync_v13000 = 487 + CUPTI_RUNTIME_TRACE_CBID_cudaMemPrefetchBatchAsync_ptsz_v13000 = 488 + CUPTI_RUNTIME_TRACE_CBID_cudaMemDiscardBatchAsync_v13000 = 489 + CUPTI_RUNTIME_TRACE_CBID_cudaMemDiscardBatchAsync_ptsz_v13000 = 490 + CUPTI_RUNTIME_TRACE_CBID_cudaMemDiscardAndPrefetchBatchAsync_v13000 = 491 + CUPTI_RUNTIME_TRACE_CBID_cudaMemDiscardAndPrefetchBatchAsync_ptsz_v13000 = 492 + CUPTI_RUNTIME_TRACE_CBID_cudaGetExportTable_v13000 = 493 + CUPTI_RUNTIME_TRACE_CBID___cudaRegisterFatBinary_v13000 = 494 + CUPTI_RUNTIME_TRACE_CBID___cudaRegisterFatBinaryEnd_v13000 = 495 + CUPTI_RUNTIME_TRACE_CBID___cudaUnregisterFatBinary_v13000 = 496 + CUPTI_RUNTIME_TRACE_CBID___cudaRegisterVar_v13000 = 497 + CUPTI_RUNTIME_TRACE_CBID___cudaRegisterHostVar_v13000 = 498 + CUPTI_RUNTIME_TRACE_CBID___cudaRegisterFunction_v13000 = 499 + CUPTI_RUNTIME_TRACE_CBID___cudaRegisterManagedVar_v13000 = 500 + CUPTI_RUNTIME_TRACE_CBID___cudaInitModule_v13000 = 501 + CUPTI_RUNTIME_TRACE_CBID___cudaPushCallConfiguration_v13000 = 502 + CUPTI_RUNTIME_TRACE_CBID___cudaPopCallConfiguration_v13000 = 503 + CUPTI_RUNTIME_TRACE_CBID___cudaGetKernel_v13000 = 504 + CUPTI_RUNTIME_TRACE_CBID___cudaLaunchKernel_v13000 = 505 + CUPTI_RUNTIME_TRACE_CBID___cudaLaunchKernel_ptsz_v13000 = 506 + CUPTI_RUNTIME_TRACE_CBID___cudaRegisterUnifiedTable_v13000 = 507 + CUPTI_RUNTIME_TRACE_CBID___cudaGetProcAddress_v13000 = 508 + CUPTI_RUNTIME_TRACE_CBID_cudaMemcpyBatchAsync_v13000 = 509 + CUPTI_RUNTIME_TRACE_CBID_cudaMemcpyBatchAsync_ptsz_v13000 = 510 + CUPTI_RUNTIME_TRACE_CBID_cudaMemcpy3DBatchAsync_v13000 = 511 + CUPTI_RUNTIME_TRACE_CBID_cudaMemcpy3DBatchAsync_ptsz_v13000 = 512 + CUPTI_RUNTIME_TRACE_CBID_cudaLogsRegisterCallback_v13000 = 513 + CUPTI_RUNTIME_TRACE_CBID_cudaLogsUnregisterCallback_v13000 = 514 + CUPTI_RUNTIME_TRACE_CBID_cudaLogsCurrent_v13000 = 515 + CUPTI_RUNTIME_TRACE_CBID_cudaLogsDumpToFile_v13000 = 516 + CUPTI_RUNTIME_TRACE_CBID_cudaLogsDumpToMemory_v13000 = 517 + CUPTI_RUNTIME_TRACE_CBID_cudaMemGetDefaultMemPool_v13000 = 518 + CUPTI_RUNTIME_TRACE_CBID_cudaMemGetMemPool_v13000 = 519 + CUPTI_RUNTIME_TRACE_CBID_cudaMemSetMemPool_v13000 = 520 + CUPTI_RUNTIME_TRACE_CBID_cudaDeviceGetHostAtomicCapabilities_v13000 = 521 + CUPTI_RUNTIME_TRACE_CBID_cudaDeviceGetP2PAtomicCapabilities_v13000 = 522 + CUPTI_RUNTIME_TRACE_CBID_SIZE = 523 CUPTI_RUNTIME_TRACE_CBID_FORCE_INT = 2147483647 end @@ -7414,602 +8765,567 @@ end @gcsafe_ccall libcupti.cuptiProfilerDeviceSupported(pParams::Ptr{CUpti_Profiler_DeviceSupported_Params})::CUptiResult end -struct var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:4582:5)" +struct var"##Ctag#274" index::UInt32 domainId::UInt32 end +function Base.getproperty(x::Ptr{var"##Ctag#274"}, f::Symbol) + f === :index && return Ptr{UInt32}(x + 0) + f === :domainId && return Ptr{UInt32}(x + 4) + return getfield(x, f) +end + +function Base.getproperty(x::var"##Ctag#274", f::Symbol) + r = Ref{var"##Ctag#274"}(x) + ptr = Base.unsafe_convert(Ptr{var"##Ctag#274"}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +function Base.setproperty!(x::Ptr{var"##Ctag#274"}, f::Symbol, v) + return unsafe_store!(getproperty(x, f), v) +end -struct var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:4601:5)" +struct var"##Ctag#276" index::UInt32 domainId::UInt32 end +function Base.getproperty(x::Ptr{var"##Ctag#276"}, f::Symbol) + f === :index && return Ptr{UInt32}(x + 0) + f === :domainId && return Ptr{UInt32}(x + 4) + return getfield(x, f) +end -struct var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:1255:5)" - data::NTuple{1,UInt8} +function Base.getproperty(x::var"##Ctag#276", f::Symbol) + r = Ref{var"##Ctag#276"}(x) + ptr = Base.unsafe_convert(Ptr{var"##Ctag#276"}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) end -function Base.getproperty(x::Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:1255:5)"}, - f::Symbol) +function Base.setproperty!(x::Ptr{var"##Ctag#276"}, f::Symbol, v) + return unsafe_store!(getproperty(x, f), v) +end + +struct var"##Ctag#286" + requested::UInt8 + executed::UInt8 +end +function Base.getproperty(x::Ptr{var"##Ctag#286"}, f::Symbol) f === :requested && return (Ptr{UInt8}(x + 0), 0, 4) f === :executed && return (Ptr{UInt8}(x + 0), 4, 4) return getfield(x, f) end -function Base.getproperty(x::var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:1255:5)", - f::Symbol) - r = Ref{var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:1255:5)"}(x) - ptr = Base.unsafe_convert(Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:1255:5)"}, - r) - fptr = getproperty(ptr, f) - begin - if fptr isa Ptr - return GC.@preserve(r, unsafe_load(fptr)) - else - (baseptr, offset, width) = fptr - ty = eltype(baseptr) - baseptr32 = convert(Ptr{UInt32}, baseptr) - u64 = GC.@preserve(r, unsafe_load(baseptr32)) - if offset + width > 32 - u64 |= GC.@preserve(r, unsafe_load(baseptr32 + 4)) << 32 - end - u64 = u64 >> offset & (1 << width - 1) - return u64 % ty - end - end +function Base.getproperty(x::var"##Ctag#286", f::Symbol) + r = Ref{var"##Ctag#286"}(x) + ptr = Base.unsafe_convert(Ptr{var"##Ctag#286"}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) end -function Base.setproperty!(x::Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:1255:5)"}, - f::Symbol, v) - fptr = getproperty(x, f) - if fptr isa Ptr - unsafe_store!(getproperty(x, f), v) - else - (baseptr, offset, width) = fptr - baseptr32 = convert(Ptr{UInt32}, baseptr) - u64 = unsafe_load(baseptr32) - straddle = offset + width > 32 - if straddle - u64 |= unsafe_load(baseptr32 + 4) << 32 - end - mask = 1 << width - 1 - u64 &= ~(mask << offset) - u64 |= (unsigned(v) & mask) << offset - unsafe_store!(baseptr32, u64 & typemax(UInt32)) - if straddle - unsafe_store!(baseptr32 + 4, u64 >> 32) - end - end +function Base.setproperty!(x::Ptr{var"##Ctag#286"}, f::Symbol, v) + return unsafe_store!(getproperty(x, f), v) end -struct var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:1920:5)" - data::NTuple{1,UInt8} +struct var"##Ctag#290" + requested::UInt8 + executed::UInt8 end - -function Base.getproperty(x::Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:1920:5)"}, - f::Symbol) +function Base.getproperty(x::Ptr{var"##Ctag#290"}, f::Symbol) f === :requested && return (Ptr{UInt8}(x + 0), 0, 4) f === :executed && return (Ptr{UInt8}(x + 0), 4, 4) return getfield(x, f) end -function Base.getproperty(x::var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:1920:5)", - f::Symbol) - r = Ref{var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:1920:5)"}(x) - ptr = Base.unsafe_convert(Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:1920:5)"}, - r) - fptr = getproperty(ptr, f) - begin - if fptr isa Ptr - return GC.@preserve(r, unsafe_load(fptr)) - else - (baseptr, offset, width) = fptr - ty = eltype(baseptr) - baseptr32 = convert(Ptr{UInt32}, baseptr) - u64 = GC.@preserve(r, unsafe_load(baseptr32)) - if offset + width > 32 - u64 |= GC.@preserve(r, unsafe_load(baseptr32 + 4)) << 32 - end - u64 = u64 >> offset & (1 << width - 1) - return u64 % ty - end - end +function Base.getproperty(x::var"##Ctag#290", f::Symbol) + r = Ref{var"##Ctag#290"}(x) + ptr = Base.unsafe_convert(Ptr{var"##Ctag#290"}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) end -function Base.setproperty!(x::Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:1920:5)"}, - f::Symbol, v) - fptr = getproperty(x, f) - if fptr isa Ptr - unsafe_store!(getproperty(x, f), v) - else - (baseptr, offset, width) = fptr - baseptr32 = convert(Ptr{UInt32}, baseptr) - u64 = unsafe_load(baseptr32) - straddle = offset + width > 32 - if straddle - u64 |= unsafe_load(baseptr32 + 4) << 32 - end - mask = 1 << width - 1 - u64 &= ~(mask << offset) - u64 |= (unsigned(v) & mask) << offset - unsafe_store!(baseptr32, u64 & typemax(UInt32)) - if straddle - unsafe_store!(baseptr32 + 4, u64 >> 32) - end - end +function Base.setproperty!(x::Ptr{var"##Ctag#290"}, f::Symbol, v) + return unsafe_store!(getproperty(x, f), v) end -struct var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:2177:5)" - data::NTuple{1,UInt8} +struct var"##Ctag#293" + requested::UInt8 + executed::UInt8 end - -function Base.getproperty(x::Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:2177:5)"}, - f::Symbol) +function Base.getproperty(x::Ptr{var"##Ctag#293"}, f::Symbol) f === :requested && return (Ptr{UInt8}(x + 0), 0, 4) f === :executed && return (Ptr{UInt8}(x + 0), 4, 4) return getfield(x, f) end -function Base.getproperty(x::var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:2177:5)", - f::Symbol) - r = Ref{var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:2177:5)"}(x) - ptr = Base.unsafe_convert(Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:2177:5)"}, - r) - fptr = getproperty(ptr, f) - begin - if fptr isa Ptr - return GC.@preserve(r, unsafe_load(fptr)) - else - (baseptr, offset, width) = fptr - ty = eltype(baseptr) - baseptr32 = convert(Ptr{UInt32}, baseptr) - u64 = GC.@preserve(r, unsafe_load(baseptr32)) - if offset + width > 32 - u64 |= GC.@preserve(r, unsafe_load(baseptr32 + 4)) << 32 - end - u64 = u64 >> offset & (1 << width - 1) - return u64 % ty - end - end +function Base.getproperty(x::var"##Ctag#293", f::Symbol) + r = Ref{var"##Ctag#293"}(x) + ptr = Base.unsafe_convert(Ptr{var"##Ctag#293"}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) end -function Base.setproperty!(x::Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:2177:5)"}, - f::Symbol, v) - fptr = getproperty(x, f) - if fptr isa Ptr - unsafe_store!(getproperty(x, f), v) - else - (baseptr, offset, width) = fptr - baseptr32 = convert(Ptr{UInt32}, baseptr) - u64 = unsafe_load(baseptr32) - straddle = offset + width > 32 - if straddle - u64 |= unsafe_load(baseptr32 + 4) << 32 - end - mask = 1 << width - 1 - u64 &= ~(mask << offset) - u64 |= (unsigned(v) & mask) << offset - unsafe_store!(baseptr32, u64 & typemax(UInt32)) - if straddle - unsafe_store!(baseptr32 + 4, u64 >> 32) - end - end +function Base.setproperty!(x::Ptr{var"##Ctag#293"}, f::Symbol, v) + return unsafe_store!(getproperty(x, f), v) end -struct var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:4791:5)" +struct var"##Ctag#295" index::UInt32 domainId::UInt32 end +function Base.getproperty(x::Ptr{var"##Ctag#295"}, f::Symbol) + f === :index && return Ptr{UInt32}(x + 0) + f === :domainId && return Ptr{UInt32}(x + 4) + return getfield(x, f) +end + +function Base.getproperty(x::var"##Ctag#295", f::Symbol) + r = Ref{var"##Ctag#295"}(x) + ptr = Base.unsafe_convert(Ptr{var"##Ctag#295"}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +function Base.setproperty!(x::Ptr{var"##Ctag#295"}, f::Symbol, v) + return unsafe_store!(getproperty(x, f), v) +end -struct var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:4810:5)" +struct var"##Ctag#297" index::UInt32 domainId::UInt32 end +function Base.getproperty(x::Ptr{var"##Ctag#297"}, f::Symbol) + f === :index && return Ptr{UInt32}(x + 0) + f === :domainId && return Ptr{UInt32}(x + 4) + return getfield(x, f) +end + +function Base.getproperty(x::var"##Ctag#297", f::Symbol) + r = Ref{var"##Ctag#297"}(x) + ptr = Base.unsafe_convert(Ptr{var"##Ctag#297"}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end -struct var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:4687:5)" +function Base.setproperty!(x::Ptr{var"##Ctag#297"}, f::Symbol, v) + return unsafe_store!(getproperty(x, f), v) +end + +struct var"##Ctag#301" index::UInt32 domainId::UInt32 end +function Base.getproperty(x::Ptr{var"##Ctag#301"}, f::Symbol) + f === :index && return Ptr{UInt32}(x + 0) + f === :domainId && return Ptr{UInt32}(x + 4) + return getfield(x, f) +end + +function Base.getproperty(x::var"##Ctag#301", f::Symbol) + r = Ref{var"##Ctag#301"}(x) + ptr = Base.unsafe_convert(Ptr{var"##Ctag#301"}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +function Base.setproperty!(x::Ptr{var"##Ctag#301"}, f::Symbol, v) + return unsafe_store!(getproperty(x, f), v) +end -struct var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:4706:5)" +struct var"##Ctag#303" index::UInt32 domainId::UInt32 end +function Base.getproperty(x::Ptr{var"##Ctag#303"}, f::Symbol) + f === :index && return Ptr{UInt32}(x + 0) + f === :domainId && return Ptr{UInt32}(x + 4) + return getfield(x, f) +end -struct var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity.h:3143:5)" - data::NTuple{1,UInt8} +function Base.getproperty(x::var"##Ctag#303", f::Symbol) + r = Ref{var"##Ctag#303"}(x) + ptr = Base.unsafe_convert(Ptr{var"##Ctag#303"}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +function Base.setproperty!(x::Ptr{var"##Ctag#303"}, f::Symbol, v) + return unsafe_store!(getproperty(x, f), v) end -function Base.getproperty(x::Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity.h:3143:5)"}, - f::Symbol) +struct var"##Ctag#305" + requested::UInt8 + executed::UInt8 +end +function Base.getproperty(x::Ptr{var"##Ctag#305"}, f::Symbol) f === :requested && return (Ptr{UInt8}(x + 0), 0, 4) f === :executed && return (Ptr{UInt8}(x + 0), 4, 4) return getfield(x, f) end -function Base.getproperty(x::var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity.h:3143:5)", - f::Symbol) - r = Ref{var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity.h:3143:5)"}(x) - ptr = Base.unsafe_convert(Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity.h:3143:5)"}, - r) - fptr = getproperty(ptr, f) - begin - if fptr isa Ptr - return GC.@preserve(r, unsafe_load(fptr)) - else - (baseptr, offset, width) = fptr - ty = eltype(baseptr) - baseptr32 = convert(Ptr{UInt32}, baseptr) - u64 = GC.@preserve(r, unsafe_load(baseptr32)) - if offset + width > 32 - u64 |= GC.@preserve(r, unsafe_load(baseptr32 + 4)) << 32 - end - u64 = u64 >> offset & (1 << width - 1) - return u64 % ty - end - end +function Base.getproperty(x::var"##Ctag#305", f::Symbol) + r = Ref{var"##Ctag#305"}(x) + ptr = Base.unsafe_convert(Ptr{var"##Ctag#305"}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) end -function Base.setproperty!(x::Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity.h:3143:5)"}, - f::Symbol, v) - fptr = getproperty(x, f) - if fptr isa Ptr - unsafe_store!(getproperty(x, f), v) - else - (baseptr, offset, width) = fptr - baseptr32 = convert(Ptr{UInt32}, baseptr) - u64 = unsafe_load(baseptr32) - straddle = offset + width > 32 - if straddle - u64 |= unsafe_load(baseptr32 + 4) << 32 - end - mask = 1 << width - 1 - u64 &= ~(mask << offset) - u64 |= (unsigned(v) & mask) << offset - unsafe_store!(baseptr32, u64 & typemax(UInt32)) - if straddle - unsafe_store!(baseptr32 + 4, u64 >> 32) - end - end +function Base.setproperty!(x::Ptr{var"##Ctag#305"}, f::Symbol, v) + return unsafe_store!(getproperty(x, f), v) end -struct var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:1436:5)" - data::NTuple{1,UInt8} +struct var"##Ctag#309" + requested::UInt8 + executed::UInt8 end - -function Base.getproperty(x::Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:1436:5)"}, - f::Symbol) +function Base.getproperty(x::Ptr{var"##Ctag#309"}, f::Symbol) f === :requested && return (Ptr{UInt8}(x + 0), 0, 4) f === :executed && return (Ptr{UInt8}(x + 0), 4, 4) return getfield(x, f) end -function Base.getproperty(x::var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:1436:5)", - f::Symbol) - r = Ref{var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:1436:5)"}(x) - ptr = Base.unsafe_convert(Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:1436:5)"}, - r) - fptr = getproperty(ptr, f) - begin - if fptr isa Ptr - return GC.@preserve(r, unsafe_load(fptr)) - else - (baseptr, offset, width) = fptr - ty = eltype(baseptr) - baseptr32 = convert(Ptr{UInt32}, baseptr) - u64 = GC.@preserve(r, unsafe_load(baseptr32)) - if offset + width > 32 - u64 |= GC.@preserve(r, unsafe_load(baseptr32 + 4)) << 32 - end - u64 = u64 >> offset & (1 << width - 1) - return u64 % ty - end - end +function Base.getproperty(x::var"##Ctag#309", f::Symbol) + r = Ref{var"##Ctag#309"}(x) + ptr = Base.unsafe_convert(Ptr{var"##Ctag#309"}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) end -function Base.setproperty!(x::Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:1436:5)"}, - f::Symbol, v) - fptr = getproperty(x, f) - if fptr isa Ptr - unsafe_store!(getproperty(x, f), v) - else - (baseptr, offset, width) = fptr - baseptr32 = convert(Ptr{UInt32}, baseptr) - u64 = unsafe_load(baseptr32) - straddle = offset + width > 32 - if straddle - u64 |= unsafe_load(baseptr32 + 4) << 32 - end - mask = 1 << width - 1 - u64 &= ~(mask << offset) - u64 |= (unsigned(v) & mask) << offset - unsafe_store!(baseptr32, u64 & typemax(UInt32)) - if straddle - unsafe_store!(baseptr32 + 4, u64 >> 32) - end - end +function Base.setproperty!(x::Ptr{var"##Ctag#309"}, f::Symbol, v) + return unsafe_store!(getproperty(x, f), v) end -struct var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:1669:5)" - data::NTuple{1,UInt8} +struct var"##Ctag#343" + requested::UInt8 + executed::UInt8 +end +function Base.getproperty(x::Ptr{var"##Ctag#343"}, f::Symbol) + f === :requested && return (Ptr{UInt8}(x + 0), 0, 4) + f === :executed && return (Ptr{UInt8}(x + 0), 4, 4) + return getfield(x, f) +end + +function Base.getproperty(x::var"##Ctag#343", f::Symbol) + r = Ref{var"##Ctag#343"}(x) + ptr = Base.unsafe_convert(Ptr{var"##Ctag#343"}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +function Base.setproperty!(x::Ptr{var"##Ctag#343"}, f::Symbol, v) + return unsafe_store!(getproperty(x, f), v) end -function Base.getproperty(x::Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:1669:5)"}, - f::Symbol) +struct var"##Ctag#345" + requested::UInt8 + executed::UInt8 +end +function Base.getproperty(x::Ptr{var"##Ctag#345"}, f::Symbol) f === :requested && return (Ptr{UInt8}(x + 0), 0, 4) f === :executed && return (Ptr{UInt8}(x + 0), 4, 4) return getfield(x, f) end -function Base.getproperty(x::var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:1669:5)", - f::Symbol) - r = Ref{var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:1669:5)"}(x) - ptr = Base.unsafe_convert(Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:1669:5)"}, - r) - fptr = getproperty(ptr, f) - begin - if fptr isa Ptr - return GC.@preserve(r, unsafe_load(fptr)) - else - (baseptr, offset, width) = fptr - ty = eltype(baseptr) - baseptr32 = convert(Ptr{UInt32}, baseptr) - u64 = GC.@preserve(r, unsafe_load(baseptr32)) - if offset + width > 32 - u64 |= GC.@preserve(r, unsafe_load(baseptr32 + 4)) << 32 - end - u64 = u64 >> offset & (1 << width - 1) - return u64 % ty - end - end +function Base.getproperty(x::var"##Ctag#345", f::Symbol) + r = Ref{var"##Ctag#345"}(x) + ptr = Base.unsafe_convert(Ptr{var"##Ctag#345"}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) end -function Base.setproperty!(x::Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:1669:5)"}, - f::Symbol, v) - fptr = getproperty(x, f) - if fptr isa Ptr - unsafe_store!(getproperty(x, f), v) - else - (baseptr, offset, width) = fptr - baseptr32 = convert(Ptr{UInt32}, baseptr) - u64 = unsafe_load(baseptr32) - straddle = offset + width > 32 - if straddle - u64 |= unsafe_load(baseptr32 + 4) << 32 - end - mask = 1 << width - 1 - u64 &= ~(mask << offset) - u64 |= (unsigned(v) & mask) << offset - unsafe_store!(baseptr32, u64 & typemax(UInt32)) - if straddle - unsafe_store!(baseptr32 + 4, u64 >> 32) - end - end +function Base.setproperty!(x::Ptr{var"##Ctag#345"}, f::Symbol, v) + return unsafe_store!(getproperty(x, f), v) end -struct var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity.h:6000:5)" +struct var"##Ctag#347" index::UInt32 domainId::UInt32 end +function Base.getproperty(x::Ptr{var"##Ctag#347"}, f::Symbol) + f === :index && return Ptr{UInt32}(x + 0) + f === :domainId && return Ptr{UInt32}(x + 4) + return getfield(x, f) +end + +function Base.getproperty(x::var"##Ctag#347", f::Symbol) + r = Ref{var"##Ctag#347"}(x) + ptr = Base.unsafe_convert(Ptr{var"##Ctag#347"}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end -struct var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity.h:6019:5)" +function Base.setproperty!(x::Ptr{var"##Ctag#347"}, f::Symbol, v) + return unsafe_store!(getproperty(x, f), v) +end + +struct var"##Ctag#349" index::UInt32 domainId::UInt32 end +function Base.getproperty(x::Ptr{var"##Ctag#349"}, f::Symbol) + f === :index && return Ptr{UInt32}(x + 0) + f === :domainId && return Ptr{UInt32}(x + 4) + return getfield(x, f) +end -struct var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity.h:2841:5)" - data::NTuple{1,UInt8} +function Base.getproperty(x::var"##Ctag#349", f::Symbol) + r = Ref{var"##Ctag#349"}(x) + ptr = Base.unsafe_convert(Ptr{var"##Ctag#349"}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +function Base.setproperty!(x::Ptr{var"##Ctag#349"}, f::Symbol, v) + return unsafe_store!(getproperty(x, f), v) end -function Base.getproperty(x::Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity.h:2841:5)"}, - f::Symbol) +struct var"##Ctag#352" + requested::UInt8 + executed::UInt8 +end +function Base.getproperty(x::Ptr{var"##Ctag#352"}, f::Symbol) f === :requested && return (Ptr{UInt8}(x + 0), 0, 4) f === :executed && return (Ptr{UInt8}(x + 0), 4, 4) return getfield(x, f) end -function Base.getproperty(x::var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity.h:2841:5)", - f::Symbol) - r = Ref{var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity.h:2841:5)"}(x) - ptr = Base.unsafe_convert(Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity.h:2841:5)"}, - r) - fptr = getproperty(ptr, f) - begin - if fptr isa Ptr - return GC.@preserve(r, unsafe_load(fptr)) - else - (baseptr, offset, width) = fptr - ty = eltype(baseptr) - baseptr32 = convert(Ptr{UInt32}, baseptr) - u64 = GC.@preserve(r, unsafe_load(baseptr32)) - if offset + width > 32 - u64 |= GC.@preserve(r, unsafe_load(baseptr32 + 4)) << 32 - end - u64 = u64 >> offset & (1 << width - 1) - return u64 % ty - end - end +function Base.getproperty(x::var"##Ctag#352", f::Symbol) + r = Ref{var"##Ctag#352"}(x) + ptr = Base.unsafe_convert(Ptr{var"##Ctag#352"}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) end -function Base.setproperty!(x::Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity.h:2841:5)"}, - f::Symbol, v) - fptr = getproperty(x, f) - if fptr isa Ptr - unsafe_store!(getproperty(x, f), v) - else - (baseptr, offset, width) = fptr - baseptr32 = convert(Ptr{UInt32}, baseptr) - u64 = unsafe_load(baseptr32) - straddle = offset + width > 32 - if straddle - u64 |= unsafe_load(baseptr32 + 4) << 32 - end - mask = 1 << width - 1 - u64 &= ~(mask << offset) - u64 |= (unsigned(v) & mask) << offset - unsafe_store!(baseptr32, u64 & typemax(UInt32)) - if straddle - unsafe_store!(baseptr32 + 4, u64 >> 32) - end - end +function Base.setproperty!(x::Ptr{var"##Ctag#352"}, f::Symbol, v) + return unsafe_store!(getproperty(x, f), v) end -struct var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity.h:4353:5)" +struct var"##Ctag#354" smClock::UInt32 memoryClock::UInt32 pcieLinkGen::UInt32 pcieLinkWidth::UInt32 clocksThrottleReasons::CUpti_EnvironmentClocksThrottleReason end +function Base.getproperty(x::Ptr{var"##Ctag#354"}, f::Symbol) + f === :smClock && return Ptr{UInt32}(x + 0) + f === :memoryClock && return Ptr{UInt32}(x + 4) + f === :pcieLinkGen && return Ptr{UInt32}(x + 8) + f === :pcieLinkWidth && return Ptr{UInt32}(x + 12) + f === :clocksThrottleReasons && + return Ptr{CUpti_EnvironmentClocksThrottleReason}(x + 16) + return getfield(x, f) +end -struct var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity.h:4384:5)" +function Base.getproperty(x::var"##Ctag#354", f::Symbol) + r = Ref{var"##Ctag#354"}(x) + ptr = Base.unsafe_convert(Ptr{var"##Ctag#354"}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +function Base.setproperty!(x::Ptr{var"##Ctag#354"}, f::Symbol, v) + return unsafe_store!(getproperty(x, f), v) +end + +struct var"##Ctag#355" gpuTemperature::UInt32 end +function Base.getproperty(x::Ptr{var"##Ctag#355"}, f::Symbol) + f === :gpuTemperature && return Ptr{UInt32}(x + 0) + return getfield(x, f) +end -struct var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity.h:4396:5)" +function Base.getproperty(x::var"##Ctag#355", f::Symbol) + r = Ref{var"##Ctag#355"}(x) + ptr = Base.unsafe_convert(Ptr{var"##Ctag#355"}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +function Base.setproperty!(x::Ptr{var"##Ctag#355"}, f::Symbol, v) + return unsafe_store!(getproperty(x, f), v) +end + +struct var"##Ctag#356" power::UInt32 powerLimit::UInt32 end +function Base.getproperty(x::Ptr{var"##Ctag#356"}, f::Symbol) + f === :power && return Ptr{UInt32}(x + 0) + f === :powerLimit && return Ptr{UInt32}(x + 4) + return getfield(x, f) +end + +function Base.getproperty(x::var"##Ctag#356", f::Symbol) + r = Ref{var"##Ctag#356"}(x) + ptr = Base.unsafe_convert(Ptr{var"##Ctag#356"}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +function Base.setproperty!(x::Ptr{var"##Ctag#356"}, f::Symbol, v) + return unsafe_store!(getproperty(x, f), v) +end -struct var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity.h:4406:5)" +struct var"##Ctag#357" fanSpeed::UInt32 end +function Base.getproperty(x::Ptr{var"##Ctag#357"}, f::Symbol) + f === :fanSpeed && return Ptr{UInt32}(x + 0) + return getfield(x, f) +end + +function Base.getproperty(x::var"##Ctag#357", f::Symbol) + r = Ref{var"##Ctag#357"}(x) + ptr = Base.unsafe_convert(Ptr{var"##Ctag#357"}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end -struct var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity.h:6165:5)" +function Base.setproperty!(x::Ptr{var"##Ctag#357"}, f::Symbol, v) + return unsafe_store!(getproperty(x, f), v) +end + +struct var"##Ctag#360" uuidDev::CUuuid peerDev::NTuple{32,CUdevice} end +function Base.getproperty(x::Ptr{var"##Ctag#360"}, f::Symbol) + f === :uuidDev && return Ptr{CUuuid}(x + 0) + f === :peerDev && return Ptr{NTuple{32,CUdevice}}(x + 16) + return getfield(x, f) +end -struct var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity.h:6179:5)" +function Base.getproperty(x::var"##Ctag#360", f::Symbol) + r = Ref{var"##Ctag#360"}(x) + ptr = Base.unsafe_convert(Ptr{var"##Ctag#360"}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +function Base.setproperty!(x::Ptr{var"##Ctag#360"}, f::Symbol, v) + return unsafe_store!(getproperty(x, f), v) +end + +struct var"##Ctag#361" secondaryBus::UInt16 deviceId::UInt16 vendorId::UInt16 pad0::UInt16 end +function Base.getproperty(x::Ptr{var"##Ctag#361"}, f::Symbol) + f === :secondaryBus && return Ptr{UInt16}(x + 0) + f === :deviceId && return Ptr{UInt16}(x + 2) + f === :vendorId && return Ptr{UInt16}(x + 4) + f === :pad0 && return Ptr{UInt16}(x + 6) + return getfield(x, f) +end -struct var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:1094:5)" - data::NTuple{1,UInt8} +function Base.getproperty(x::var"##Ctag#361", f::Symbol) + r = Ref{var"##Ctag#361"}(x) + ptr = Base.unsafe_convert(Ptr{var"##Ctag#361"}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +function Base.setproperty!(x::Ptr{var"##Ctag#361"}, f::Symbol, v) + return unsafe_store!(getproperty(x, f), v) end -function Base.getproperty(x::Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:1094:5)"}, - f::Symbol) +struct var"##Ctag#363" + requested::UInt8 + executed::UInt8 +end +function Base.getproperty(x::Ptr{var"##Ctag#363"}, f::Symbol) f === :requested && return (Ptr{UInt8}(x + 0), 0, 4) f === :executed && return (Ptr{UInt8}(x + 0), 4, 4) return getfield(x, f) end -function Base.getproperty(x::var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:1094:5)", - f::Symbol) - r = Ref{var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:1094:5)"}(x) - ptr = Base.unsafe_convert(Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:1094:5)"}, - r) - fptr = getproperty(ptr, f) - begin - if fptr isa Ptr - return GC.@preserve(r, unsafe_load(fptr)) - else - (baseptr, offset, width) = fptr - ty = eltype(baseptr) - baseptr32 = convert(Ptr{UInt32}, baseptr) - u64 = GC.@preserve(r, unsafe_load(baseptr32)) - if offset + width > 32 - u64 |= GC.@preserve(r, unsafe_load(baseptr32 + 4)) << 32 - end - u64 = u64 >> offset & (1 << width - 1) - return u64 % ty - end - end +function Base.getproperty(x::var"##Ctag#363", f::Symbol) + r = Ref{var"##Ctag#363"}(x) + ptr = Base.unsafe_convert(Ptr{var"##Ctag#363"}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) end -function Base.setproperty!(x::Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:1094:5)"}, - f::Symbol, v) - fptr = getproperty(x, f) - if fptr isa Ptr - unsafe_store!(getproperty(x, f), v) - else - (baseptr, offset, width) = fptr - baseptr32 = convert(Ptr{UInt32}, baseptr) - u64 = unsafe_load(baseptr32) - straddle = offset + width > 32 - if straddle - u64 |= unsafe_load(baseptr32 + 4) << 32 - end - mask = 1 << width - 1 - u64 &= ~(mask << offset) - u64 |= (unsigned(v) & mask) << offset - unsafe_store!(baseptr32, u64 & typemax(UInt32)) - if straddle - unsafe_store!(baseptr32 + 4, u64 >> 32) - end - end +function Base.setproperty!(x::Ptr{var"##Ctag#363"}, f::Symbol, v) + return unsafe_store!(getproperty(x, f), v) end -struct var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:2442:5)" - data::NTuple{1,UInt8} +struct var"##Ctag#377" + requested::UInt8 + executed::UInt8 end - -function Base.getproperty(x::Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:2442:5)"}, - f::Symbol) +function Base.getproperty(x::Ptr{var"##Ctag#377"}, f::Symbol) f === :requested && return (Ptr{UInt8}(x + 0), 0, 4) f === :executed && return (Ptr{UInt8}(x + 0), 4, 4) return getfield(x, f) end -function Base.getproperty(x::var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:2442:5)", - f::Symbol) - r = Ref{var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:2442:5)"}(x) - ptr = Base.unsafe_convert(Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:2442:5)"}, - r) - fptr = getproperty(ptr, f) - begin - if fptr isa Ptr - return GC.@preserve(r, unsafe_load(fptr)) - else - (baseptr, offset, width) = fptr - ty = eltype(baseptr) - baseptr32 = convert(Ptr{UInt32}, baseptr) - u64 = GC.@preserve(r, unsafe_load(baseptr32)) - if offset + width > 32 - u64 |= GC.@preserve(r, unsafe_load(baseptr32 + 4)) << 32 - end - u64 = u64 >> offset & (1 << width - 1) - return u64 % ty - end - end +function Base.getproperty(x::var"##Ctag#377", f::Symbol) + r = Ref{var"##Ctag#377"}(x) + ptr = Base.unsafe_convert(Ptr{var"##Ctag#377"}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) end -function Base.setproperty!(x::Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity_deprecated.h:2442:5)"}, - f::Symbol, v) - fptr = getproperty(x, f) - if fptr isa Ptr - unsafe_store!(getproperty(x, f), v) - else - (baseptr, offset, width) = fptr - baseptr32 = convert(Ptr{UInt32}, baseptr) - u64 = unsafe_load(baseptr32) - straddle = offset + width > 32 - if straddle - u64 |= unsafe_load(baseptr32 + 4) << 32 - end - mask = 1 << width - 1 - u64 &= ~(mask << offset) - u64 |= (unsigned(v) & mask) << offset - unsafe_store!(baseptr32, u64 & typemax(UInt32)) - if straddle - unsafe_store!(baseptr32 + 4, u64 >> 32) - end - end +function Base.setproperty!(x::Ptr{var"##Ctag#377"}, f::Symbol, v) + return unsafe_store!(getproperty(x, f), v) end -struct var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity.h:676:3)" +struct var"##Ctag#394" processId::UInt32 threadId::UInt32 end +function Base.getproperty(x::Ptr{var"##Ctag#394"}, f::Symbol) + f === :processId && return Ptr{UInt32}(x + 0) + f === :threadId && return Ptr{UInt32}(x + 4) + return getfield(x, f) +end + +function Base.getproperty(x::var"##Ctag#394", f::Symbol) + r = Ref{var"##Ctag#394"}(x) + ptr = Base.unsafe_convert(Ptr{var"##Ctag#394"}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +function Base.setproperty!(x::Ptr{var"##Ctag#394"}, f::Symbol, v) + return unsafe_store!(getproperty(x, f), v) +end -struct var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/cupti_activity.h:687:3)" +struct var"##Ctag#395" deviceId::UInt32 contextId::UInt32 streamId::UInt32 end +function Base.getproperty(x::Ptr{var"##Ctag#395"}, f::Symbol) + f === :deviceId && return Ptr{UInt32}(x + 0) + f === :contextId && return Ptr{UInt32}(x + 4) + f === :streamId && return Ptr{UInt32}(x + 8) + return getfield(x, f) +end + +function Base.getproperty(x::var"##Ctag#395", f::Symbol) + r = Ref{var"##Ctag#395"}(x) + ptr = Base.unsafe_convert(Ptr{var"##Ctag#395"}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +function Base.setproperty!(x::Ptr{var"##Ctag#395"}, f::Symbol, v) + return unsafe_store!(getproperty(x, f), v) +end + +const CUPTI_SUBSCRIBER_NAME_MAX_LEN = 53 + +const CUPTI_OLD_SUBSCRIBER_NAME_MIN_LEN = 64 + +const CUpti_SubscriberParams_STRUCT_SIZE = @CUPTI_CALLBACK_STRUCT_SIZE(CUpti_SubscriberParams, + oldSubscriberSize) const CUPTI_EVENT_OVERFLOW = uint64_t(Culonglong(0xffffffffffffffff)) diff --git a/lib/curand/libcurand.jl b/lib/curand/libcurand.jl index 17d057d52c..abcdde02dd 100644 --- a/lib/curand/libcurand.jl +++ b/lib/curand/libcurand.jl @@ -1,7 +1,7 @@ # This file is automatically generated. Do not edit! # To re-generate, execute res/wrap/wrap.jl -using CEnum +using CEnum: CEnum, @cenum # CURAND uses CUDA runtime objects, which are compatible with our driver usage const cudaStream_t = CUstream diff --git a/lib/cusolver/CUSOLVER.jl b/lib/cusolver/CUSOLVER.jl index 95221cdd1e..eb8a9db9f3 100644 --- a/lib/cusolver/CUSOLVER.jl +++ b/lib/cusolver/CUSOLVER.jl @@ -6,7 +6,7 @@ using ..GPUToolbox using ..CUDA_Runtime using ..CUDA -using ..CUDA: CUstream, cuComplex, cuDoubleComplex, libraryPropertyType, cudaDataType +using ..CUDA: CUstream, cuComplex, cuDoubleComplex, libraryPropertyType, cudaDataType, cudaEmulationStrategy_t using ..CUDA: @allowscalar, assertscalar, unsafe_free!, retry_reclaim, initialize_context using ..CUBLAS: cublasFillMode_t, cublasOperation_t, cublasSideMode_t, cublasDiagType_t @@ -30,6 +30,7 @@ end # core library include("libcusolver.jl") +include("libcusolver_deprecated.jl") include("libcusolverMg.jl") include("libcusolverRF.jl") diff --git a/lib/cusolver/dense.jl b/lib/cusolver/dense.jl index 12e853c448..8ad5f1c809 100644 --- a/lib/cusolver/dense.jl +++ b/lib/cusolver/dense.jl @@ -20,6 +20,7 @@ for (bname, fname,elty) in ((:cusolverDnSpotrf_bufferSize, :cusolverDnSpotrf, :F @eval begin function potrf!(uplo::Char, A::StridedCuMatrix{$elty}) + (CUSOLVER.version() >= v"12.0.3") && throw(ArgumentError("This routine was removed in CUDA 13")). chkuplo(uplo) n = checksquare(A) lda = max(1, stride(A, 2)) @@ -53,6 +54,7 @@ for (fname,elty) in ((:cusolverDnSpotrs, :Float32), function potrs!(uplo::Char, A::StridedCuMatrix{$elty}, B::StridedCuVecOrMat{$elty}) + (CUSOLVER.version() >= v"12.0.3") && throw(ArgumentError("This routine was removed in CUDA 13")). chkuplo(uplo) n = checksquare(A) if size(B, 1) != n @@ -111,6 +113,7 @@ for (bname, fname,elty) in ((:cusolverDnSgetrf_bufferSize, :cusolverDnSgetrf, :F (:cusolverDnZgetrf_bufferSize, :cusolverDnZgetrf, :ComplexF64)) @eval begin function getrf!(A::StridedCuMatrix{$elty}, ipiv::CuVector{Cint}) + (CUSOLVER.version() >= v"12.0.3") && throw(ArgumentError("This routine was removed in CUDA 13")). m,n = size(A) lda = max(1, stride(A, 2)) dh = dense_handle() @@ -132,6 +135,7 @@ for (bname, fname,elty) in ((:cusolverDnSgetrf_bufferSize, :cusolverDnSgetrf, :F end function getrf!(A::StridedCuMatrix{$elty}) + (CUSOLVER.version() >= v"12.0.3") && throw(ArgumentError("This routine was removed in CUDA 13")). m,n = size(A) ipiv = CuArray{Cint}(undef, min(m, n)) getrf!(A, ipiv) @@ -146,6 +150,7 @@ for (bname, fname,elty) in ((:cusolverDnSgeqrf_bufferSize, :cusolverDnSgeqrf, :F (:cusolverDnZgeqrf_bufferSize, :cusolverDnZgeqrf, :ComplexF64)) @eval begin function geqrf!(A::StridedCuMatrix{$elty}, tau::CuVector{$elty}) + (CUSOLVER.version() >= v"12.0.3") && throw(ArgumentError("This routine was removed in CUDA 13")). m, n = size(A) lda = max(1, stride(A, 2)) dh = dense_handle() @@ -168,6 +173,7 @@ for (bname, fname,elty) in ((:cusolverDnSgeqrf_bufferSize, :cusolverDnSgeqrf, :F end function geqrf!(A::StridedCuMatrix{$elty}) + (CUSOLVER.version() >= v"12.0.3") && throw(ArgumentError("This routine was removed in CUDA 13")). m, n = size(A) tau = similar(A, $elty, min(m,n)) geqrf!(A, tau) @@ -249,6 +255,8 @@ for (fname,elty) in ((:cusolverDnSgetrs, :Float32), ipiv::CuVector{Cint}, B::StridedCuVecOrMat{$elty}) + (CUSOLVER.version() >= v"12.0.3") && throw(ArgumentError("This routine was removed in CUDA 13")). + # Support transa = 'C' for real matrices trans = $elty <: Real && trans == 'C' ? 'T' : trans @@ -411,6 +419,7 @@ for (bname, fname, elty, relty) in ((:cusolverDnSgesvd_bufferSize, :cusolverDnSg function gesvd!(jobu::Char, jobvt::Char, A::StridedCuMatrix{$elty}) + (CUSOLVER.version() >= v"12.0.3") && throw(ArgumentError("This routine was removed in CUDA 13")). m, n = size(A) (m < n) && throw(ArgumentError("CUSOLVER's gesvd requires m ≥ n")) k = min(m, n) @@ -642,6 +651,7 @@ for (jname, bname, fname, elty, relty) in ((:syevd!, :cusolverDnSsyevd_bufferSiz function $jname(jobz::Char, uplo::Char, A::StridedCuMatrix{$elty}) + (CUSOLVER.version() >= v"12.0.3") && throw(ArgumentError("This routine was removed in CUDA 13")). chkuplo(uplo) n = checksquare(A) lda = max(1, stride(A, 2)) @@ -1019,45 +1029,47 @@ end # LAPACK for elty in (:Float32, :Float64, :ComplexF32, :ComplexF64) @eval begin - LAPACK.potrf!(uplo::Char, A::StridedCuMatrix{$elty}) = potrf!(uplo, A) - LAPACK.potrs!(uplo::Char, A::StridedCuMatrix{$elty}, B::StridedCuVecOrMat{$elty}) = potrs!(uplo, A, B) + LAPACK.potrf!(uplo::Char, A::StridedCuMatrix{$elty}) = (CUSOLVER.version() >= v"12.0.3") ? Xpotrf!(uplo, A) : Xpotrf!(uplo, A) + LAPACK.potrs!(uplo::Char, A::StridedCuMatrix{$elty}, B::StridedCuVecOrMat{$elty}) = (CUSOLVER.version() >= v"12.0.3") ? potrs!(uplo, A, B) : Xpotrs!(uplo, A, B) LAPACK.potri!(uplo::Char, A::StridedCuMatrix{$elty}) = potri!(uplo, A) - LAPACK.getrf!(A::StridedCuMatrix{$elty}) = getrf!(A) - LAPACK.getrf!(A::StridedCuMatrix{$elty}, ipiv::CuVector{Cint}) = getrf!(A, ipiv) - LAPACK.geqrf!(A::StridedCuMatrix{$elty}) = geqrf!(A) - LAPACK.geqrf!(A::StridedCuMatrix{$elty}, tau::CuVector{$elty}) = geqrf!(A, tau) + LAPACK.getrf!(A::StridedCuMatrix{$elty}) = (CUSOLVER.version() >= v"12.0.3") ? getrf!(A) : Xgetrf!(A) + LAPACK.getrf!(A::StridedCuMatrix{$elty}, ipiv::CuVector{Cint}) = (CUSOLVER.version() >= v"12.0.3") ? getrf!(A, ipiv) : Xgetrf!(A, CuVector{Int64}(ipiv)) + LAPACK.getrf!(A::StridedCuMatrix{$elty}, ipiv::CuVector{Int64}) = Xgetrf!(A, ipiv) + LAPACK.geqrf!(A::StridedCuMatrix{$elty}) = (CUSOLVER.version() >= v"12.0.3") ? geqrf!(A) : Xgeqrf!(A) + LAPACK.geqrf!(A::StridedCuMatrix{$elty}, tau::CuVector{$elty}) = (CUSOLVER.version() >= v"12.0.3") ? geqrf!(A, tau) : Xgeqrf!(A, tau) LAPACK.sytrf!(uplo::Char, A::StridedCuMatrix{$elty}) = sytrf!(uplo, A) LAPACK.sytrf!(uplo::Char, A::StridedCuMatrix{$elty}, ipiv::CuVector{Cint}) = sytrf!(uplo, A, ipiv) - LAPACK.getrs!(trans::Char, A::StridedCuMatrix{$elty}, ipiv::CuVector{Cint}, B::StridedCuVecOrMat{$elty}) = getrs!(trans, A, ipiv, B) + LAPACK.getrs!(trans::Char, A::StridedCuMatrix{$elty}, ipiv::CuVector{Cint}, B::StridedCuVecOrMat{$elty}) = (CUSOLVER.version() >= v"12.0.3") ? Xgetrs!(trans, A, CuVector{Int64}(ipiv), B) + LAPACK.getrs!(trans::Char, A::StridedCuMatrix{$elty}, ipiv::CuVector{Int64}, B::StridedCuVecOrMat{$elty}) = Xgetrs!(trans, A, ipiv, B) LAPACK.ormqr!(side::Char, trans::Char, A::CuMatrix{$elty}, tau::CuVector{$elty}, C::CuVecOrMat{$elty}) = ormqr!(side, trans, A, tau, C) LAPACK.orgqr!(A::StridedCuMatrix{$elty}, tau::CuVector{$elty}) = orgqr!(A, tau) LAPACK.gebrd!(A::StridedCuMatrix{$elty}) = gebrd!(A) - LAPACK.gesvd!(jobu::Char, jobvt::Char, A::StridedCuMatrix{$elty}) = gesvd!(jobu, jobvt, A) + LAPACK.gesvd!(jobu::Char, jobvt::Char, A::StridedCuMatrix{$elty}) = (CUSOLVER.version() >= v"12.0.3") ? gesvd!(jobu, jobvt, A) : Xgesvd!(jobu, jobvt, A) end end for elty in (:Float32, :Float64) @eval begin - LAPACK.syev!(jobz::Char, uplo::Char, A::StridedCuMatrix{$elty}) = syevd!(jobz, uplo, A) + LAPACK.syev!(jobz::Char, uplo::Char, A::StridedCuMatrix{$elty}) = (CUSOLVER.version() >= v"12.0.3") ? syevd!(jobz, uplo, A) : Xsyevd!(jobz, uplo, A) LAPACK.sygvd!(itype::Int, jobz::Char, uplo::Char, A::StridedCuMatrix{$elty}, B::StridedCuMatrix{$elty}) = sygvd!(itype, jobz, uplo, A, B) end end for elty in (:ComplexF32, :ComplexF64) @eval begin - LAPACK.syev!(jobz::Char, uplo::Char, A::StridedCuMatrix{$elty}) = heevd!(jobz, uplo, A) + LAPACK.syev!(jobz::Char, uplo::Char, A::StridedCuMatrix{$elty}) = (CUSOLVER.version() >= v"12.0.3") ? heevd!(jobz, uplo, A) : Xsyevd!(jobz, uplo, A) LAPACK.sygvd!(itype::Int, jobz::Char, uplo::Char, A::StridedCuMatrix{$elty}, B::StridedCuMatrix{$elty}) = hegvd!(itype, jobz, uplo, A, B) end end for elty in (:Float32, :Float64) @eval begin - LAPACK.syevd!(jobz::Char, uplo::Char, A::StridedCuMatrix{$elty}) = syevd!(jobz, uplo, A) + LAPACK.syevd!(jobz::Char, uplo::Char, A::StridedCuMatrix{$elty}) = (CUSOLVER.version() >= v"12.0.3") ? syevd!(jobz, uplo, A) : Xsyevd!(jobz, uplo, A) end end for elty in (:ComplexF32, :ComplexF64) @eval begin - LAPACK.syevd!(jobz::Char, uplo::Char, A::StridedCuMatrix{$elty}) = heevd!(jobz, uplo, A) + LAPACK.syevd!(jobz::Char, uplo::Char, A::StridedCuMatrix{$elty}) = (CUSOLVER.version() >= v"12.0.3") ? heevd!(jobz, uplo, A) : Xsyevd!(jobz, uplo, A) end end diff --git a/lib/cusolver/libcusolver.jl b/lib/cusolver/libcusolver.jl index e494be584c..c5cc97dc35 100644 --- a/lib/cusolver/libcusolver.jl +++ b/lib/cusolver/libcusolver.jl @@ -1,7 +1,7 @@ # This file is automatically generated. Do not edit! # To re-generate, execute res/wrap/wrap.jl -using CEnum +using CEnum: CEnum, @cenum # CUSOLVER uses CUDA runtime objects, which are compatible with our driver usage const cudaStream_t = CUstream @@ -53,11 +53,7 @@ const cusolverDnParams_t = Ptr{cusolverDnParams} @cenum cusolverDnFunction_t::UInt32 begin CUSOLVERDN_GETRF = 0 CUSOLVERDN_POTRF = 1 -end - -@cenum cusolverDeterministicMode_t::UInt32 begin - CUSOLVER_DETERMINISTIC_RESULTS = 1 - CUSOLVER_ALLOW_NON_DETERMINISTIC_RESULTS = 2 + CUSOLVERDN_SYEVBATCHED = 2 end const cusolver_int_t = Cint @@ -162,6 +158,16 @@ end CUBLAS_DIRECT_BACKWARD = 1 end +@cenum cusolverDeterministicMode_t::UInt32 begin + CUSOLVER_DETERMINISTIC_RESULTS = 1 + CUSOLVER_ALLOW_NON_DETERMINISTIC_RESULTS = 2 +end + +@cenum cusolverMathMode_t::UInt32 begin + CUSOLVER_DEFAULT_MATH = 1 + CUSOLVER_FP32_EMULATED_BF16X9_MATH = 2 +end + @checked function cusolverGetProperty(type, value) @gcsafe_ccall libcusolver.cusolverGetProperty(type::libraryPropertyType, value::Ptr{Cint})::cusolverStatus_t @@ -205,6 +211,30 @@ end mode::Ptr{cusolverDeterministicMode_t})::cusolverStatus_t end +@checked function cusolverDnSetMathMode(handle, mode) + initialize_context() + @gcsafe_ccall libcusolver.cusolverDnSetMathMode(handle::cusolverDnHandle_t, + mode::cusolverMathMode_t)::cusolverStatus_t +end + +@checked function cusolverDnGetMathMode(handle, mode) + initialize_context() + @gcsafe_ccall libcusolver.cusolverDnGetMathMode(handle::cusolverDnHandle_t, + mode::Ptr{cusolverMathMode_t})::cusolverStatus_t +end + +@checked function cusolverDnSetEmulationStrategy(handle, strategy) + initialize_context() + @gcsafe_ccall libcusolver.cusolverDnSetEmulationStrategy(handle::cusolverDnHandle_t, + strategy::cudaEmulationStrategy_t)::cusolverStatus_t +end + +@checked function cusolverDnGetEmulationStrategy(handle, strategy) + initialize_context() + @gcsafe_ccall libcusolver.cusolverDnGetEmulationStrategy(handle::cusolverDnHandle_t, + strategy::Ptr{cudaEmulationStrategy_t})::cusolverStatus_t +end + @checked function cusolverDnIRSParamsCreate(params_ptr) initialize_context() @gcsafe_ccall libcusolver.cusolverDnIRSParamsCreate(params_ptr::Ptr{cusolverDnIRSParams_t})::cusolverStatus_t @@ -4293,219 +4323,6 @@ end algo::cusolverAlgMode_t)::cusolverStatus_t end -@checked function cusolverDnPotrf_bufferSize(handle, params, uplo, n, dataTypeA, A, lda, - computeType, workspaceInBytes) - initialize_context() - @gcsafe_ccall libcusolver.cusolverDnPotrf_bufferSize(handle::cusolverDnHandle_t, - params::cusolverDnParams_t, - uplo::cublasFillMode_t, n::Int64, - dataTypeA::cudaDataType, - A::CuPtr{Cvoid}, lda::Int64, - computeType::cudaDataType, - workspaceInBytes::Ptr{Csize_t})::cusolverStatus_t -end - -@checked function cusolverDnPotrf(handle, params, uplo, n, dataTypeA, A, lda, computeType, - pBuffer, workspaceInBytes, info) - initialize_context() - @gcsafe_ccall libcusolver.cusolverDnPotrf(handle::cusolverDnHandle_t, - params::cusolverDnParams_t, - uplo::cublasFillMode_t, n::Int64, - dataTypeA::cudaDataType, A::CuPtr{Cvoid}, - lda::Int64, computeType::cudaDataType, - pBuffer::CuPtr{Cvoid}, - workspaceInBytes::Csize_t, - info::CuPtr{Cint})::cusolverStatus_t -end - -@checked function cusolverDnPotrs(handle, params, uplo, n, nrhs, dataTypeA, A, lda, - dataTypeB, B, ldb, info) - initialize_context() - @gcsafe_ccall libcusolver.cusolverDnPotrs(handle::cusolverDnHandle_t, - params::cusolverDnParams_t, - uplo::cublasFillMode_t, n::Int64, nrhs::Int64, - dataTypeA::cudaDataType, A::CuPtr{Cvoid}, - lda::Int64, dataTypeB::cudaDataType, - B::CuPtr{Cvoid}, ldb::Int64, - info::CuPtr{Cint})::cusolverStatus_t -end - -@checked function cusolverDnGeqrf_bufferSize(handle, params, m, n, dataTypeA, A, lda, - dataTypeTau, tau, computeType, - workspaceInBytes) - initialize_context() - @gcsafe_ccall libcusolver.cusolverDnGeqrf_bufferSize(handle::cusolverDnHandle_t, - params::cusolverDnParams_t, - m::Int64, n::Int64, - dataTypeA::cudaDataType, - A::CuPtr{Cvoid}, lda::Int64, - dataTypeTau::cudaDataType, - tau::CuPtr{Cvoid}, - computeType::cudaDataType, - workspaceInBytes::Ptr{Csize_t})::cusolverStatus_t -end - -@checked function cusolverDnGeqrf(handle, params, m, n, dataTypeA, A, lda, dataTypeTau, tau, - computeType, pBuffer, workspaceInBytes, info) - initialize_context() - @gcsafe_ccall libcusolver.cusolverDnGeqrf(handle::cusolverDnHandle_t, - params::cusolverDnParams_t, m::Int64, - n::Int64, dataTypeA::cudaDataType, - A::CuPtr{Cvoid}, lda::Int64, - dataTypeTau::cudaDataType, tau::CuPtr{Cvoid}, - computeType::cudaDataType, - pBuffer::CuPtr{Cvoid}, - workspaceInBytes::Csize_t, - info::CuPtr{Cint})::cusolverStatus_t -end - -@checked function cusolverDnGetrf_bufferSize(handle, params, m, n, dataTypeA, A, lda, - computeType, workspaceInBytes) - initialize_context() - @gcsafe_ccall libcusolver.cusolverDnGetrf_bufferSize(handle::cusolverDnHandle_t, - params::cusolverDnParams_t, - m::Int64, n::Int64, - dataTypeA::cudaDataType, - A::CuPtr{Cvoid}, lda::Int64, - computeType::cudaDataType, - workspaceInBytes::Ptr{Csize_t})::cusolverStatus_t -end - -@checked function cusolverDnGetrf(handle, params, m, n, dataTypeA, A, lda, ipiv, - computeType, pBuffer, workspaceInBytes, info) - initialize_context() - @gcsafe_ccall libcusolver.cusolverDnGetrf(handle::cusolverDnHandle_t, - params::cusolverDnParams_t, m::Int64, - n::Int64, dataTypeA::cudaDataType, - A::CuPtr{Cvoid}, lda::Int64, - ipiv::CuPtr{Int64}, computeType::cudaDataType, - pBuffer::CuPtr{Cvoid}, - workspaceInBytes::Csize_t, - info::CuPtr{Cint})::cusolverStatus_t -end - -@checked function cusolverDnGetrs(handle, params, trans, n, nrhs, dataTypeA, A, lda, ipiv, - dataTypeB, B, ldb, info) - initialize_context() - @gcsafe_ccall libcusolver.cusolverDnGetrs(handle::cusolverDnHandle_t, - params::cusolverDnParams_t, - trans::cublasOperation_t, n::Int64, - nrhs::Int64, dataTypeA::cudaDataType, - A::CuPtr{Cvoid}, lda::Int64, - ipiv::CuPtr{Int64}, dataTypeB::cudaDataType, - B::CuPtr{Cvoid}, ldb::Int64, - info::CuPtr{Cint})::cusolverStatus_t -end - -@checked function cusolverDnSyevd_bufferSize(handle, params, jobz, uplo, n, dataTypeA, A, - lda, dataTypeW, W, computeType, - workspaceInBytes) - initialize_context() - @gcsafe_ccall libcusolver.cusolverDnSyevd_bufferSize(handle::cusolverDnHandle_t, - params::cusolverDnParams_t, - jobz::cusolverEigMode_t, - uplo::cublasFillMode_t, n::Int64, - dataTypeA::cudaDataType, - A::CuPtr{Cvoid}, lda::Int64, - dataTypeW::cudaDataType, - W::CuPtr{Cvoid}, - computeType::cudaDataType, - workspaceInBytes::Ptr{Csize_t})::cusolverStatus_t -end - -@checked function cusolverDnSyevd(handle, params, jobz, uplo, n, dataTypeA, A, lda, - dataTypeW, W, computeType, pBuffer, workspaceInBytes, - info) - initialize_context() - @gcsafe_ccall libcusolver.cusolverDnSyevd(handle::cusolverDnHandle_t, - params::cusolverDnParams_t, - jobz::cusolverEigMode_t, - uplo::cublasFillMode_t, n::Int64, - dataTypeA::cudaDataType, A::CuPtr{Cvoid}, - lda::Int64, dataTypeW::cudaDataType, - W::CuPtr{Cvoid}, computeType::cudaDataType, - pBuffer::CuPtr{Cvoid}, - workspaceInBytes::Csize_t, - info::CuPtr{Cint})::cusolverStatus_t -end - -@checked function cusolverDnSyevdx_bufferSize(handle, params, jobz, range, uplo, n, - dataTypeA, A, lda, vl, vu, il, iu, h_meig, - dataTypeW, W, computeType, workspaceInBytes) - initialize_context() - @gcsafe_ccall libcusolver.cusolverDnSyevdx_bufferSize(handle::cusolverDnHandle_t, - params::cusolverDnParams_t, - jobz::cusolverEigMode_t, - range::cusolverEigRange_t, - uplo::cublasFillMode_t, n::Int64, - dataTypeA::cudaDataType, - A::CuPtr{Cvoid}, lda::Int64, - vl::Ptr{Cvoid}, vu::Ptr{Cvoid}, - il::Int64, iu::Int64, - h_meig::Ptr{Int64}, - dataTypeW::cudaDataType, - W::CuPtr{Cvoid}, - computeType::cudaDataType, - workspaceInBytes::Ptr{Csize_t})::cusolverStatus_t -end - -@checked function cusolverDnSyevdx(handle, params, jobz, range, uplo, n, dataTypeA, A, lda, - vl, vu, il, iu, meig64, dataTypeW, W, computeType, - pBuffer, workspaceInBytes, info) - initialize_context() - @gcsafe_ccall libcusolver.cusolverDnSyevdx(handle::cusolverDnHandle_t, - params::cusolverDnParams_t, - jobz::cusolverEigMode_t, - range::cusolverEigRange_t, - uplo::cublasFillMode_t, n::Int64, - dataTypeA::cudaDataType, A::CuPtr{Cvoid}, - lda::Int64, vl::Ptr{Cvoid}, vu::Ptr{Cvoid}, - il::Int64, iu::Int64, meig64::Ptr{Int64}, - dataTypeW::cudaDataType, W::CuPtr{Cvoid}, - computeType::cudaDataType, - pBuffer::CuPtr{Cvoid}, - workspaceInBytes::Csize_t, - info::CuPtr{Cint})::cusolverStatus_t -end - -@checked function cusolverDnGesvd_bufferSize(handle, params, jobu, jobvt, m, n, dataTypeA, - A, lda, dataTypeS, S, dataTypeU, U, ldu, - dataTypeVT, VT, ldvt, computeType, - workspaceInBytes) - initialize_context() - @gcsafe_ccall libcusolver.cusolverDnGesvd_bufferSize(handle::cusolverDnHandle_t, - params::cusolverDnParams_t, - jobu::Int8, jobvt::Int8, m::Int64, - n::Int64, dataTypeA::cudaDataType, - A::CuPtr{Cvoid}, lda::Int64, - dataTypeS::cudaDataType, - S::CuPtr{Cvoid}, - dataTypeU::cudaDataType, - U::CuPtr{Cvoid}, ldu::Int64, - dataTypeVT::cudaDataType, - VT::CuPtr{Cvoid}, ldvt::Int64, - computeType::cudaDataType, - workspaceInBytes::Ptr{Csize_t})::cusolverStatus_t -end - -@checked function cusolverDnGesvd(handle, params, jobu, jobvt, m, n, dataTypeA, A, lda, - dataTypeS, S, dataTypeU, U, ldu, dataTypeVT, VT, ldvt, - computeType, pBuffer, workspaceInBytes, info) - initialize_context() - @gcsafe_ccall libcusolver.cusolverDnGesvd(handle::cusolverDnHandle_t, - params::cusolverDnParams_t, jobu::Int8, - jobvt::Int8, m::Int64, n::Int64, - dataTypeA::cudaDataType, A::CuPtr{Cvoid}, - lda::Int64, dataTypeS::cudaDataType, - S::CuPtr{Cvoid}, dataTypeU::cudaDataType, - U::CuPtr{Cvoid}, ldu::Int64, - dataTypeVT::cudaDataType, VT::CuPtr{Cvoid}, - ldvt::Int64, computeType::cudaDataType, - pBuffer::CuPtr{Cvoid}, - workspaceInBytes::Csize_t, - info::CuPtr{Cint})::cusolverStatus_t -end - @checked function cusolverDnXpotrf_bufferSize(handle, params, uplo, n, dataTypeA, A, lda, computeType, workspaceInBytesOnDevice, workspaceInBytesOnHost) @@ -5009,7 +4826,7 @@ end @gcsafe_ccall libcusolver.cusolverDnLoggerSetMask(mask::Cint)::cusolverStatus_t end -# no prototype is found for this function at cusolverDn.h:5003:32, please use with caution +# no prototype is found for this function at cusolverDn.h:4771:32, please use with caution @checked function cusolverDnLoggerForceDisable() initialize_context() @gcsafe_ccall libcusolver.cusolverDnLoggerForceDisable()::cusolverStatus_t @@ -6991,3 +6808,5 @@ end info::csrcholInfo_t, diag::CuPtr{Cdouble})::cusolverStatus_t end + +# Skipping MacroDefinition: CUSOLVER_DEPRECATED_ __attribute__ ( ( deprecated ) ) diff --git a/lib/cusolver/libcusolverMg.jl b/lib/cusolver/libcusolverMg.jl index 76daf0f1c1..f028700168 100644 --- a/lib/cusolver/libcusolverMg.jl +++ b/lib/cusolver/libcusolverMg.jl @@ -1,7 +1,7 @@ # This file is automatically generated. Do not edit! # To re-generate, execute res/wrap/wrap.jl -using CEnum +using CEnum: CEnum, @cenum mutable struct cusolverMgContext end @@ -239,3 +239,5 @@ end lwork::Int64, h_info::Ptr{Cint})::cusolverStatus_t end + +# Skipping MacroDefinition: CUSOLVERMG_DEPRECATED __attribute__ ( ( deprecated ) ) diff --git a/lib/cusolver/libcusolverRF.jl b/lib/cusolver/libcusolverRF.jl index df10d2d887..3755f200c9 100644 --- a/lib/cusolver/libcusolverRF.jl +++ b/lib/cusolver/libcusolverRF.jl @@ -1,7 +1,7 @@ # This file is automatically generated. Do not edit! # To re-generate, execute res/wrap/wrap.jl -using CEnum +using CEnum: CEnum, @cenum @cenum cusolverRfResetValuesFastMode_t::UInt32 begin CUSOLVERRF_RESET_VALUES_FAST_MODE_OFF = 0 diff --git a/lib/cusolver/libcusolver_deprecated.jl b/lib/cusolver/libcusolver_deprecated.jl new file mode 100644 index 0000000000..db05f82045 --- /dev/null +++ b/lib/cusolver/libcusolver_deprecated.jl @@ -0,0 +1,214 @@ +# removed in CUDA 13 + +@checked function cusolverDnPotrf_bufferSize(handle, params, uplo, n, dataTypeA, A, lda, + computeType, workspaceInBytes) + initialize_context() + @gcsafe_ccall libcusolver.cusolverDnPotrf_bufferSize(handle::cusolverDnHandle_t, + params::cusolverDnParams_t, + uplo::cublasFillMode_t, n::Int64, + dataTypeA::cudaDataType, + A::CuPtr{Cvoid}, lda::Int64, + computeType::cudaDataType, + workspaceInBytes::Ptr{Csize_t})::cusolverStatus_t +end + +@checked function cusolverDnPotrf(handle, params, uplo, n, dataTypeA, A, lda, computeType, + pBuffer, workspaceInBytes, info) + initialize_context() + @gcsafe_ccall libcusolver.cusolverDnPotrf(handle::cusolverDnHandle_t, + params::cusolverDnParams_t, + uplo::cublasFillMode_t, n::Int64, + dataTypeA::cudaDataType, A::CuPtr{Cvoid}, + lda::Int64, computeType::cudaDataType, + pBuffer::CuPtr{Cvoid}, + workspaceInBytes::Csize_t, + info::CuPtr{Cint})::cusolverStatus_t +end + +@checked function cusolverDnPotrs(handle, params, uplo, n, nrhs, dataTypeA, A, lda, + dataTypeB, B, ldb, info) + initialize_context() + @gcsafe_ccall libcusolver.cusolverDnPotrs(handle::cusolverDnHandle_t, + params::cusolverDnParams_t, + uplo::cublasFillMode_t, n::Int64, nrhs::Int64, + dataTypeA::cudaDataType, A::CuPtr{Cvoid}, + lda::Int64, dataTypeB::cudaDataType, + B::CuPtr{Cvoid}, ldb::Int64, + info::CuPtr{Cint})::cusolverStatus_t +end + +@checked function cusolverDnGeqrf_bufferSize(handle, params, m, n, dataTypeA, A, lda, + dataTypeTau, tau, computeType, + workspaceInBytes) + initialize_context() + @gcsafe_ccall libcusolver.cusolverDnGeqrf_bufferSize(handle::cusolverDnHandle_t, + params::cusolverDnParams_t, + m::Int64, n::Int64, + dataTypeA::cudaDataType, + A::CuPtr{Cvoid}, lda::Int64, + dataTypeTau::cudaDataType, + tau::CuPtr{Cvoid}, + computeType::cudaDataType, + workspaceInBytes::Ptr{Csize_t})::cusolverStatus_t +end + +@checked function cusolverDnGeqrf(handle, params, m, n, dataTypeA, A, lda, dataTypeTau, tau, + computeType, pBuffer, workspaceInBytes, info) + initialize_context() + @gcsafe_ccall libcusolver.cusolverDnGeqrf(handle::cusolverDnHandle_t, + params::cusolverDnParams_t, m::Int64, + n::Int64, dataTypeA::cudaDataType, + A::CuPtr{Cvoid}, lda::Int64, + dataTypeTau::cudaDataType, tau::CuPtr{Cvoid}, + computeType::cudaDataType, + pBuffer::CuPtr{Cvoid}, + workspaceInBytes::Csize_t, + info::CuPtr{Cint})::cusolverStatus_t +end + +@checked function cusolverDnGetrf_bufferSize(handle, params, m, n, dataTypeA, A, lda, + computeType, workspaceInBytes) + initialize_context() + @gcsafe_ccall libcusolver.cusolverDnGetrf_bufferSize(handle::cusolverDnHandle_t, + params::cusolverDnParams_t, + m::Int64, n::Int64, + dataTypeA::cudaDataType, + A::CuPtr{Cvoid}, lda::Int64, + computeType::cudaDataType, + workspaceInBytes::Ptr{Csize_t})::cusolverStatus_t +end + +@checked function cusolverDnGetrf(handle, params, m, n, dataTypeA, A, lda, ipiv, + computeType, pBuffer, workspaceInBytes, info) + initialize_context() + @gcsafe_ccall libcusolver.cusolverDnGetrf(handle::cusolverDnHandle_t, + params::cusolverDnParams_t, m::Int64, + n::Int64, dataTypeA::cudaDataType, + A::CuPtr{Cvoid}, lda::Int64, + ipiv::CuPtr{Int64}, computeType::cudaDataType, + pBuffer::CuPtr{Cvoid}, + workspaceInBytes::Csize_t, + info::CuPtr{Cint})::cusolverStatus_t +end + +@checked function cusolverDnGetrs(handle, params, trans, n, nrhs, dataTypeA, A, lda, ipiv, + dataTypeB, B, ldb, info) + initialize_context() + @gcsafe_ccall libcusolver.cusolverDnGetrs(handle::cusolverDnHandle_t, + params::cusolverDnParams_t, + trans::cublasOperation_t, n::Int64, + nrhs::Int64, dataTypeA::cudaDataType, + A::CuPtr{Cvoid}, lda::Int64, + ipiv::CuPtr{Int64}, dataTypeB::cudaDataType, + B::CuPtr{Cvoid}, ldb::Int64, + info::CuPtr{Cint})::cusolverStatus_t +end + +@checked function cusolverDnSyevd_bufferSize(handle, params, jobz, uplo, n, dataTypeA, A, + lda, dataTypeW, W, computeType, + workspaceInBytes) + initialize_context() + @gcsafe_ccall libcusolver.cusolverDnSyevd_bufferSize(handle::cusolverDnHandle_t, + params::cusolverDnParams_t, + jobz::cusolverEigMode_t, + uplo::cublasFillMode_t, n::Int64, + dataTypeA::cudaDataType, + A::CuPtr{Cvoid}, lda::Int64, + dataTypeW::cudaDataType, + W::CuPtr{Cvoid}, + computeType::cudaDataType, + workspaceInBytes::Ptr{Csize_t})::cusolverStatus_t +end + +@checked function cusolverDnSyevd(handle, params, jobz, uplo, n, dataTypeA, A, lda, + dataTypeW, W, computeType, pBuffer, workspaceInBytes, + info) + initialize_context() + @gcsafe_ccall libcusolver.cusolverDnSyevd(handle::cusolverDnHandle_t, + params::cusolverDnParams_t, + jobz::cusolverEigMode_t, + uplo::cublasFillMode_t, n::Int64, + dataTypeA::cudaDataType, A::CuPtr{Cvoid}, + lda::Int64, dataTypeW::cudaDataType, + W::CuPtr{Cvoid}, computeType::cudaDataType, + pBuffer::CuPtr{Cvoid}, + workspaceInBytes::Csize_t, + info::CuPtr{Cint})::cusolverStatus_t +end + +@checked function cusolverDnSyevdx_bufferSize(handle, params, jobz, range, uplo, n, + dataTypeA, A, lda, vl, vu, il, iu, h_meig, + dataTypeW, W, computeType, workspaceInBytes) + initialize_context() + @gcsafe_ccall libcusolver.cusolverDnSyevdx_bufferSize(handle::cusolverDnHandle_t, + params::cusolverDnParams_t, + jobz::cusolverEigMode_t, + range::cusolverEigRange_t, + uplo::cublasFillMode_t, n::Int64, + dataTypeA::cudaDataType, + A::CuPtr{Cvoid}, lda::Int64, + vl::Ptr{Cvoid}, vu::Ptr{Cvoid}, + il::Int64, iu::Int64, + h_meig::Ptr{Int64}, + dataTypeW::cudaDataType, + W::CuPtr{Cvoid}, + computeType::cudaDataType, + workspaceInBytes::Ptr{Csize_t})::cusolverStatus_t +end + +@checked function cusolverDnSyevdx(handle, params, jobz, range, uplo, n, dataTypeA, A, lda, + vl, vu, il, iu, meig64, dataTypeW, W, computeType, + pBuffer, workspaceInBytes, info) + initialize_context() + @gcsafe_ccall libcusolver.cusolverDnSyevdx(handle::cusolverDnHandle_t, + params::cusolverDnParams_t, + jobz::cusolverEigMode_t, + range::cusolverEigRange_t, + uplo::cublasFillMode_t, n::Int64, + dataTypeA::cudaDataType, A::CuPtr{Cvoid}, + lda::Int64, vl::Ptr{Cvoid}, vu::Ptr{Cvoid}, + il::Int64, iu::Int64, meig64::Ptr{Int64}, + dataTypeW::cudaDataType, W::CuPtr{Cvoid}, + computeType::cudaDataType, + pBuffer::CuPtr{Cvoid}, + workspaceInBytes::Csize_t, + info::CuPtr{Cint})::cusolverStatus_t +end + +@checked function cusolverDnGesvd_bufferSize(handle, params, jobu, jobvt, m, n, dataTypeA, + A, lda, dataTypeS, S, dataTypeU, U, ldu, + dataTypeVT, VT, ldvt, computeType, + workspaceInBytes) + initialize_context() + @gcsafe_ccall libcusolver.cusolverDnGesvd_bufferSize(handle::cusolverDnHandle_t, + params::cusolverDnParams_t, + jobu::Int8, jobvt::Int8, m::Int64, + n::Int64, dataTypeA::cudaDataType, + A::CuPtr{Cvoid}, lda::Int64, + dataTypeS::cudaDataType, + S::CuPtr{Cvoid}, + dataTypeU::cudaDataType, + U::CuPtr{Cvoid}, ldu::Int64, + dataTypeVT::cudaDataType, + VT::CuPtr{Cvoid}, ldvt::Int64, + computeType::cudaDataType, + workspaceInBytes::Ptr{Csize_t})::cusolverStatus_t +end + +@checked function cusolverDnGesvd(handle, params, jobu, jobvt, m, n, dataTypeA, A, lda, + dataTypeS, S, dataTypeU, U, ldu, dataTypeVT, VT, ldvt, + computeType, pBuffer, workspaceInBytes, info) + initialize_context() + @gcsafe_ccall libcusolver.cusolverDnGesvd(handle::cusolverDnHandle_t, + params::cusolverDnParams_t, jobu::Int8, + jobvt::Int8, m::Int64, n::Int64, + dataTypeA::cudaDataType, A::CuPtr{Cvoid}, + lda::Int64, dataTypeS::cudaDataType, + S::CuPtr{Cvoid}, dataTypeU::cudaDataType, + U::CuPtr{Cvoid}, ldu::Int64, + dataTypeVT::cudaDataType, VT::CuPtr{Cvoid}, + ldvt::Int64, computeType::cudaDataType, + pBuffer::CuPtr{Cvoid}, + workspaceInBytes::Csize_t, + info::CuPtr{Cint})::cusolverStatus_t +end diff --git a/lib/cusparse/libcusparse.jl b/lib/cusparse/libcusparse.jl index cdacc62ab3..7c40e57c93 100644 --- a/lib/cusparse/libcusparse.jl +++ b/lib/cusparse/libcusparse.jl @@ -1,7 +1,7 @@ # This file is automatically generated. Do not edit! # To re-generate, execute res/wrap/wrap.jl -using CEnum +using CEnum: CEnum, @cenum # CUSPARSE uses CUDA runtime objects, which are compatible with our driver usage const cudaStream_t = CUstream diff --git a/lib/library_types.jl b/lib/library_types.jl index 15a2d65186..4b1e4e8e03 100644 --- a/lib/library_types.jl +++ b/lib/library_types.jl @@ -158,3 +158,9 @@ function Base.convert(::Type{Type}, T::cudaDataType) throw(ArgumentError("Julia type equivalent for input type $T does not exist!")) end end + +@enum cudaEmulationStrategy_t::Cint begin + CUDA_EMULATION_STRATEGY_DEFAULT = 0 + CUDA_EMULATION_STRATEGY_PERFORMANT = 1 + CUDA_EMULATION_STRATEGY_EAGER = 2 +end diff --git a/lib/nvml/libnvml.jl b/lib/nvml/libnvml.jl index 61d4a69838..8c045ad3b1 100644 --- a/lib/nvml/libnvml.jl +++ b/lib/nvml/libnvml.jl @@ -1,7 +1,7 @@ # This file is automatically generated. Do not edit! # To re-generate, execute res/wrap/wrap.jl -using CEnum +using CEnum: CEnum, @cenum # outlined functionality to avoid GC frame allocation @noinline function throw_api_error(res) @@ -176,6 +176,27 @@ struct nvmlC2cModeInfo_v1_t isC2cEnabled::Cuint end +@cenum nvmlDeviceAddressingModeType_t::UInt32 begin + NVML_DEVICE_ADDRESSING_MODE_NONE = 0 + NVML_DEVICE_ADDRESSING_MODE_HMM = 1 + NVML_DEVICE_ADDRESSING_MODE_ATS = 2 +end + +struct nvmlDeviceAddressingMode_v1_t + version::Cuint + value::Cuint +end + +const nvmlDeviceAddressingMode_t = nvmlDeviceAddressingMode_v1_t + +struct nvmlRepairStatus_v1_t + version::Cuint + bChannelRepairPending::Cuint + bTpcRepairPending::Cuint +end + +const nvmlRepairStatus_t = nvmlRepairStatus_v1_t + struct nvmlRowRemapperHistogramValues_st max::Cuint high::Cuint @@ -369,11 +390,44 @@ function Base.setproperty!(x::Ptr{nvmlValue_st}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end +function Base.propertynames(x::nvmlValue_st, private::Bool=false) + return (:dVal, :siVal, :uiVal, :ulVal, :ullVal, :sllVal, :usVal, + if private + fieldnames(typeof(x)) + else + () + end...) +end + const nvmlValue_t = nvmlValue_st struct nvmlSample_st - timeStamp::Culonglong - sampleValue::nvmlValue_t + data::NTuple{16,UInt8} +end + +function Base.getproperty(x::Ptr{nvmlSample_st}, f::Symbol) + f === :timeStamp && return Ptr{Culonglong}(x + 0) + f === :sampleValue && return Ptr{nvmlValue_t}(x + 8) + return getfield(x, f) +end + +function Base.getproperty(x::nvmlSample_st, f::Symbol) + r = Ref{nvmlSample_st}(x) + ptr = Base.unsafe_convert(Ptr{nvmlSample_st}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +function Base.setproperty!(x::Ptr{nvmlSample_st}, f::Symbol, v) + return unsafe_store!(getproperty(x, f), v) +end + +function Base.propertynames(x::nvmlSample_st, private::Bool=false) + return (:timeStamp, :sampleValue, if private + fieldnames(typeof(x)) + else + () + end...) end const nvmlSample_t = nvmlSample_st @@ -434,13 +488,32 @@ end NVML_THERMAL_CONTROLLER_UNKNOWN = -1 end -struct var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/nvml.h:699:5)" +struct var"##Ctag#270" controller::nvmlThermalController_t defaultMinTemp::Cint defaultMaxTemp::Cint currentTemp::Cint target::nvmlThermalTarget_t end +function Base.getproperty(x::Ptr{var"##Ctag#270"}, f::Symbol) + f === :controller && return Ptr{nvmlThermalController_t}(x + 0) + f === :defaultMinTemp && return Ptr{Cint}(x + 4) + f === :defaultMaxTemp && return Ptr{Cint}(x + 8) + f === :currentTemp && return Ptr{Cint}(x + 12) + f === :target && return Ptr{nvmlThermalTarget_t}(x + 16) + return getfield(x, f) +end + +function Base.getproperty(x::var"##Ctag#270", f::Symbol) + r = Ref{var"##Ctag#270"}(x) + ptr = Base.unsafe_convert(Ptr{var"##Ctag#270"}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +function Base.setproperty!(x::Ptr{var"##Ctag#270"}, f::Symbol, v) + return unsafe_store!(getproperty(x, f), v) +end struct nvmlGpuThermalSettings_t data::NTuple{64,UInt8} @@ -448,9 +521,7 @@ end function Base.getproperty(x::Ptr{nvmlGpuThermalSettings_t}, f::Symbol) f === :count && return Ptr{Cuint}(x + 0) - f === :sensor && return Ptr{NTuple{3, - var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/nvml.h:699:5)"}}(x + - 4) + f === :sensor && return Ptr{NTuple{3,var"##Ctag#270"}}(x + 4) return getfield(x, f) end @@ -465,6 +536,14 @@ function Base.setproperty!(x::Ptr{nvmlGpuThermalSettings_t}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end +function Base.propertynames(x::nvmlGpuThermalSettings_t, private::Bool=false) + return (:count, :sensor, if private + fieldnames(typeof(x)) + else + () + end...) +end + @cenum nvmlCoolerControl_enum::UInt32 begin NVML_THERMAL_COOLER_SIGNAL_NONE = 0 NVML_THERMAL_COOLER_SIGNAL_TOGGLE = 1 @@ -520,14 +599,53 @@ function Base.setproperty!(x::Ptr{nvmlUUIDValue_t}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end +function Base.propertynames(x::nvmlUUIDValue_t, private::Bool=false) + return (:str, :bytes, if private + fieldnames(typeof(x)) + else + () + end...) +end + struct nvmlUUID_v1_t - version::Cuint - type::Cuint - value::nvmlUUIDValue_t + data::NTuple{52,UInt8} +end + +function Base.getproperty(x::Ptr{nvmlUUID_v1_t}, f::Symbol) + f === :version && return Ptr{Cuint}(x + 0) + f === :type && return Ptr{Cuint}(x + 4) + f === :value && return Ptr{nvmlUUIDValue_t}(x + 8) + return getfield(x, f) +end + +function Base.getproperty(x::nvmlUUID_v1_t, f::Symbol) + r = Ref{nvmlUUID_v1_t}(x) + ptr = Base.unsafe_convert(Ptr{nvmlUUID_v1_t}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +function Base.setproperty!(x::Ptr{nvmlUUID_v1_t}, f::Symbol, v) + return unsafe_store!(getproperty(x, f), v) +end + +function Base.propertynames(x::nvmlUUID_v1_t, private::Bool=false) + return (:version, :type, :value, if private + fieldnames(typeof(x)) + else + () + end...) end const nvmlUUID_t = nvmlUUID_v1_t +struct nvmlPdi_v1_t + version::Cuint + value::Culonglong +end + +const nvmlPdi_t = nvmlPdi_v1_t + @cenum nvmlEnableState_enum::UInt32 begin NVML_FEATURE_DISABLED = 0 NVML_FEATURE_ENABLED = 1 @@ -561,7 +679,7 @@ const nvmlDramEncryptionInfo_t = nvmlDramEncryptionInfo_v1_t NVML_BRAND_NVIDIA = 14 NVML_BRAND_GEFORCE_RTX = 15 NVML_BRAND_TITAN_RTX = 16 - NVML_BRAND_COUNT = 17 + NVML_BRAND_COUNT = 18 end const nvmlBrandType_t = nvmlBrandType_enum @@ -723,6 +841,12 @@ end const nvmlDeviceCurrentClockFreqs_t = nvmlDeviceCurrentClockFreqs_v1_t +struct nvmlDevicePowerMizerModes_v1_t + currentMode::Cuint + mode::Cuint + supportedPowerMizerModes::Cuint +end + @cenum nvmlGom_enum::UInt32 begin NVML_GOM_ALL_ON = 0 NVML_GOM_COMPUTE = 1 @@ -772,6 +896,7 @@ const nvmlInforomObject_t = nvmlInforomObject_enum NVML_ERROR_NOT_READY = 27 NVML_ERROR_GPU_NOT_FOUND = 28 NVML_ERROR_INVALID_STATE = 29 + NVML_ERROR_RESET_TYPE_NOT_SUPPORTED = 30 NVML_ERROR_UNKNOWN = 999 end @@ -881,6 +1006,24 @@ end const nvmlPlatformInfo_t = nvmlPlatformInfo_v2_t +struct nvmlEccSramUniqueUncorrectedErrorEntry_v1_t + unit::Cuint + location::Cuint + sublocation::Cuint + extlocation::Cuint + address::Cuint + isParity::Cuint + count::Cuint +end + +struct nvmlEccSramUniqueUncorrectedErrorCounts_v1_t + version::Cuint + entryCount::Cuint + entries::Ptr{nvmlEccSramUniqueUncorrectedErrorEntry_v1_t} +end + +const nvmlEccSramUniqueUncorrectedErrorCounts_t = nvmlEccSramUniqueUncorrectedErrorCounts_v1_t + const nvmlDeviceArchitecture_t = Cuint const nvmlBusType_t = Cuint @@ -896,12 +1039,30 @@ const nvmlPowerSource_t = Cuint NVML_GPU_UTILIZATION_DOMAIN_BUS = 3 end -struct var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/nvml.h:1465:5)" +struct var"##Ctag#268" bIsPresent::Cuint percentage::Cuint incThreshold::Cuint decThreshold::Cuint end +function Base.getproperty(x::Ptr{var"##Ctag#268"}, f::Symbol) + f === :bIsPresent && return Ptr{Cuint}(x + 0) + f === :percentage && return Ptr{Cuint}(x + 4) + f === :incThreshold && return Ptr{Cuint}(x + 8) + f === :decThreshold && return Ptr{Cuint}(x + 12) + return getfield(x, f) +end + +function Base.getproperty(x::var"##Ctag#268", f::Symbol) + r = Ref{var"##Ctag#268"}(x) + ptr = Base.unsafe_convert(Ptr{var"##Ctag#268"}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +function Base.setproperty!(x::Ptr{var"##Ctag#268"}, f::Symbol, v) + return unsafe_store!(getproperty(x, f), v) +end struct nvmlGpuDynamicPstatesInfo_st data::NTuple{132,UInt8} @@ -909,9 +1070,7 @@ end function Base.getproperty(x::Ptr{nvmlGpuDynamicPstatesInfo_st}, f::Symbol) f === :flags && return Ptr{Cuint}(x + 0) - f === :utilization && return Ptr{NTuple{8, - var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/nvml.h:1465:5)"}}(x + - 4) + f === :utilization && return Ptr{NTuple{8,var"##Ctag#268"}}(x + 4) return getfield(x, f) end @@ -926,6 +1085,14 @@ function Base.setproperty!(x::Ptr{nvmlGpuDynamicPstatesInfo_st}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end +function Base.propertynames(x::nvmlGpuDynamicPstatesInfo_st, private::Bool=false) + return (:flags, :utilization, if private + fieldnames(typeof(x)) + else + () + end...) +end + const nvmlGpuDynamicPstatesInfo_t = nvmlGpuDynamicPstatesInfo_st const nvmlPowerScopeType_t = Cuchar @@ -1056,25 +1223,75 @@ end const nvmlVgpuTypeBar1Info_t = nvmlVgpuTypeBar1Info_v1_t struct nvmlVgpuInstanceUtilizationSample_st - vgpuInstance::nvmlVgpuInstance_t - timeStamp::Culonglong - smUtil::nvmlValue_t - memUtil::nvmlValue_t - encUtil::nvmlValue_t - decUtil::nvmlValue_t + data::NTuple{48,UInt8} +end + +function Base.getproperty(x::Ptr{nvmlVgpuInstanceUtilizationSample_st}, f::Symbol) + f === :vgpuInstance && return Ptr{nvmlVgpuInstance_t}(x + 0) + f === :timeStamp && return Ptr{Culonglong}(x + 8) + f === :smUtil && return Ptr{nvmlValue_t}(x + 16) + f === :memUtil && return Ptr{nvmlValue_t}(x + 24) + f === :encUtil && return Ptr{nvmlValue_t}(x + 32) + f === :decUtil && return Ptr{nvmlValue_t}(x + 40) + return getfield(x, f) +end + +function Base.getproperty(x::nvmlVgpuInstanceUtilizationSample_st, f::Symbol) + r = Ref{nvmlVgpuInstanceUtilizationSample_st}(x) + ptr = Base.unsafe_convert(Ptr{nvmlVgpuInstanceUtilizationSample_st}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +function Base.setproperty!(x::Ptr{nvmlVgpuInstanceUtilizationSample_st}, f::Symbol, v) + return unsafe_store!(getproperty(x, f), v) +end + +function Base.propertynames(x::nvmlVgpuInstanceUtilizationSample_st, private::Bool=false) + return (:vgpuInstance, :timeStamp, :smUtil, :memUtil, :encUtil, :decUtil, + if private + fieldnames(typeof(x)) + else + () + end...) end const nvmlVgpuInstanceUtilizationSample_t = nvmlVgpuInstanceUtilizationSample_st struct nvmlVgpuInstanceUtilizationInfo_v1_t - timeStamp::Culonglong - vgpuInstance::nvmlVgpuInstance_t - smUtil::nvmlValue_t - memUtil::nvmlValue_t - encUtil::nvmlValue_t - decUtil::nvmlValue_t - jpgUtil::nvmlValue_t - ofaUtil::nvmlValue_t + data::NTuple{64,UInt8} +end + +function Base.getproperty(x::Ptr{nvmlVgpuInstanceUtilizationInfo_v1_t}, f::Symbol) + f === :timeStamp && return Ptr{Culonglong}(x + 0) + f === :vgpuInstance && return Ptr{nvmlVgpuInstance_t}(x + 8) + f === :smUtil && return Ptr{nvmlValue_t}(x + 16) + f === :memUtil && return Ptr{nvmlValue_t}(x + 24) + f === :encUtil && return Ptr{nvmlValue_t}(x + 32) + f === :decUtil && return Ptr{nvmlValue_t}(x + 40) + f === :jpgUtil && return Ptr{nvmlValue_t}(x + 48) + f === :ofaUtil && return Ptr{nvmlValue_t}(x + 56) + return getfield(x, f) +end + +function Base.getproperty(x::nvmlVgpuInstanceUtilizationInfo_v1_t, f::Symbol) + r = Ref{nvmlVgpuInstanceUtilizationInfo_v1_t}(x) + ptr = Base.unsafe_convert(Ptr{nvmlVgpuInstanceUtilizationInfo_v1_t}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +function Base.setproperty!(x::Ptr{nvmlVgpuInstanceUtilizationInfo_v1_t}, f::Symbol, v) + return unsafe_store!(getproperty(x, f), v) +end + +function Base.propertynames(x::nvmlVgpuInstanceUtilizationInfo_v1_t, private::Bool=false) + return (:timeStamp, :vgpuInstance, :smUtil, :memUtil, :encUtil, :decUtil, :jpgUtil, + :ofaUtil, if private + fieldnames(typeof(x)) + else + () + end...) end struct nvmlVgpuInstancesUtilizationInfo_v1_t @@ -1134,12 +1351,8 @@ struct nvmlVgpuSchedulerParams_t end function Base.getproperty(x::Ptr{nvmlVgpuSchedulerParams_t}, f::Symbol) - f === :vgpuSchedDataWithARR && - return Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/nvml.h:1862:5)"}(x + - 0) - f === :vgpuSchedData && - return Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/nvml.h:1868:5)"}(x + - 0) + f === :vgpuSchedDataWithARR && return Ptr{var"##Ctag#266"}(x + 0) + f === :vgpuSchedData && return Ptr{var"##Ctag#267"}(x + 0) return getfield(x, f) end @@ -1154,6 +1367,14 @@ function Base.setproperty!(x::Ptr{nvmlVgpuSchedulerParams_t}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end +function Base.propertynames(x::nvmlVgpuSchedulerParams_t, private::Bool=false) + return (:vgpuSchedDataWithARR, :vgpuSchedData, if private + fieldnames(typeof(x)) + else + () + end...) +end + struct nvmlVgpuSchedulerLogEntries_st timestamp::Culonglong timeRunTotal::Culonglong @@ -1166,20 +1387,69 @@ end const nvmlVgpuSchedulerLogEntry_t = nvmlVgpuSchedulerLogEntries_st struct nvmlVgpuSchedulerLog_st - engineId::Cuint - schedulerPolicy::Cuint - arrMode::Cuint - schedulerParams::nvmlVgpuSchedulerParams_t - entriesCount::Cuint - logEntries::NTuple{200,nvmlVgpuSchedulerLogEntry_t} + data::NTuple{9624,UInt8} +end + +function Base.getproperty(x::Ptr{nvmlVgpuSchedulerLog_st}, f::Symbol) + f === :engineId && return Ptr{Cuint}(x + 0) + f === :schedulerPolicy && return Ptr{Cuint}(x + 4) + f === :arrMode && return Ptr{Cuint}(x + 8) + f === :schedulerParams && return Ptr{nvmlVgpuSchedulerParams_t}(x + 12) + f === :entriesCount && return Ptr{Cuint}(x + 20) + f === :logEntries && return Ptr{NTuple{200,nvmlVgpuSchedulerLogEntry_t}}(x + 24) + return getfield(x, f) +end + +function Base.getproperty(x::nvmlVgpuSchedulerLog_st, f::Symbol) + r = Ref{nvmlVgpuSchedulerLog_st}(x) + ptr = Base.unsafe_convert(Ptr{nvmlVgpuSchedulerLog_st}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +function Base.setproperty!(x::Ptr{nvmlVgpuSchedulerLog_st}, f::Symbol, v) + return unsafe_store!(getproperty(x, f), v) +end + +function Base.propertynames(x::nvmlVgpuSchedulerLog_st, private::Bool=false) + return (:engineId, :schedulerPolicy, :arrMode, :schedulerParams, :entriesCount, + :logEntries, if private + fieldnames(typeof(x)) + else + () + end...) end const nvmlVgpuSchedulerLog_t = nvmlVgpuSchedulerLog_st struct nvmlVgpuSchedulerGetState_st - schedulerPolicy::Cuint - arrMode::Cuint - schedulerParams::nvmlVgpuSchedulerParams_t + data::NTuple{16,UInt8} +end + +function Base.getproperty(x::Ptr{nvmlVgpuSchedulerGetState_st}, f::Symbol) + f === :schedulerPolicy && return Ptr{Cuint}(x + 0) + f === :arrMode && return Ptr{Cuint}(x + 4) + f === :schedulerParams && return Ptr{nvmlVgpuSchedulerParams_t}(x + 8) + return getfield(x, f) +end + +function Base.getproperty(x::nvmlVgpuSchedulerGetState_st, f::Symbol) + r = Ref{nvmlVgpuSchedulerGetState_st}(x) + ptr = Base.unsafe_convert(Ptr{nvmlVgpuSchedulerGetState_st}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +function Base.setproperty!(x::Ptr{nvmlVgpuSchedulerGetState_st}, f::Symbol, v) + return unsafe_store!(getproperty(x, f), v) +end + +function Base.propertynames(x::nvmlVgpuSchedulerGetState_st, private::Bool=false) + return (:schedulerPolicy, :arrMode, :schedulerParams, if private + fieldnames(typeof(x)) + else + () + end...) end const nvmlVgpuSchedulerGetState_t = nvmlVgpuSchedulerGetState_st @@ -1189,12 +1459,8 @@ struct nvmlVgpuSchedulerSetParams_t end function Base.getproperty(x::Ptr{nvmlVgpuSchedulerSetParams_t}, f::Symbol) - f === :vgpuSchedDataWithARR && - return Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/nvml.h:1916:5)"}(x + - 0) - f === :vgpuSchedData && - return Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/nvml.h:1922:5)"}(x + - 0) + f === :vgpuSchedDataWithARR && return Ptr{var"##Ctag#271"}(x + 0) + f === :vgpuSchedData && return Ptr{var"##Ctag#272"}(x + 0) return getfield(x, f) end @@ -1209,10 +1475,43 @@ function Base.setproperty!(x::Ptr{nvmlVgpuSchedulerSetParams_t}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end +function Base.propertynames(x::nvmlVgpuSchedulerSetParams_t, private::Bool=false) + return (:vgpuSchedDataWithARR, :vgpuSchedData, if private + fieldnames(typeof(x)) + else + () + end...) +end + struct nvmlVgpuSchedulerSetState_st - schedulerPolicy::Cuint - enableARRMode::Cuint - schedulerParams::nvmlVgpuSchedulerSetParams_t + data::NTuple{16,UInt8} +end + +function Base.getproperty(x::Ptr{nvmlVgpuSchedulerSetState_st}, f::Symbol) + f === :schedulerPolicy && return Ptr{Cuint}(x + 0) + f === :enableARRMode && return Ptr{Cuint}(x + 4) + f === :schedulerParams && return Ptr{nvmlVgpuSchedulerSetParams_t}(x + 8) + return getfield(x, f) +end + +function Base.getproperty(x::nvmlVgpuSchedulerSetState_st, f::Symbol) + r = Ref{nvmlVgpuSchedulerSetState_st}(x) + ptr = Base.unsafe_convert(Ptr{nvmlVgpuSchedulerSetState_st}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +function Base.setproperty!(x::Ptr{nvmlVgpuSchedulerSetState_st}, f::Symbol, v) + return unsafe_store!(getproperty(x, f), v) +end + +function Base.propertynames(x::nvmlVgpuSchedulerSetState_st, private::Bool=false) + return (:schedulerPolicy, :enableARRMode, :schedulerParams, + if private + fieldnames(typeof(x)) + else + () + end...) end const nvmlVgpuSchedulerSetState_t = nvmlVgpuSchedulerSetState_st @@ -1316,33 +1615,108 @@ end const nvmlActiveVgpuInstanceInfo_t = nvmlActiveVgpuInstanceInfo_v1_t struct nvmlVgpuSchedulerState_v1_t - version::Cuint - engineId::Cuint - schedulerPolicy::Cuint - enableARRMode::Cuint - schedulerParams::nvmlVgpuSchedulerSetParams_t + data::NTuple{24,UInt8} +end + +function Base.getproperty(x::Ptr{nvmlVgpuSchedulerState_v1_t}, f::Symbol) + f === :version && return Ptr{Cuint}(x + 0) + f === :engineId && return Ptr{Cuint}(x + 4) + f === :schedulerPolicy && return Ptr{Cuint}(x + 8) + f === :enableARRMode && return Ptr{Cuint}(x + 12) + f === :schedulerParams && return Ptr{nvmlVgpuSchedulerSetParams_t}(x + 16) + return getfield(x, f) +end + +function Base.getproperty(x::nvmlVgpuSchedulerState_v1_t, f::Symbol) + r = Ref{nvmlVgpuSchedulerState_v1_t}(x) + ptr = Base.unsafe_convert(Ptr{nvmlVgpuSchedulerState_v1_t}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +function Base.setproperty!(x::Ptr{nvmlVgpuSchedulerState_v1_t}, f::Symbol, v) + return unsafe_store!(getproperty(x, f), v) +end + +function Base.propertynames(x::nvmlVgpuSchedulerState_v1_t, private::Bool=false) + return (:version, :engineId, :schedulerPolicy, :enableARRMode, :schedulerParams, + if private + fieldnames(typeof(x)) + else + () + end...) end const nvmlVgpuSchedulerState_t = nvmlVgpuSchedulerState_v1_t struct nvmlVgpuSchedulerStateInfo_v1_t - version::Cuint - engineId::Cuint - schedulerPolicy::Cuint - arrMode::Cuint - schedulerParams::nvmlVgpuSchedulerParams_t + data::NTuple{24,UInt8} +end + +function Base.getproperty(x::Ptr{nvmlVgpuSchedulerStateInfo_v1_t}, f::Symbol) + f === :version && return Ptr{Cuint}(x + 0) + f === :engineId && return Ptr{Cuint}(x + 4) + f === :schedulerPolicy && return Ptr{Cuint}(x + 8) + f === :arrMode && return Ptr{Cuint}(x + 12) + f === :schedulerParams && return Ptr{nvmlVgpuSchedulerParams_t}(x + 16) + return getfield(x, f) +end + +function Base.getproperty(x::nvmlVgpuSchedulerStateInfo_v1_t, f::Symbol) + r = Ref{nvmlVgpuSchedulerStateInfo_v1_t}(x) + ptr = Base.unsafe_convert(Ptr{nvmlVgpuSchedulerStateInfo_v1_t}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +function Base.setproperty!(x::Ptr{nvmlVgpuSchedulerStateInfo_v1_t}, f::Symbol, v) + return unsafe_store!(getproperty(x, f), v) +end + +function Base.propertynames(x::nvmlVgpuSchedulerStateInfo_v1_t, private::Bool=false) + return (:version, :engineId, :schedulerPolicy, :arrMode, :schedulerParams, + if private + fieldnames(typeof(x)) + else + () + end...) end const nvmlVgpuSchedulerStateInfo_t = nvmlVgpuSchedulerStateInfo_v1_t struct nvmlVgpuSchedulerLogInfo_v1_t - version::Cuint - engineId::Cuint - schedulerPolicy::Cuint - arrMode::Cuint - schedulerParams::nvmlVgpuSchedulerParams_t - entriesCount::Cuint - logEntries::NTuple{200,nvmlVgpuSchedulerLogEntry_t} + data::NTuple{9632,UInt8} +end + +function Base.getproperty(x::Ptr{nvmlVgpuSchedulerLogInfo_v1_t}, f::Symbol) + f === :version && return Ptr{Cuint}(x + 0) + f === :engineId && return Ptr{Cuint}(x + 4) + f === :schedulerPolicy && return Ptr{Cuint}(x + 8) + f === :arrMode && return Ptr{Cuint}(x + 12) + f === :schedulerParams && return Ptr{nvmlVgpuSchedulerParams_t}(x + 16) + f === :entriesCount && return Ptr{Cuint}(x + 24) + f === :logEntries && return Ptr{NTuple{200,nvmlVgpuSchedulerLogEntry_t}}(x + 32) + return getfield(x, f) +end + +function Base.getproperty(x::nvmlVgpuSchedulerLogInfo_v1_t, f::Symbol) + r = Ref{nvmlVgpuSchedulerLogInfo_v1_t}(x) + ptr = Base.unsafe_convert(Ptr{nvmlVgpuSchedulerLogInfo_v1_t}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +function Base.setproperty!(x::Ptr{nvmlVgpuSchedulerLogInfo_v1_t}, f::Symbol, v) + return unsafe_store!(getproperty(x, f), v) +end + +function Base.propertynames(x::nvmlVgpuSchedulerLogInfo_v1_t, private::Bool=false) + return (:version, :engineId, :schedulerPolicy, :arrMode, :schedulerParams, + :entriesCount, :logEntries, if private + fieldnames(typeof(x)) + else + () + end...) end const nvmlVgpuSchedulerLogInfo_t = nvmlVgpuSchedulerLogInfo_v1_t @@ -1364,13 +1738,38 @@ end const nvmlNvLinkPowerThres_t = nvmlNvLinkPowerThres_st struct nvmlFieldValue_st - fieldId::Cuint - scopeId::Cuint - timestamp::Clonglong - latencyUsec::Clonglong - valueType::nvmlValueType_t - nvmlReturn::nvmlReturn_t - value::nvmlValue_t + data::NTuple{40,UInt8} +end + +function Base.getproperty(x::Ptr{nvmlFieldValue_st}, f::Symbol) + f === :fieldId && return Ptr{Cuint}(x + 0) + f === :scopeId && return Ptr{Cuint}(x + 4) + f === :timestamp && return Ptr{Clonglong}(x + 8) + f === :latencyUsec && return Ptr{Clonglong}(x + 16) + f === :valueType && return Ptr{nvmlValueType_t}(x + 24) + f === :nvmlReturn && return Ptr{nvmlReturn_t}(x + 28) + f === :value && return Ptr{nvmlValue_t}(x + 32) + return getfield(x, f) +end + +function Base.getproperty(x::nvmlFieldValue_st, f::Symbol) + r = Ref{nvmlFieldValue_st}(x) + ptr = Base.unsafe_convert(Ptr{nvmlFieldValue_st}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +function Base.setproperty!(x::Ptr{nvmlFieldValue_st}, f::Symbol, v) + return unsafe_store!(getproperty(x, f), v) +end + +function Base.propertynames(x::nvmlFieldValue_st, private::Bool=false) + return (:fieldId, :scopeId, :timestamp, :latencyUsec, :valueType, :nvmlReturn, :value, + if private + fieldnames(typeof(x)) + else + () + end...) end const nvmlFieldValue_t = nvmlFieldValue_st @@ -1666,7 +2065,17 @@ struct nvmlGpuFabricInfo_v2_t healthMask::Cuint end -const nvmlGpuFabricInfoV_t = nvmlGpuFabricInfo_v2_t +struct nvmlGpuFabricInfo_v3_t + version::Cuint + clusterUuid::NTuple{16,Cuchar} + status::nvmlReturn_t + cliqueId::Cuint + state::nvmlGpuFabricState_t + healthMask::Cuint + healthSummary::Cuchar +end + +const nvmlGpuFabricInfoV_t = nvmlGpuFabricInfo_v3_t @checked function nvmlInit_v2() @gcsafe_ccall (libnvml()).nvmlInit_v2()::nvmlReturn_t @@ -1903,6 +2312,18 @@ end node::Ptr{Cuint})::nvmlReturn_t end +@checked function nvmlDeviceGetAddressingMode(device, mode) + initialize_context() + @gcsafe_ccall (libnvml()).nvmlDeviceGetAddressingMode(device::nvmlDevice_t, + mode::Ptr{nvmlDeviceAddressingMode_t})::nvmlReturn_t +end + +@checked function nvmlDeviceGetRepairStatus(device, repairStatus) + initialize_context() + @gcsafe_ccall (libnvml()).nvmlDeviceGetRepairStatus(device::nvmlDevice_t, + repairStatus::Ptr{nvmlRepairStatus_t})::nvmlReturn_t +end + @checked function nvmlDeviceGetTopologyCommonAncestor(device1, device2, pathInfo) initialize_context() @gcsafe_ccall (libnvml()).nvmlDeviceGetTopologyCommonAncestor(device1::nvmlDevice_t, @@ -2350,6 +2771,18 @@ end power::Ptr{Cuint})::nvmlReturn_t end +@checked function nvmlDeviceGetPowerMizerMode_v1(device, powerMizerMode) + initialize_context() + @gcsafe_ccall (libnvml()).nvmlDeviceGetPowerMizerMode_v1(device::nvmlDevice_t, + powerMizerMode::Ptr{nvmlDevicePowerMizerModes_v1_t})::nvmlReturn_t +end + +@checked function nvmlDeviceSetPowerMizerMode_v1(device, powerMizerMode) + initialize_context() + @gcsafe_ccall (libnvml()).nvmlDeviceSetPowerMizerMode_v1(device::nvmlDevice_t, + powerMizerMode::Ptr{nvmlDevicePowerMizerModes_v1_t})::nvmlReturn_t +end + @checked function nvmlDeviceGetTotalEnergyConsumption(device, energy) initialize_context() @gcsafe_ccall (libnvml()).nvmlDeviceGetTotalEnergyConsumption(device::nvmlDevice_t, @@ -2757,6 +3190,12 @@ end status::Ptr{nvmlEccSramErrorStatus_t})::nvmlReturn_t end +@checked function nvmlDeviceSetPowerManagementLimit_v2(device, powerValue) + initialize_context() + @gcsafe_ccall (libnvml()).nvmlDeviceSetPowerManagementLimit_v2(device::nvmlDevice_t, + powerValue::Ptr{nvmlPowerValue_v2_t})::nvmlReturn_t +end + @checked function nvmlDeviceGetAccountingMode(device, mode) initialize_context() @gcsafe_ccall (libnvml()).nvmlDeviceGetAccountingMode(device::nvmlDevice_t, @@ -2855,6 +3294,12 @@ end platformInfo::Ptr{nvmlPlatformInfo_t})::nvmlReturn_t end +@checked function nvmlDeviceGetPdi(device, pdi) + initialize_context() + @gcsafe_ccall (libnvml()).nvmlDeviceGetPdi(device::nvmlDevice_t, + pdi::Ptr{nvmlPdi_t})::nvmlReturn_t +end + @checked function nvmlUnitSetLedState(unit, color) initialize_context() @gcsafe_ccall (libnvml()).nvmlUnitSetLedState(unit::nvmlUnit_t, @@ -3017,12 +3462,6 @@ end @gcsafe_ccall (libnvml()).nvmlDeviceClearAccountingPids(device::nvmlDevice_t)::nvmlReturn_t end -@checked function nvmlDeviceSetPowerManagementLimit_v2(device, powerValue) - initialize_context() - @gcsafe_ccall (libnvml()).nvmlDeviceSetPowerManagementLimit_v2(device::nvmlDevice_t, - powerValue::Ptr{nvmlPowerValue_v2_t})::nvmlReturn_t -end - struct nvmlNvlinkSupportedBwModes_v1_t version::Cuint bwModes::NTuple{23,Cuchar} @@ -3047,6 +3486,31 @@ end const nvmlNvlinkSetBwMode_t = nvmlNvlinkSetBwMode_v1_t +struct nvmlNvLinkInfo_v1_t + version::Cuint + isNvleEnabled::Cuint +end + +struct nvmlNvlinkFirmwareVersion_t + ucodeType::Cuchar + major::Cuint + minor::Cuint + subMinor::Cuint +end + +struct nvmlNvlinkFirmwareInfo_t + firmwareVersion::NTuple{100,nvmlNvlinkFirmwareVersion_t} + numValidEntries::Cuint +end + +struct nvmlNvLinkInfo_v2_t + version::Cuint + isNvleEnabled::Cuint + firmwareInfo::nvmlNvlinkFirmwareInfo_t +end + +const nvmlNvLinkInfo_t = nvmlNvLinkInfo_v2_t + @checked function nvmlDeviceGetNvLinkState(device, link, isActive) initialize_context() @gcsafe_ccall (libnvml()).nvmlDeviceGetNvLinkState(device::nvmlDevice_t, link::Cuint, @@ -3172,6 +3636,12 @@ end setBwMode::Ptr{nvmlNvlinkSetBwMode_t})::nvmlReturn_t end +@checked function nvmlDeviceGetNvLinkInfo(device, info) + initialize_context() + @gcsafe_ccall (libnvml()).nvmlDeviceGetNvLinkInfo(device::nvmlDevice_t, + info::Ptr{nvmlNvLinkInfo_t})::nvmlReturn_t +end + @checked function nvmlEventSetCreate(set) initialize_context() @gcsafe_ccall (libnvml()).nvmlEventSetCreate(set::Ptr{nvmlEventSet_t})::nvmlReturn_t @@ -3836,6 +4306,43 @@ end info::Ptr{nvmlExcludedDeviceInfo_t})::nvmlReturn_t end +struct nvmlPRMTLV_v1_t + data::NTuple{504,UInt8} +end + +function Base.getproperty(x::Ptr{nvmlPRMTLV_v1_t}, f::Symbol) + f === :dataSize && return Ptr{Cuint}(x + 0) + f === :status && return Ptr{Cuint}(x + 4) + f === :inData && return Ptr{NTuple{496,Cuchar}}(x + 8) + f === :outData && return Ptr{NTuple{496,Cuchar}}(x + 8) + return getfield(x, f) +end + +function Base.getproperty(x::nvmlPRMTLV_v1_t, f::Symbol) + r = Ref{nvmlPRMTLV_v1_t}(x) + ptr = Base.unsafe_convert(Ptr{nvmlPRMTLV_v1_t}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +function Base.setproperty!(x::Ptr{nvmlPRMTLV_v1_t}, f::Symbol, v) + return unsafe_store!(getproperty(x, f), v) +end + +function Base.propertynames(x::nvmlPRMTLV_v1_t, private::Bool=false) + return (:dataSize, :status, :inData, :outData, if private + fieldnames(typeof(x)) + else + () + end...) +end + +@checked function nvmlDeviceReadWritePRM_v1(device, buffer) + initialize_context() + @gcsafe_ccall (libnvml()).nvmlDeviceReadWritePRM_v1(device::nvmlDevice_t, + buffer::Ptr{nvmlPRMTLV_v1_t})::nvmlReturn_t +end + struct nvmlGpuInstancePlacement_st start::Cuint size::Cuint @@ -3999,6 +4506,13 @@ end info::Ptr{nvmlGpuInstanceProfileInfo_v2_t})::nvmlReturn_t end +@checked function nvmlDeviceGetGpuInstanceProfileInfoByIdV(device, profileId, info) + initialize_context() + @gcsafe_ccall (libnvml()).nvmlDeviceGetGpuInstanceProfileInfoByIdV(device::nvmlDevice_t, + profileId::Cuint, + info::Ptr{nvmlGpuInstanceProfileInfo_v2_t})::nvmlReturn_t +end + @checked function nvmlDeviceGetGpuInstancePossiblePlacements_v2(device, profileId, placements, count) initialize_context() @@ -4362,11 +4876,28 @@ mutable struct nvmlGpmSample_st end const nvmlGpmSample_t = Ptr{nvmlGpmSample_st} -struct var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/nvml.h:12604:5)" +struct var"##Ctag#269" shortName::Cstring longName::Cstring unit::Cstring end +function Base.getproperty(x::Ptr{var"##Ctag#269"}, f::Symbol) + f === :shortName && return Ptr{Cstring}(x + 0) + f === :longName && return Ptr{Cstring}(x + 8) + f === :unit && return Ptr{Cstring}(x + 16) + return getfield(x, f) +end + +function Base.getproperty(x::var"##Ctag#269", f::Symbol) + r = Ref{var"##Ctag#269"}(x) + ptr = Base.unsafe_convert(Ptr{var"##Ctag#269"}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +function Base.setproperty!(x::Ptr{var"##Ctag#269"}, f::Symbol, v) + return unsafe_store!(getproperty(x, f), v) +end struct nvmlGpmMetric_t data::NTuple{40,UInt8} @@ -4376,9 +4907,7 @@ function Base.getproperty(x::Ptr{nvmlGpmMetric_t}, f::Symbol) f === :metricId && return Ptr{Cuint}(x + 0) f === :nvmlReturn && return Ptr{nvmlReturn_t}(x + 4) f === :value && return Ptr{Cdouble}(x + 8) - f === :metricInfo && - return Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/nvml.h:12604:5)"}(x + - 16) + f === :metricInfo && return Ptr{var"##Ctag#269"}(x + 16) return getfield(x, f) end @@ -4393,6 +4922,14 @@ function Base.setproperty!(x::Ptr{nvmlGpmMetric_t}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end +function Base.propertynames(x::nvmlGpmMetric_t, private::Bool=false) + return (:metricId, :nvmlReturn, :value, :metricInfo, if private + fieldnames(typeof(x)) + else + () + end...) +end + struct nvmlGpmMetricsGet_t version::Cuint numMetrics::Cuint @@ -4581,6 +5118,12 @@ end state::Ptr{nvmlPowerSmoothingState_t})::nvmlReturn_t end +@checked function nvmlDeviceGetSramUniqueUncorrectedEccErrorCounts(device, errorCounts) + initialize_context() + @gcsafe_ccall (libnvml()).nvmlDeviceGetSramUniqueUncorrectedEccErrorCounts(device::nvmlDevice_t, + errorCounts::Ptr{nvmlEccSramUniqueUncorrectedErrorCounts_t})::nvmlReturn_t +end + @checked function nvmlInit() @gcsafe_ccall (libnvml()).nvmlInit()::nvmlReturn_t end @@ -4727,27 +5270,89 @@ end pending::Ptr{nvmlDriverModel_t})::nvmlReturn_t end -struct var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/nvml.h:1862:5)" +struct var"##Ctag#266" avgFactor::Cuint timeslice::Cuint end +function Base.getproperty(x::Ptr{var"##Ctag#266"}, f::Symbol) + f === :avgFactor && return Ptr{Cuint}(x + 0) + f === :timeslice && return Ptr{Cuint}(x + 4) + return getfield(x, f) +end + +function Base.getproperty(x::var"##Ctag#266", f::Symbol) + r = Ref{var"##Ctag#266"}(x) + ptr = Base.unsafe_convert(Ptr{var"##Ctag#266"}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +function Base.setproperty!(x::Ptr{var"##Ctag#266"}, f::Symbol, v) + return unsafe_store!(getproperty(x, f), v) +end -struct var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/nvml.h:1868:5)" +struct var"##Ctag#267" timeslice::Cuint end +function Base.getproperty(x::Ptr{var"##Ctag#267"}, f::Symbol) + f === :timeslice && return Ptr{Cuint}(x + 0) + return getfield(x, f) +end + +function Base.getproperty(x::var"##Ctag#267", f::Symbol) + r = Ref{var"##Ctag#267"}(x) + ptr = Base.unsafe_convert(Ptr{var"##Ctag#267"}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end -struct var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/nvml.h:1916:5)" +function Base.setproperty!(x::Ptr{var"##Ctag#267"}, f::Symbol, v) + return unsafe_store!(getproperty(x, f), v) +end + +struct var"##Ctag#271" avgFactor::Cuint frequency::Cuint end +function Base.getproperty(x::Ptr{var"##Ctag#271"}, f::Symbol) + f === :avgFactor && return Ptr{Cuint}(x + 0) + f === :frequency && return Ptr{Cuint}(x + 4) + return getfield(x, f) +end -struct var"struct (unnamed at /home/tim/.julia/artifacts/6c811367453a777320ca6bb9e507cc842ff6745f/cuda/include/nvml.h:1922:5)" +function Base.getproperty(x::var"##Ctag#271", f::Symbol) + r = Ref{var"##Ctag#271"}(x) + ptr = Base.unsafe_convert(Ptr{var"##Ctag#271"}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +function Base.setproperty!(x::Ptr{var"##Ctag#271"}, f::Symbol, v) + return unsafe_store!(getproperty(x, f), v) +end + +struct var"##Ctag#272" timeslice::Cuint end +function Base.getproperty(x::Ptr{var"##Ctag#272"}, f::Symbol) + f === :timeslice && return Ptr{Cuint}(x + 0) + return getfield(x, f) +end -const NVML_API_VERSION = 12 +function Base.getproperty(x::var"##Ctag#272", f::Symbol) + r = Ref{var"##Ctag#272"}(x) + ptr = Base.unsafe_convert(Ptr{var"##Ctag#272"}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end -const NVML_API_VERSION_STR = "12" +function Base.setproperty!(x::Ptr{var"##Ctag#272"}, f::Symbol, v) + return unsafe_store!(getproperty(x, f), v) +end + +const NVML_API_VERSION = 13 + +const NVML_API_VERSION_STR = "13" const NVML_VALUE_NOT_AVAILABLE = -1 @@ -4767,6 +5372,10 @@ const nvmlProcessDetailList_v1 = @NVML_STRUCT_VERSION(ProcessDetailList, 1) const nvmlC2cModeInfo_v1 = @NVML_STRUCT_VERSION(C2cModeInfo, 1) +const nvmlDeviceAddressingMode_v1 = @NVML_STRUCT_VERSION(DeviceAddressingMode, 1) + +const nvmlRepairStatus_v1 = @NVML_STRUCT_VERSION(RepairStatus, 1) + const NVML_NVLINK_MAX_LINKS = 18 const NVML_TOPOLOGY_CPU = NVML_TOPOLOGY_NODE @@ -4783,6 +5392,8 @@ const NVML_DEVICE_UUID_BINARY_LEN = 16 const nvmlUUID_v1 = @NVML_STRUCT_VERSION(UUID, 1) +const nvmlPdi_v1 = @NVML_STRUCT_VERSION(Pdi, 1) + const nvmlFlagDefault = 0x00 const nvmlFlagForce = 0x01 @@ -4809,6 +5420,14 @@ const nvmlDevicePerfModes_v1 = @NVML_STRUCT_VERSION(DevicePerfModes, 1) const nvmlDeviceCurrentClockFreqs_v1 = @NVML_STRUCT_VERSION(DeviceCurrentClockFreqs, 1) +const NVML_POWER_MIZER_MODE_ADAPTIVE = 0 + +const NVML_POWER_MIZER_MODE_PREFER_MAXIMUM_PERFORMANCE = 1 + +const NVML_POWER_MIZER_MODE_AUTO = 2 + +const NVML_POWER_MIZER_MODE_PREFER_CONSISTENT_PERFORMANCE = 3 + const nvmlProcessesUtilizationInfo_v1 = @NVML_STRUCT_VERSION(ProcessesUtilizationInfo, 1) const nvmlEccSramErrorStatus_v1 = @NVML_STRUCT_VERSION(EccSramErrorStatus, 1) @@ -4817,6 +5436,9 @@ const nvmlPlatformInfo_v1 = @NVML_STRUCT_VERSION(PlatformInfo, 1) const nvmlPlatformInfo_v2 = @NVML_STRUCT_VERSION(PlatformInfo, 2) +const nvmlEccSramUniqueUncorrectedErrorCounts_v1 = @NVML_STRUCT_VERSION(EccSramUniqueUncorrectedErrorCounts, + 1) + const NVML_GSP_FIRMWARE_VERSION_BUF_SIZE = 0x40 const NVML_DEVICE_ARCH_KEPLER = 2 @@ -4837,8 +5459,6 @@ const NVML_DEVICE_ARCH_HOPPER = 9 const NVML_DEVICE_ARCH_BLACKWELL = 10 -const NVML_DEVICE_ARCH_T23X = 11 - const NVML_DEVICE_ARCH_UNKNOWN = 0xffffffff const NVML_BUS_TYPE_UNKNOWN = 0 @@ -5702,6 +6322,8 @@ const NVML_CC_SYSTEM_MULTIGPU_NONE = 0 const NVML_CC_SYSTEM_MULTIGPU_PROTECTED_PCIE = 1 +const NVML_CC_SYSTEM_MULTIGPU_NVLE = 2 + const nvmlSystemConfComputeSettings_v1 = @NVML_STRUCT_VERSION(SystemConfComputeSettings, 1) const NVML_CC_ACCEPTING_CLIENT_REQUESTS_FALSE = 0 @@ -5782,8 +6404,34 @@ const NVML_GPU_FABRIC_HEALTH_MASK_SHIFT_ACCESS_TIMEOUT_RECOVERY = 6 const NVML_GPU_FABRIC_HEALTH_MASK_WIDTH_ACCESS_TIMEOUT_RECOVERY = 0x03 +const NVML_GPU_FABRIC_HEALTH_MASK_INCORRECT_CONFIGURATION_NOT_SUPPORTED = 0 + +const NVML_GPU_FABRIC_HEALTH_MASK_INCORRECT_CONFIGURATION_NONE = 1 + +const NVML_GPU_FABRIC_HEALTH_MASK_INCORRECT_CONFIGURATION_INCORRECT_SYSGUID = 2 + +const NVML_GPU_FABRIC_HEALTH_MASK_INCORRECT_CONFIGURATION_INCORRECT_CHASSIS_SN = 3 + +const NVML_GPU_FABRIC_HEALTH_MASK_INCORRECT_CONFIGURATION_NO_PARTITION = 4 + +const NVML_GPU_FABRIC_HEALTH_MASK_INCORRECT_CONFIGURATION_INSUFFICIENT_NVLINKS = 5 + +const NVML_GPU_FABRIC_HEALTH_MASK_SHIFT_INCORRECT_CONFIGURATION = 8 + +const NVML_GPU_FABRIC_HEALTH_MASK_WIDTH_INCORRECT_CONFIGURATION = 0x0f + +const NVML_GPU_FABRIC_HEALTH_SUMMARY_NOT_SUPPORTED = 0 + +const NVML_GPU_FABRIC_HEALTH_SUMMARY_HEALTHY = 1 + +const NVML_GPU_FABRIC_HEALTH_SUMMARY_UNHEALTHY = 2 + +const NVML_GPU_FABRIC_HEALTH_SUMMARY_LIMITED_CAPACITY = 3 + const nvmlGpuFabricInfo_v2 = @NVML_STRUCT_VERSION(GpuFabricInfo, 2) +const nvmlGpuFabricInfo_v3 = @NVML_STRUCT_VERSION(GpuFabricInfo, 3) + const NVML_INIT_FLAG_NO_GPUS = 1 const NVML_INIT_FLAG_NO_ATTACH = 2 @@ -5838,6 +6486,24 @@ const nvmlNvlinkGetBwMode_v1 = @NVML_STRUCT_VERSION(NvlinkGetBwMode, 1) const nvmlNvlinkSetBwMode_v1 = @NVML_STRUCT_VERSION(NvlinkSetBwMode, 1) +const nvmlNvLinkInfo_v1 = @NVML_STRUCT_VERSION(NvLinkInfo, 1) + +const NVML_NVLINK_FIRMWARE_UCODE_TYPE_MSE = 0x01 + +const NVML_NVLINK_FIRMWARE_UCODE_TYPE_NETIR = 0x02 + +const NVML_NVLINK_FIRMWARE_UCODE_TYPE_NETIR_UPHY = 0x03 + +const NVML_NVLINK_FIRMWARE_UCODE_TYPE_NETIR_CLN = 0x04 + +const NVML_NVLINK_FIRMWARE_UCODE_TYPE_NETIR_DLN = 0x05 + +const NVML_NVLINK_FIRMWARE_VERSION_LENGTH = 100 + +const nvmlNvLinkInfo_v2 = @NVML_STRUCT_VERSION(NvLinkInfo, 2) + +const NVML_PRM_DATA_MAX_SIZE = 496 + const NVML_DEVICE_MIG_DISABLE = 0x00 const NVML_DEVICE_MIG_ENABLE = 0x01 diff --git a/res/wrap/Manifest.toml b/res/wrap/Manifest.toml index bc44636888..8b96fb7212 100644 --- a/res/wrap/Manifest.toml +++ b/res/wrap/Manifest.toml @@ -1,6 +1,6 @@ # This file is machine-generated - editing it directly is not advised -julia_version = "1.11.5" +julia_version = "1.11.6" manifest_format = "2.0" project_hash = "5b3c7158524d47009a2aa20dc74e938a8cbc2050" @@ -29,21 +29,21 @@ version = "3.4.3" [[deps.CUDA_Driver_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "5129b555ff876c47ad9e53bcd86e9a94bcc12ea4" +git-tree-sha1 = "12621de83838b5ce6a185050db5a184f4540679b" uuid = "4ee394cb-3365-5eb0-8335-949819d2adfc" -version = "0.13.0+0" +version = "13.0.0+0" [[deps.CUDA_Runtime_jll]] deps = ["Artifacts", "CUDA_Driver_jll", "JLLWrappers", "LazyArtifacts", "Libdl", "TOML"] -git-tree-sha1 = "28126781294b2f31bc815f96922d680426e3a0bc" +git-tree-sha1 = "cc727d90c9769db27945219f9ba149dbddc74f06" uuid = "76a88914-d11a-5bdc-97e0-2f5a05c973a2" -version = "0.17.0+0" +version = "0.19.0+0" [[deps.CUDA_SDK_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "8654f37720ed78e619ecd3f583c795875db02f39" +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "a070862c4bcd59704e7a7b0f01b3779c02a148be" uuid = "6cbf2f2e-7e60-5632-ac76-dca2274e0be0" -version = "12.9.0+0" +version = "13.0.0+0" [[deps.CUDNN_jll]] deps = ["Artifacts", "CUDA_Runtime_jll", "JLLWrappers", "LazyArtifacts", "Libdl", "TOML"] @@ -59,9 +59,9 @@ version = "2.2.0+0" [[deps.Clang]] deps = ["CEnum", "Clang_jll", "Downloads", "Pkg", "TOML"] -git-tree-sha1 = "2397d5da17ba4970f772a9888b208a0a1d77eb5d" +path = "/home/tim/Julia/pkg/Clang" uuid = "40e3b903-d033-50b4-a0cc-940c62c95e31" -version = "0.18.3" +version = "0.19.0" [[deps.Clang_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "TOML", "Zlib_jll", "libLLVM_jll"] @@ -101,15 +101,15 @@ version = "1.3.1" [[deps.JLLWrappers]] deps = ["Artifacts", "Preferences"] -git-tree-sha1 = "a007feb38b422fbdab534406aeca1b86823cb4d6" +git-tree-sha1 = "0533e564aae234aff59ab625543145446d8b6ec2" uuid = "692b3bcd-3c85-4b1f-b108-f13ce0eb3210" -version = "1.7.0" +version = "1.7.1" [[deps.JuliaFormatter]] deps = ["CommonMark", "Glob", "JuliaSyntax", "PrecompileTools", "TOML"] -git-tree-sha1 = "56b382cd34b1a80f63211a0b009461915915bf9e" +git-tree-sha1 = "f512fefd5fdc7dd1ca05778f08f91e9e4c9fdc37" uuid = "98e50ef6-434e-11e9-1051-2b60c6c9e899" -version = "2.1.2" +version = "2.1.6" [[deps.JuliaSyntax]] git-tree-sha1 = "937da4713526b96ac9a178e2035019d3b78ead4a" @@ -197,9 +197,9 @@ version = "1.2.1" [[deps.Preferences]] deps = ["TOML"] -git-tree-sha1 = "9306f6085165d270f7e3db02af26a400d580f5c6" +git-tree-sha1 = "0f27480397253da18fe2c12a4ba4eb9eb208bf3d" uuid = "21216c6a-2e73-6563-6e65-726566657250" -version = "1.4.3" +version = "1.5.0" [[deps.Printf]] deps = ["Unicode"] diff --git a/res/wrap/cusolverMg.toml b/res/wrap/cusolverMg.toml index 52fb5365a6..7c57fb43d4 100644 --- a/res/wrap/cusolverMg.toml +++ b/res/wrap/cusolverMg.toml @@ -2,6 +2,11 @@ library_name = "libcusolverMg" output_file_path = "../../lib/cusolver/libcusolverMg.jl" +output_ignorelist = [ + # generates bad code + "CUSOLVERMG_CPP_VERSION", +] + [codegen] use_ccall_macro = true diff --git a/res/wrap/libcupti_prologue.jl b/res/wrap/libcupti_prologue.jl index 2c64b75ec3..19023096bd 100644 --- a/res/wrap/libcupti_prologue.jl +++ b/res/wrap/libcupti_prologue.jl @@ -28,3 +28,12 @@ macro CUPTI_PROFILER_STRUCT_SIZE(type, lastfield) $struct_size($type, $lastfield) end end + +macro CUPTI_CALLBACK_STRUCT_SIZE(type, lastfield) + type = esc(type) + lastfield = QuoteNode(lastfield) + quote + $struct_size($type, $lastfield) + end +end + diff --git a/res/wrap/wrap.jl b/res/wrap/wrap.jl index 85bff33c57..230a5234aa 100644 --- a/res/wrap/wrap.jl +++ b/res/wrap/wrap.jl @@ -56,6 +56,8 @@ function wrap(name, headers; targets=headers, defines=[], include_dirs=[]) append!(args, ["-D", "$define"]) end end + # XXX: Clang.jl stumbles without stubbing out this attribute (where is it normally defined?) + push!(args, "-D__device_builtin__=__attribute__((unused))") options = load_options(joinpath(@__DIR__, "$(name).toml"))