From 039b0978f38f13c04d1bf814dfe0145c0cf1ff48 Mon Sep 17 00:00:00 2001 From: Tim Besard Date: Mon, 27 Jan 2025 15:34:21 +0100 Subject: [PATCH 1/3] Update JLLs and CI to CUDA 12.8. --- .buildkite/pipeline.yml | 1 + Project.toml | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.buildkite/pipeline.yml b/.buildkite/pipeline.yml index 9196a4ef5f..b030b13942 100644 --- a/.buildkite/pipeline.yml +++ b/.buildkite/pipeline.yml @@ -66,6 +66,7 @@ steps: matrix: setup: cuda: + - "12.8" - "12.6" - "12.5" - "12.4" diff --git a/Project.toml b/Project.toml index 2742502aef..9656d4a6bd 100644 --- a/Project.toml +++ b/Project.toml @@ -51,9 +51,9 @@ AbstractFFTs = "0.4, 0.5, 1.0" Adapt = "4" BFloat16s = "0.2, 0.3, 0.4, 0.5" CEnum = "0.2, 0.3, 0.4, 0.5" -CUDA_Driver_jll = "0.10" +CUDA_Driver_jll = "0.12" CUDA_Runtime_Discovery = "0.3.3" -CUDA_Runtime_jll = "0.15" +CUDA_Runtime_jll = "0.16" ChainRulesCore = "1" Crayons = "4" DataFrames = "1" From ef0d35f77f45d6f8d1ea2221100d51e8871df352 Mon Sep 17 00:00:00 2001 From: Tim Besard Date: Mon, 27 Jan 2025 16:24:05 +0100 Subject: [PATCH 2/3] Improve NVML wrapper generation. --- res/wrap/libnvml_prologue.jl | 7 +++++++ res/wrap/nvml.toml | 32 ++------------------------------ res/wrap/wrap.jl | 22 +++++++++++++--------- 3 files changed, 22 insertions(+), 39 deletions(-) diff --git a/res/wrap/libnvml_prologue.jl b/res/wrap/libnvml_prologue.jl index 42d7865c05..54ec39561d 100644 --- a/res/wrap/libnvml_prologue.jl +++ b/res/wrap/libnvml_prologue.jl @@ -26,3 +26,10 @@ end return end + +macro NVML_STRUCT_VERSION(typename, version) + struct_typename = Symbol("nvml$(String(typename))_v$(version)_t") + struct_type = getfield(__module__, struct_typename) + struct_version = UInt32(sizeof(struct_type)) | (UInt32(version) << 24) + return :($struct_version) +end diff --git a/res/wrap/nvml.toml b/res/wrap/nvml.toml index 26089f7955..708ab046b9 100644 --- a/res/wrap/nvml.toml +++ b/res/wrap/nvml.toml @@ -3,35 +3,7 @@ library_name = "libnvml()" output_file_path = "../../lib/nvml/libnvml.jl" prologue_file_path = "./libnvml_prologue.jl" -output_ignorelist = [ - # we can't handle NVML_STRUCT_VERSION - "^nvmlMemory_v2$", - "^nvmlGpuInstanceProfileInfo_v2$", - "^nvmlComputeInstanceProfileInfo_v2$", - "^nvmlPowerValue_v2$", - "^nvmlProcessDetailList_v1$", - "^nvmlC2cModeInfo_v1$", - "^nvmlGpuInstanceProfileInfo_v3$", - "^nvmlComputeInstanceProfileInfo_v3$", - "nvmlPciInfoExt_v1", - "nvmlVgpuHeterogeneousMode_v1", - "nvmlVgpuPlacementId_v1", - "nvmlVgpuPlacementList_v1", - "nvmlVgpuInstancesUtilizationInfo_v1", - "nvmlVgpuProcessesUtilizationInfo_v1", - "nvmlProcessesUtilizationInfo_v1", - "nvmlEccSramErrorStatus_v1", - "nvmlSystemConfComputeSettings_v1", - "nvmlConfComputeSetKeyRotationThresholdInfo_v1", - "nvmlConfComputeGetKeyRotationThresholdInfo_v1", - "nvmlGpuFabricInfo_v2", - "NVML_DEVICE_PCI_BUS_ID_LEGACY_FMT", - "NVML_DEVICE_PCI_BUS_ID_FMT", - "nvmlClockOffset_v1", - "nvmlDeviceCapabilities_v1", - "nvmlVgpuTypeBar1Info_v1", - "nvmlSystemDriverBranchInfo_v1", -] +output_ignorelist = [] [codegen] @@ -42,7 +14,7 @@ always_NUL_terminated_string = true [api] checked_rettypes = [ "nvmlReturn_t" ] -[api.nvmlInit_v2] +[api.nvmlInit] needs_context = false [api.nvmlInitWithFlags] diff --git a/res/wrap/wrap.jl b/res/wrap/wrap.jl index 6cdabdf34d..85bff33c57 100644 --- a/res/wrap/wrap.jl +++ b/res/wrap/wrap.jl @@ -7,9 +7,6 @@ # # To update the types of arguments, add `api..argtypes` to a library's TOML file. -# TODO -# - deal with NVML's `NVML_STRUCT_VERSION` (workaround: we ignore these symbols) - using Clang using Clang.Generators @@ -126,7 +123,7 @@ function rewriter!(ctx, options) lhs, rhs = expr.args if rhs isa Expr && rhs.head == :call name = string(rhs.args[1]) - if endswith(name, "STRUCT_SIZE") + if endswith(name, "STRUCT_SIZE") || endswith(name, "STRUCT_VERSION") rhs.head = :macrocall rhs.args[1] = Symbol("@", name) insert!(rhs.args, 2, nothing) @@ -182,14 +179,20 @@ function rewriter!(ctx, options) push!(names, fn[1:end-3]) end + # versioned functions are aliased to the unversioned name, so we can + # reuse the same type rewrites. + if occursin("_v", fn) + push!(names, replace(fn, r"_v\d+" => "")) + end + # look for a template rewrite: many libraries have very similar functions, # e.g., `cublas[SDHCZ]gemm`, for which we can use the same type rewrites # registered as `cublasš¯•¸gemm` template with `T` and `S` placeholders. for name in copy(names), (typcode,(T,S)) in ["S"=>("Cfloat","Cfloat"), - "D"=>("Cdouble","Cdouble"), - "H"=>("Float16","Float16"), - "C"=>("cuComplex","Cfloat"), - "Z"=>("cuDoubleComplex","Cdouble")] + "D"=>("Cdouble","Cdouble"), + "H"=>("Float16","Float16"), + "C"=>("cuComplex","Cfloat"), + "Z"=>("cuDoubleComplex","Cdouble")] idx = findfirst(typcode, name) while idx !== nothing template_name = name[1:idx.start-1] * "š¯•¸" * name[idx.stop+1:end] @@ -265,7 +268,8 @@ function main(name="all") end if name == "all" || name == "nvml" - wrap("nvml", ["$cuda/nvml.h"]; include_dirs=[cuda]) + wrap("nvml", ["$cuda/nvml.h"]; include_dirs=[cuda], + defines=["NVML_NO_UNVERSIONED_FUNC_DEFS=0"]) end if name == "all" || name == "cupti" From 69b2809d2bfebc7f70d43a3b9719eca744af635f Mon Sep 17 00:00:00 2001 From: Tim Besard Date: Mon, 27 Jan 2025 16:27:47 +0100 Subject: [PATCH 3/3] Regenerate wrappers. --- lib/cublas/libcublasLt.jl | 25 +- lib/cudadrv/libcuda.jl | 1027 +++--- lib/cudnn/src/libcudnn.jl | 14 +- lib/cupti/libcupti.jl | 4796 +++++++++++++++++-------- lib/cutensornet/src/libcutensornet.jl | 20 +- lib/nvml/NVML.jl | 1 - lib/nvml/device.jl | 2 +- lib/nvml/libnvml.jl | 1724 ++++++--- lib/nvml/libnvml_deprecated.jl | 60 - res/wrap/Manifest.toml | 164 +- res/wrap/cudnn.toml | 3 + 11 files changed, 5135 insertions(+), 2701 deletions(-) diff --git a/lib/cublas/libcublasLt.jl b/lib/cublas/libcublasLt.jl index f4e7b5c15e..23e47ccf4c 100644 --- a/lib/cublas/libcublasLt.jl +++ b/lib/cublas/libcublasLt.jl @@ -718,7 +718,11 @@ const cublasLtMatmulPreference_t = Ptr{cublasLtMatmulPreferenceOpaque_t} CUBLASLT_MATMUL_TILE_768x56 = 628 CUBLASLT_MATMUL_TILE_768x72 = 629 CUBLASLT_MATMUL_TILE_768x80 = 630 - CUBLASLT_MATMUL_TILE_END = 631 + CUBLASLT_MATMUL_TILE_256x512 = 631 + CUBLASLT_MATMUL_TILE_256x1024 = 632 + CUBLASLT_MATMUL_TILE_512x512 = 633 + CUBLASLT_MATMUL_TILE_512x1024 = 634 + CUBLASLT_MATMUL_TILE_END = 635 end @cenum cublasLtMatmulStages_t::UInt32 begin @@ -757,7 +761,8 @@ end CUBLASLT_MATMUL_STAGES_32xAUTO = 34 CUBLASLT_MATMUL_STAGES_64xAUTO = 35 CUBLASLT_MATMUL_STAGES_128xAUTO = 36 - CUBLASLT_MATMUL_STAGES_END = 37 + CUBLASLT_MATMUL_STAGES_256xAUTO = 37 + CUBLASLT_MATMUL_STAGES_END = 38 end @cenum cublasLtClusterShape_t::UInt32 begin @@ -824,6 +829,13 @@ end CUBLASLT_MATMUL_INNER_SHAPE_END = 5 end +@cenum cublasLtMatmulMatrixScale_t::UInt32 begin + CUBLASLT_MATMUL_MATRIX_SCALE_SCALAR_32F = 0 + CUBLASLT_MATMUL_MATRIX_SCALE_VEC16_UE4M3 = 1 + CUBLASLT_MATMUL_MATRIX_SCALE_VEC32_UE8M0 = 2 + CUBLASLT_MATMUL_MATRIX_SCALE_END = 3 +end + @cenum cublasLtPointerMode_t::UInt32 begin CUBLASLT_POINTER_MODE_HOST = 0 CUBLASLT_POINTER_MODE_DEVICE = 1 @@ -973,6 +985,13 @@ end 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 + CUBLASLT_MATMUL_DESC_D_SCALE_MODE = 34 + CUBLASLT_MATMUL_DESC_EPILOGUE_AUX_SCALE_MODE = 35 + CUBLASLT_MATMUL_DESC_D_OUT_SCALE_POINTER = 36 + CUBLASLT_MATMUL_DESC_D_OUT_SCALE_MODE = 37 end @checked function cublasLtMatmulDescInit_internal(matmulDesc, size, computeType, scaleType) @@ -1318,7 +1337,7 @@ end @gcsafe_ccall libcublasLt.cublasLtLoggerSetMask(mask::Cint)::cublasStatus_t end -# no prototype is found for this function at cublasLt.h:2448:29, please use with caution +# no prototype is found for this function at cublasLt.h:2507: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 dfaf4abb93..52eec6e445 100644 --- a/lib/cudadrv/libcuda.jl +++ b/lib/cudadrv/libcuda.jl @@ -83,6 +83,7 @@ const CUdevice = CUdevice_v1 CUDA_ERROR_JIT_COMPILATION_DISABLED = 223 CUDA_ERROR_UNSUPPORTED_EXEC_AFFINITY = 224 CUDA_ERROR_UNSUPPORTED_DEVSIDE_SYNC = 225 + CUDA_ERROR_CONTAINED = 226 CUDA_ERROR_INVALID_SOURCE = 300 CUDA_ERROR_FILE_NOT_FOUND = 301 CUDA_ERROR_SHARED_OBJECT_SYMBOL_NOT_FOUND = 302 @@ -112,6 +113,7 @@ const CUdevice = CUdevice_v1 CUDA_ERROR_INVALID_PC = 718 CUDA_ERROR_LAUNCH_FAILED = 719 CUDA_ERROR_COOPERATIVE_LAUNCH_TOO_LARGE = 720 + CUDA_ERROR_TENSOR_MEMORY_LEAK = 721 CUDA_ERROR_NOT_PERMITTED = 800 CUDA_ERROR_NOT_SUPPORTED = 801 CUDA_ERROR_SYSTEM_NOT_READY = 802 @@ -141,6 +143,7 @@ const CUdevice = CUdevice_v1 CUDA_ERROR_FUNCTION_NOT_LOADED = 913 CUDA_ERROR_INVALID_RESOURCE_TYPE = 914 CUDA_ERROR_INVALID_RESOURCE_CONFIGURATION = 915 + CUDA_ERROR_KEY_ROTATION = 916 CUDA_ERROR_UNKNOWN = 999 end @@ -477,6 +480,9 @@ end CU_AD_FORMAT_Y416 = 177 CU_AD_FORMAT_Y444_PLANAR8 = 178 CU_AD_FORMAT_Y444_PLANAR10 = 179 + CU_AD_FORMAT_YUV444_8bit_SemiPlanar = 180 + CU_AD_FORMAT_YUV444_16bit_SemiPlanar = 181 + CU_AD_FORMAT_UNORM_INT_101010_2 = 80 CU_AD_FORMAT_MAX = 2147483647 end @@ -1163,23 +1169,29 @@ end const CUasyncNotificationType = CUasyncNotificationType_enum -struct var"##Ctag#284" +struct var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cuda.h:615:5)" data::NTuple{8,UInt8} end -function Base.getproperty(x::Ptr{var"##Ctag#284"}, f::Symbol) - f === :overBudget && return Ptr{var"##Ctag#285"}(x + 0) +function Base.getproperty(x::Ptr{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cuda.h:615:5)"}, + f::Symbol) + f === :overBudget && + return Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cuda.h:616:9)"}(x + + 0) return getfield(x, f) end -function Base.getproperty(x::var"##Ctag#284", f::Symbol) - r = Ref{var"##Ctag#284"}(x) - ptr = Base.unsafe_convert(Ptr{var"##Ctag#284"}, r) +function Base.getproperty(x::var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cuda.h:615:5)", + f::Symbol) + r = Ref{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cuda.h:615:5)"}(x) + ptr = Base.unsafe_convert(Ptr{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cuda.h:615:5)"}, + r) fptr = getproperty(ptr, f) GC.@preserve r unsafe_load(fptr) end -function Base.setproperty!(x::Ptr{var"##Ctag#284"}, f::Symbol, v) +function Base.setproperty!(x::Ptr{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cuda.h:615:5)"}, + f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end @@ -1189,7 +1201,9 @@ end function Base.getproperty(x::Ptr{CUasyncNotificationInfo_st}, f::Symbol) f === :type && return Ptr{CUasyncNotificationType}(x + 0) - f === :info && return Ptr{var"##Ctag#284"}(x + 8) + f === :info && + return Ptr{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cuda.h:615:5)"}(x + + 8) return getfield(x, f) end @@ -1367,7 +1381,12 @@ const CUfilter_mode = CUfilter_mode_enum CU_DEVICE_ATTRIBUTE_MPS_ENABLED = 133 CU_DEVICE_ATTRIBUTE_HOST_NUMA_ID = 134 CU_DEVICE_ATTRIBUTE_D3D12_CIG_SUPPORTED = 135 - CU_DEVICE_ATTRIBUTE_MAX = 136 + CU_DEVICE_ATTRIBUTE_MEM_DECOMPRESS_ALGORITHM_MASK = 136 + CU_DEVICE_ATTRIBUTE_MEM_DECOMPRESS_MAXIMUM_LENGTH = 137 + CU_DEVICE_ATTRIBUTE_GPU_PCI_DEVICE_ID = 139 + CU_DEVICE_ATTRIBUTE_GPU_PCI_SUBSYSTEM_ID = 140 + CU_DEVICE_ATTRIBUTE_HOST_NUMA_MULTINODE_IPC_SUPPORTED = 143 + CU_DEVICE_ATTRIBUTE_MAX = 144 end const CUdevice_attribute = CUdevice_attribute_enum @@ -1410,6 +1429,7 @@ const CUdevprop = CUdevprop_v1 CU_POINTER_ATTRIBUTE_MAPPING_SIZE = 18 CU_POINTER_ATTRIBUTE_MAPPING_BASE_ADDR = 19 CU_POINTER_ATTRIBUTE_MEMORY_BLOCK_ID = 20 + CU_POINTER_ATTRIBUTE_IS_HW_DECOMPRESS_CAPABLE = 21 end const CUpointer_attribute = CUpointer_attribute_enum @@ -1512,7 +1532,13 @@ const CUmem_range_attribute = CUmem_range_attribute_enum CU_TARGET_COMPUTE_87 = 87 CU_TARGET_COMPUTE_89 = 89 CU_TARGET_COMPUTE_90 = 90 + CU_TARGET_COMPUTE_100 = 100 + CU_TARGET_COMPUTE_101 = 101 + CU_TARGET_COMPUTE_120 = 120 CU_TARGET_COMPUTE_90A = 65626 + CU_TARGET_COMPUTE_100A = 65636 + CU_TARGET_COMPUTE_101A = 65637 + CU_TARGET_COMPUTE_120A = 65656 end const CUjit_target = CUjit_target_enum @@ -1685,6 +1711,7 @@ const CUDA_HOST_NODE_PARAMS_v2 = CUDA_HOST_NODE_PARAMS_v2_st @cenum CUgraphConditionalNodeType_enum::UInt32 begin CU_GRAPH_COND_TYPE_IF = 0 CU_GRAPH_COND_TYPE_WHILE = 1 + CU_GRAPH_COND_TYPE_SWITCH = 2 end const CUgraphConditionalNodeType = CUgraphConditionalNodeType_enum @@ -1738,6 +1765,7 @@ const CUgraphEdgeData = CUgraphEdgeData_st CUDA_GRAPH_INSTANTIATE_INVALID_STRUCTURE = 2 CUDA_GRAPH_INSTANTIATE_NODE_OPERATION_NOT_SUPPORTED = 3 CUDA_GRAPH_INSTANTIATE_MULTIPLE_CTXS_NOT_SUPPORTED = 4 + CUDA_GRAPH_INSTANTIATE_CONDITIONAL_HANDLE_UNUSED = 5 end const CUgraphInstantiateResult = CUgraphInstantiateResult_enum @@ -1794,6 +1822,7 @@ const CUlaunchMemSyncDomainMap = CUlaunchMemSyncDomainMap_st CU_LAUNCH_ATTRIBUTE_PRIORITY = 8 CU_LAUNCH_ATTRIBUTE_MEM_SYNC_DOMAIN_MAP = 9 CU_LAUNCH_ATTRIBUTE_MEM_SYNC_DOMAIN = 10 + CU_LAUNCH_ATTRIBUTE_PREFERRED_CLUSTER_DIMENSION = 11 CU_LAUNCH_ATTRIBUTE_LAUNCH_COMPLETION_EVENT = 12 CU_LAUNCH_ATTRIBUTE_DEVICE_UPDATABLE_KERNEL_NODE = 13 CU_LAUNCH_ATTRIBUTE_PREFERRED_SHARED_MEMORY_CARVEOUT = 14 @@ -1810,15 +1839,26 @@ 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"##Ctag#292"}(x + 0) + f === :clusterDim && + return Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cuda.h:2190:5)"}(x + + 0) f === :clusterSchedulingPolicyPreference && return Ptr{CUclusterSchedulingPolicy}(x + 0) f === :programmaticStreamSerializationAllowed && return Ptr{Cint}(x + 0) - f === :programmaticEvent && return Ptr{var"##Ctag#293"}(x + 0) - f === :launchCompletionEvent && return Ptr{var"##Ctag#294"}(x + 0) + f === :programmaticEvent && + return Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cuda.h:2207:5)"}(x + + 0) + f === :launchCompletionEvent && + return Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cuda.h:2218:5)"}(x + + 0) f === :priority && return Ptr{Cint}(x + 0) f === :memSyncDomainMap && return Ptr{CUlaunchMemSyncDomainMap}(x + 0) f === :memSyncDomain && return Ptr{CUlaunchMemSyncDomain}(x + 0) - f === :deviceUpdatableKernelNode && return Ptr{var"##Ctag#295"}(x + 0) + f === :preferredClusterDim && + return Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cuda.h:2241:5)"}(x + + 0) + f === :deviceUpdatableKernelNode && + return Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cuda.h:2253:5)"}(x + + 0) f === :sharedMemCarveout && return Ptr{Cuint}(x + 0) return getfield(x, f) end @@ -1894,23 +1934,27 @@ const CUexecAffinitySmCount_v1 = CUexecAffinitySmCount_st const CUexecAffinitySmCount = CUexecAffinitySmCount_v1 -struct var"##Ctag#297" +struct var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cuda.h:2369:5)" data::NTuple{4,UInt8} end -function Base.getproperty(x::Ptr{var"##Ctag#297"}, f::Symbol) +function Base.getproperty(x::Ptr{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cuda.h:2369:5)"}, + f::Symbol) f === :smCount && return Ptr{CUexecAffinitySmCount}(x + 0) 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) +function Base.getproperty(x::var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cuda.h:2369:5)", + f::Symbol) + r = Ref{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cuda.h:2369:5)"}(x) + ptr = Base.unsafe_convert(Ptr{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cuda.h:2369:5)"}, + r) fptr = getproperty(ptr, f) GC.@preserve r unsafe_load(fptr) end -function Base.setproperty!(x::Ptr{var"##Ctag#297"}, f::Symbol, v) +function Base.setproperty!(x::Ptr{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cuda.h:2369:5)"}, + f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end @@ -1920,7 +1964,9 @@ end function Base.getproperty(x::Ptr{CUexecAffinityParam_st}, f::Symbol) f === :type && return Ptr{CUexecAffinityType}(x + 0) - f === :param && return Ptr{var"##Ctag#297"}(x + 4) + f === :param && + return Ptr{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cuda.h:2369:5)"}(x + + 4) return getfield(x, f) end @@ -2034,35 +2080,20 @@ end const CUDA_MEMCPY_NODE_PARAMS = CUDA_MEMCPY_NODE_PARAMS_st -struct var"##Ctag#308" +struct var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cuda.h:3324:5)" width::Cuint height::Cuint depth::Cuint end -function Base.getproperty(x::Ptr{var"##Ctag#308"}, 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#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"##Ctag#308"}, 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"##Ctag#308"}(x + 0) + f === :tileExtent && + return Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cuda.h:3324:5)"}(x + + 0) f === :miptailFirstLevel && return Ptr{Cuint}(x + 12) f === :miptailSize && return Ptr{Culonglong}(x + 16) f === :flags && return Ptr{Cuint}(x + 24) @@ -2095,27 +2126,41 @@ const CUDA_ARRAY_MEMORY_REQUIREMENTS_v1 = CUDA_ARRAY_MEMORY_REQUIREMENTS_st const CUDA_ARRAY_MEMORY_REQUIREMENTS = CUDA_ARRAY_MEMORY_REQUIREMENTS_v1 -struct var"##Ctag#302" +struct var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cuda.h:3363:5)" data::NTuple{128,UInt8} end -function Base.getproperty(x::Ptr{var"##Ctag#302"}, f::Symbol) - f === :array && return Ptr{var"##Ctag#303"}(x + 0) - f === :mipmap && return Ptr{var"##Ctag#304"}(x + 0) - f === :linear && return Ptr{var"##Ctag#305"}(x + 0) - f === :pitch2D && return Ptr{var"##Ctag#306"}(x + 0) - f === :reserved && return Ptr{var"##Ctag#307"}(x + 0) +function Base.getproperty(x::Ptr{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cuda.h:3363:5)"}, + f::Symbol) + f === :array && + return Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cuda.h:3364:9)"}(x + + 0) + f === :mipmap && + return Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cuda.h:3367:9)"}(x + + 0) + f === :linear && + return Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cuda.h:3370:9)"}(x + + 0) + f === :pitch2D && + return Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cuda.h:3376:9)"}(x + + 0) + f === :reserved && + return Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cuda.h:3384:9)"}(x + + 0) return getfield(x, f) end -function Base.getproperty(x::var"##Ctag#302", f::Symbol) - r = Ref{var"##Ctag#302"}(x) - ptr = Base.unsafe_convert(Ptr{var"##Ctag#302"}, r) +function Base.getproperty(x::var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cuda.h:3363:5)", + f::Symbol) + r = Ref{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cuda.h:3363:5)"}(x) + ptr = Base.unsafe_convert(Ptr{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cuda.h:3363:5)"}, + r) fptr = getproperty(ptr, f) GC.@preserve r unsafe_load(fptr) end -function Base.setproperty!(x::Ptr{var"##Ctag#302"}, f::Symbol, v) +function Base.setproperty!(x::Ptr{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cuda.h:3363:5)"}, + f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end @@ -2125,7 +2170,9 @@ end function Base.getproperty(x::Ptr{CUDA_RESOURCE_DESC_st}, f::Symbol) f === :resType && return Ptr{CUresourcetype}(x + 0) - f === :res && return Ptr{var"##Ctag#302"}(x + 8) + f === :res && + return Ptr{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cuda.h:3363:5)"}(x + + 8) f === :flags && return Ptr{Cuint}(x + 136) return getfield(x, f) end @@ -2254,6 +2301,9 @@ const CUtensorMap = CUtensorMap_st CU_TENSOR_MAP_DATA_TYPE_FLOAT32_FTZ = 10 CU_TENSOR_MAP_DATA_TYPE_TFLOAT32 = 11 CU_TENSOR_MAP_DATA_TYPE_TFLOAT32_FTZ = 12 + CU_TENSOR_MAP_DATA_TYPE_16U4_ALIGN8B = 13 + CU_TENSOR_MAP_DATA_TYPE_16U4_ALIGN16B = 14 + CU_TENSOR_MAP_DATA_TYPE_16U6_ALIGN16B = 15 end const CUtensorMapDataType = CUtensorMapDataType_enum @@ -2271,6 +2321,9 @@ const CUtensorMapInterleave = CUtensorMapInterleave_enum CU_TENSOR_MAP_SWIZZLE_32B = 1 CU_TENSOR_MAP_SWIZZLE_64B = 2 CU_TENSOR_MAP_SWIZZLE_128B = 3 + CU_TENSOR_MAP_SWIZZLE_128B_ATOM_32B = 4 + CU_TENSOR_MAP_SWIZZLE_128B_ATOM_32B_FLIP_8B = 5 + CU_TENSOR_MAP_SWIZZLE_128B_ATOM_64B = 6 end const CUtensorMapSwizzle = CUtensorMapSwizzle_enum @@ -2291,6 +2344,13 @@ end const CUtensorMapFloatOOBfill = CUtensorMapFloatOOBfill_enum +@cenum CUtensorMapIm2ColWideMode_enum::UInt32 begin + CU_TENSOR_MAP_IM2COL_WIDE_MODE_W = 0 + CU_TENSOR_MAP_IM2COL_WIDE_MODE_W128 = 1 +end + +const CUtensorMapIm2ColWideMode = CUtensorMapIm2ColWideMode_enum + struct CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st p2pToken::Culonglong vaSpaceToken::Cuint @@ -2338,25 +2398,31 @@ end const CUexternalMemoryHandleType = CUexternalMemoryHandleType_enum -struct var"##Ctag#286" +struct var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cuda.h:3674:5)" data::NTuple{16,UInt8} end -function Base.getproperty(x::Ptr{var"##Ctag#286"}, f::Symbol) +function Base.getproperty(x::Ptr{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cuda.h:3674:5)"}, + f::Symbol) f === :fd && return Ptr{Cint}(x + 0) - f === :win32 && return Ptr{var"##Ctag#287"}(x + 0) + f === :win32 && + return Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cuda.h:3696:9)"}(x + + 0) f === :nvSciBufObject && return Ptr{Ptr{Cvoid}}(x + 0) return getfield(x, f) 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) +function Base.getproperty(x::var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cuda.h:3674:5)", + f::Symbol) + r = Ref{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cuda.h:3674:5)"}(x) + ptr = Base.unsafe_convert(Ptr{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cuda.h:3674:5)"}, + r) fptr = getproperty(ptr, f) GC.@preserve r unsafe_load(fptr) end -function Base.setproperty!(x::Ptr{var"##Ctag#286"}, f::Symbol, v) +function Base.setproperty!(x::Ptr{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cuda.h:3674:5)"}, + f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end @@ -2366,7 +2432,9 @@ 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"##Ctag#286"}(x + 8) + f === :handle && + return Ptr{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cuda.h:3674:5)"}(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) @@ -2425,25 +2493,31 @@ end const CUexternalSemaphoreHandleType = CUexternalSemaphoreHandleType_enum -struct var"##Ctag#277" +struct var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cuda.h:3820:5)" data::NTuple{16,UInt8} end -function Base.getproperty(x::Ptr{var"##Ctag#277"}, f::Symbol) +function Base.getproperty(x::Ptr{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cuda.h:3820:5)"}, + f::Symbol) f === :fd && return Ptr{Cint}(x + 0) - f === :win32 && return Ptr{var"##Ctag#278"}(x + 0) + f === :win32 && + return Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cuda.h:3843:9)"}(x + + 0) f === :nvSciSyncObj && return Ptr{Ptr{Cvoid}}(x + 0) return getfield(x, f) end -function Base.getproperty(x::var"##Ctag#277", f::Symbol) - r = Ref{var"##Ctag#277"}(x) - ptr = Base.unsafe_convert(Ptr{var"##Ctag#277"}, r) +function Base.getproperty(x::var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cuda.h:3820:5)", + f::Symbol) + r = Ref{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cuda.h:3820:5)"}(x) + ptr = Base.unsafe_convert(Ptr{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cuda.h:3820:5)"}, + r) fptr = getproperty(ptr, f) GC.@preserve r unsafe_load(fptr) end -function Base.setproperty!(x::Ptr{var"##Ctag#277"}, f::Symbol, v) +function Base.setproperty!(x::Ptr{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cuda.h:3820:5)"}, + f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end @@ -2453,7 +2527,9 @@ 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"##Ctag#277"}(x + 8) + f === :handle && + return Ptr{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cuda.h:3820:5)"}(x + + 8) f === :flags && return Ptr{Cuint}(x + 24) f === :reserved && return Ptr{NTuple{16,Cuint}}(x + 28) return getfield(x, f) @@ -2474,85 +2550,69 @@ const CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1 = CUDA_EXTERNAL_SEMAPHORE_HANDLE_DE const CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC = CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1 -struct var"##Ctag#299" +struct var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cuda.h:3875:9)" value::Culonglong end -function Base.getproperty(x::Ptr{var"##Ctag#299"}, f::Symbol) - f === :value && return Ptr{Culonglong}(x + 0) - return getfield(x, f) -end - -function Base.getproperty(x::var"##Ctag#299", f::Symbol) - r = Ref{var"##Ctag#299"}(x) - ptr = Base.unsafe_convert(Ptr{var"##Ctag#299"}, r) - fptr = getproperty(ptr, f) - GC.@preserve r unsafe_load(fptr) -end - -function Base.setproperty!(x::Ptr{var"##Ctag#299"}, f::Symbol, v) - return unsafe_store!(getproperty(x, f), v) -end -struct var"##Ctag#300" +struct var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cuda.h:3881:9)" data::NTuple{8,UInt8} end -function Base.getproperty(x::Ptr{var"##Ctag#300"}, f::Symbol) +function Base.getproperty(x::Ptr{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cuda.h:3881:9)"}, + 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"##Ctag#300", f::Symbol) - r = Ref{var"##Ctag#300"}(x) - ptr = Base.unsafe_convert(Ptr{var"##Ctag#300"}, r) +function Base.getproperty(x::var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cuda.h:3881:9)", + f::Symbol) + r = Ref{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cuda.h:3881:9)"}(x) + ptr = Base.unsafe_convert(Ptr{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cuda.h:3881:9)"}, + r) fptr = getproperty(ptr, f) GC.@preserve r unsafe_load(fptr) end -function Base.setproperty!(x::Ptr{var"##Ctag#300"}, f::Symbol, v) +function Base.setproperty!(x::Ptr{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cuda.h:3881:9)"}, + f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end -struct var"##Ctag#301" +struct var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cuda.h:3892:9)" key::Culonglong end -function Base.getproperty(x::Ptr{var"##Ctag#301"}, f::Symbol) - f === :key && return Ptr{Culonglong}(x + 0) - 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"##Ctag#298" +struct var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cuda.h:3871:5)" data::NTuple{72,UInt8} end -function Base.getproperty(x::Ptr{var"##Ctag#298"}, f::Symbol) - f === :fence && return Ptr{var"##Ctag#299"}(x + 0) - f === :nvSciSync && return Ptr{var"##Ctag#300"}(x + 8) - f === :keyedMutex && return Ptr{var"##Ctag#301"}(x + 16) +function Base.getproperty(x::Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cuda.h:3871:5)"}, + f::Symbol) + f === :fence && + return Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cuda.h:3875:9)"}(x + + 0) + f === :nvSciSync && + return Ptr{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cuda.h:3881:9)"}(x + + 8) + f === :keyedMutex && + return Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cuda.h:3892:9)"}(x + + 16) f === :reserved && return Ptr{NTuple{12,Cuint}}(x + 24) return getfield(x, f) end -function Base.getproperty(x::var"##Ctag#298", f::Symbol) - r = Ref{var"##Ctag#298"}(x) - ptr = Base.unsafe_convert(Ptr{var"##Ctag#298"}, r) +function Base.getproperty(x::var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cuda.h:3871:5)", + f::Symbol) + r = Ref{var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cuda.h:3871:5)"}(x) + ptr = Base.unsafe_convert(Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cuda.h:3871:5)"}, + r) fptr = getproperty(ptr, f) GC.@preserve r unsafe_load(fptr) end -function Base.setproperty!(x::Ptr{var"##Ctag#298"}, f::Symbol, v) +function Base.setproperty!(x::Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cuda.h:3871:5)"}, + f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end @@ -2561,7 +2621,9 @@ struct CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st end function Base.getproperty(x::Ptr{CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st}, f::Symbol) - f === :params && return Ptr{Cvoid}(x + 0) + f === :params && + return Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cuda.h:3871:5)"}(x + + 0) f === :flags && return Ptr{Cuint}(x + 72) f === :reserved && return Ptr{NTuple{16,Cuint}}(x + 76) return getfield(x, f) @@ -2582,87 +2644,70 @@ const CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1 = CUDA_EXTERNAL_SEMAPHORE_SIGNAL_ const CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS = CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1 -struct var"##Ctag#289" +struct var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cuda.h:3923:9)" value::Culonglong end -function Base.getproperty(x::Ptr{var"##Ctag#289"}, f::Symbol) - f === :value && return Ptr{Culonglong}(x + 0) - return getfield(x, f) -end - -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"##Ctag#289"}, f::Symbol, v) - return unsafe_store!(getproperty(x, f), v) -end -struct var"##Ctag#290" +struct var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cuda.h:3933:9)" data::NTuple{8,UInt8} end -function Base.getproperty(x::Ptr{var"##Ctag#290"}, f::Symbol) +function Base.getproperty(x::Ptr{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cuda.h:3933:9)"}, + 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"##Ctag#290", f::Symbol) - r = Ref{var"##Ctag#290"}(x) - ptr = Base.unsafe_convert(Ptr{var"##Ctag#290"}, r) +function Base.getproperty(x::var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cuda.h:3933:9)", + f::Symbol) + r = Ref{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cuda.h:3933:9)"}(x) + ptr = Base.unsafe_convert(Ptr{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cuda.h:3933:9)"}, + r) fptr = getproperty(ptr, f) GC.@preserve r unsafe_load(fptr) end -function Base.setproperty!(x::Ptr{var"##Ctag#290"}, f::Symbol, v) +function Base.setproperty!(x::Ptr{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cuda.h:3933:9)"}, + f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end -struct var"##Ctag#291" +struct var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cuda.h:3940:9)" key::Culonglong timeoutMs::Cuint end -function Base.getproperty(x::Ptr{var"##Ctag#291"}, 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#291", f::Symbol) - r = Ref{var"##Ctag#291"}(x) - ptr = Base.unsafe_convert(Ptr{var"##Ctag#291"}, r) - fptr = getproperty(ptr, f) - GC.@preserve r unsafe_load(fptr) -end - -function Base.setproperty!(x::Ptr{var"##Ctag#291"}, f::Symbol, v) - return unsafe_store!(getproperty(x, f), v) -end -struct var"##Ctag#288" +struct var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cuda.h:3919:5)" data::NTuple{72,UInt8} end -function Base.getproperty(x::Ptr{var"##Ctag#288"}, f::Symbol) - f === :fence && return Ptr{var"##Ctag#289"}(x + 0) - f === :nvSciSync && return Ptr{var"##Ctag#290"}(x + 8) - f === :keyedMutex && return Ptr{var"##Ctag#291"}(x + 16) +function Base.getproperty(x::Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cuda.h:3919:5)"}, + f::Symbol) + f === :fence && + return Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cuda.h:3923:9)"}(x + + 0) + f === :nvSciSync && + return Ptr{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cuda.h:3933:9)"}(x + + 8) + f === :keyedMutex && + return Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cuda.h:3940:9)"}(x + + 16) f === :reserved && return Ptr{NTuple{10,Cuint}}(x + 32) return getfield(x, f) end -function Base.getproperty(x::var"##Ctag#288", f::Symbol) - r = Ref{var"##Ctag#288"}(x) - ptr = Base.unsafe_convert(Ptr{var"##Ctag#288"}, r) +function Base.getproperty(x::var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cuda.h:3919:5)", + f::Symbol) + r = Ref{var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cuda.h:3919:5)"}(x) + ptr = Base.unsafe_convert(Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cuda.h:3919:5)"}, + r) fptr = getproperty(ptr, f) GC.@preserve r unsafe_load(fptr) end -function Base.setproperty!(x::Ptr{var"##Ctag#288"}, f::Symbol, v) +function Base.setproperty!(x::Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cuda.h:3919:5)"}, + f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end @@ -2671,7 +2716,9 @@ struct CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st end function Base.getproperty(x::Ptr{CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st}, f::Symbol) - f === :params && return Ptr{Cvoid}(x + 0) + f === :params && + return Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cuda.h:3919:5)"}(x + + 0) f === :flags && return Ptr{Cuint}(x + 72) f === :reserved && return Ptr{NTuple{16,Cuint}}(x + 76) return getfield(x, f) @@ -2785,6 +2832,12 @@ end const CUmemRangeHandleType = CUmemRangeHandleType_enum +@cenum CUmemRangeFlags_enum::UInt32 begin + CU_MEM_RANGE_FLAG_DMA_BUF_MAPPING_TYPE_PCIE = 1 +end + +const CUmemRangeFlags = CUmemRangeFlags_enum + @cenum CUarraySparseSubresourceType_enum::UInt32 begin CU_ARRAY_SPARSE_SUBRESOURCE_TYPE_SPARSE_LEVEL = 0 CU_ARRAY_SPARSE_SUBRESOURCE_TYPE_MIPTAIL = 1 @@ -2805,65 +2858,81 @@ end const CUmemHandleType = CUmemHandleType_enum -struct var"##Ctag#279" +struct var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cuda.h:4107:5)" data::NTuple{8,UInt8} end -function Base.getproperty(x::Ptr{var"##Ctag#279"}, f::Symbol) +function Base.getproperty(x::Ptr{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cuda.h:4107:5)"}, + 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"##Ctag#279", f::Symbol) - r = Ref{var"##Ctag#279"}(x) - ptr = Base.unsafe_convert(Ptr{var"##Ctag#279"}, r) +function Base.getproperty(x::var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cuda.h:4107:5)", + f::Symbol) + r = Ref{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cuda.h:4107:5)"}(x) + ptr = Base.unsafe_convert(Ptr{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cuda.h:4107:5)"}, + r) fptr = getproperty(ptr, f) GC.@preserve r unsafe_load(fptr) end -function Base.setproperty!(x::Ptr{var"##Ctag#279"}, f::Symbol, v) +function Base.setproperty!(x::Ptr{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cuda.h:4107:5)"}, + f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end -struct var"##Ctag#280" +struct var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cuda.h:4114:5)" data::NTuple{32,UInt8} end -function Base.getproperty(x::Ptr{var"##Ctag#280"}, f::Symbol) - f === :sparseLevel && return Ptr{var"##Ctag#281"}(x + 0) - f === :miptail && return Ptr{var"##Ctag#282"}(x + 0) +function Base.getproperty(x::Ptr{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cuda.h:4114:5)"}, + f::Symbol) + f === :sparseLevel && + return Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cuda.h:4115:9)"}(x + + 0) + f === :miptail && + return Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cuda.h:4125:9)"}(x + + 0) return getfield(x, f) end -function Base.getproperty(x::var"##Ctag#280", f::Symbol) - r = Ref{var"##Ctag#280"}(x) - ptr = Base.unsafe_convert(Ptr{var"##Ctag#280"}, r) +function Base.getproperty(x::var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cuda.h:4114:5)", + f::Symbol) + r = Ref{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cuda.h:4114:5)"}(x) + ptr = Base.unsafe_convert(Ptr{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cuda.h:4114:5)"}, + r) fptr = getproperty(ptr, f) GC.@preserve r unsafe_load(fptr) end -function Base.setproperty!(x::Ptr{var"##Ctag#280"}, f::Symbol, v) +function Base.setproperty!(x::Ptr{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cuda.h:4114:5)"}, + f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end -struct var"##Ctag#283" +struct var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cuda.h:4135:5)" data::NTuple{8,UInt8} end -function Base.getproperty(x::Ptr{var"##Ctag#283"}, f::Symbol) +function Base.getproperty(x::Ptr{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cuda.h:4135:5)"}, + f::Symbol) f === :memHandle && return Ptr{CUmemGenericAllocationHandle}(x + 0) return getfield(x, f) end -function Base.getproperty(x::var"##Ctag#283", f::Symbol) - r = Ref{var"##Ctag#283"}(x) - ptr = Base.unsafe_convert(Ptr{var"##Ctag#283"}, r) +function Base.getproperty(x::var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cuda.h:4135:5)", + f::Symbol) + r = Ref{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cuda.h:4135:5)"}(x) + ptr = Base.unsafe_convert(Ptr{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cuda.h:4135:5)"}, + r) fptr = getproperty(ptr, f) GC.@preserve r unsafe_load(fptr) end -function Base.setproperty!(x::Ptr{var"##Ctag#283"}, f::Symbol, v) +function Base.setproperty!(x::Ptr{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cuda.h:4135:5)"}, + f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end @@ -2873,12 +2942,18 @@ end function Base.getproperty(x::Ptr{CUarrayMapInfo_st}, f::Symbol) f === :resourceType && return Ptr{CUresourcetype}(x + 0) - f === :resource && return Ptr{var"##Ctag#279"}(x + 8) + f === :resource && + return Ptr{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cuda.h:4107:5)"}(x + + 8) f === :subresourceType && return Ptr{CUarraySparseSubresourceType}(x + 16) - f === :subresource && return Ptr{var"##Ctag#280"}(x + 24) + f === :subresource && + return Ptr{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cuda.h:4114:5)"}(x + + 24) f === :memOperationType && return Ptr{CUmemOperationType}(x + 56) f === :memHandleType && return Ptr{CUmemHandleType}(x + 60) - f === :memHandle && return Ptr{var"##Ctag#283"}(x + 64) + f === :memHandle && + return Ptr{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cuda.h:4135:5)"}(x + + 64) f === :offset && return Ptr{Culonglong}(x + 72) f === :deviceBitMask && return Ptr{Cuint}(x + 80) f === :flags && return Ptr{Cuint}(x + 84) @@ -2917,30 +2992,12 @@ end const CUmemAllocationCompType = CUmemAllocationCompType_enum -struct var"##Ctag#296" +struct var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cuda.h:4191:5)" compressionType::Cuchar gpuDirectRDMACapable::Cuchar usage::Cushort reserved::NTuple{4,Cuchar} end -function Base.getproperty(x::Ptr{var"##Ctag#296"}, 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#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"##Ctag#296"}, f::Symbol, v) - return unsafe_store!(getproperty(x, f), v) -end struct CUmemAllocationProp_st data::NTuple{32,UInt8} @@ -2951,7 +3008,9 @@ 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"##Ctag#296"}(x + 24) + f === :allocFlags && + return Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cuda.h:4191:5)"}(x + + 24) return getfield(x, f) end @@ -3202,6 +3261,165 @@ end const CUdeviceNumaConfig = CUdeviceNumaConfig_enum +@cenum CUprocessState_enum::UInt32 begin + CU_PROCESS_STATE_RUNNING = 0 + CU_PROCESS_STATE_LOCKED = 1 + CU_PROCESS_STATE_CHECKPOINTED = 2 + CU_PROCESS_STATE_FAILED = 3 +end + +const CUprocessState = CUprocessState_enum + +struct CUcheckpointLockArgs_st + timeoutMs::Cuint + reserved0::Cuint + reserved1::NTuple{7,cuuint64_t} +end + +const CUcheckpointLockArgs = CUcheckpointLockArgs_st + +struct CUcheckpointCheckpointArgs_st + reserved::NTuple{8,cuuint64_t} +end + +const CUcheckpointCheckpointArgs = CUcheckpointCheckpointArgs_st + +struct CUcheckpointRestoreArgs_st + reserved::NTuple{8,cuuint64_t} +end + +const CUcheckpointRestoreArgs = CUcheckpointRestoreArgs_st + +struct CUcheckpointUnlockArgs_st + reserved::NTuple{8,cuuint64_t} +end + +const CUcheckpointUnlockArgs = CUcheckpointUnlockArgs_st + +@cenum CUmemcpyFlags_enum::UInt32 begin + CU_MEMCPY_FLAG_DEFAULT = 0 + CU_MEMCPY_FLAG_PREFER_OVERLAP_WITH_COMPUTE = 1 +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 + z::Csize_t +end + +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/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cuda.h:4905:5)" + data::NTuple{32,UInt8} +end + +function Base.getproperty(x::Ptr{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cuda.h:4905:5)"}, + f::Symbol) + f === :ptr && + return Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cuda.h:4909:9)"}(x + + 0) + f === :array && + return Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cuda.h:4919:9)"}(x + + 0) + return getfield(x, f) +end + +function Base.getproperty(x::var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cuda.h:4905:5)", + f::Symbol) + r = Ref{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cuda.h:4905:5)"}(x) + ptr = Base.unsafe_convert(Ptr{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cuda.h:4905: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/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cuda.h:4905: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/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cuda.h:4905: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 + @checked function cuGetErrorString(error, pStr) @gcsafe_ccall libcuda.cuGetErrorString(error::CUresult, pStr::Ptr{Cstring})::CUresult end @@ -3745,6 +3963,25 @@ 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, @@ -3848,6 +4085,34 @@ end flags::Culonglong)::CUresult end +@cenum CUmemDecompressAlgorithm_enum::UInt32 begin + CU_MEM_DECOMPRESS_UNSUPPORTED = 0 + CU_MEM_DECOMPRESS_ALGORITHM_DEFLATE = 1 + CU_MEM_DECOMPRESS_ALGORITHM_SNAPPY = 2 +end + +const CUmemDecompressAlgorithm = CUmemDecompressAlgorithm_enum + +struct CUmemDecompressParams_st + srcNumBytes::Csize_t + dstNumBytes::Csize_t + dstActBytes::Ptr{cuuint32_t} + src::Ptr{Cvoid} + dst::Ptr{Cvoid} + algo::CUmemDecompressAlgorithm + padding::NTuple{20,Cuchar} +end + +const CUmemDecompressParams = CUmemDecompressParams_st + +@checked function cuMemBatchDecompressAsync(paramsArray, count, flags, errorIndex, stream) + initialize_context() + @gcsafe_ccall libcuda.cuMemBatchDecompressAsync(paramsArray::Ptr{CUmemDecompressParams}, + count::Csize_t, flags::Cuint, + errorIndex::Ptr{Csize_t}, + stream::CUstream)::CUresult +end + @checked function cuMemAddressReserve(ptr, size, alignment, addr, flags) initialize_context() @gcsafe_ccall libcuda.cuMemAddressReserve(ptr::Ptr{CUdeviceptr}, size::Csize_t, @@ -4156,6 +4421,12 @@ end priority::Ptr{Cint})::CUresult end +@checked function cuStreamGetDevice(hStream, device) + initialize_context() + @gcsafe_ccall libcuda.cuStreamGetDevice(hStream::CUstream, + device::Ptr{CUdevice})::CUresult +end + @checked function cuStreamGetFlags(hStream, flags) initialize_context() @gcsafe_ccall libcuda.cuStreamGetFlags(hStream::CUstream, flags::Ptr{Cuint})::CUresult @@ -4315,6 +4586,12 @@ end 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}, @@ -5429,6 +5706,31 @@ end oobFill::CUtensorMapFloatOOBfill)::CUresult end +@checked function cuTensorMapEncodeIm2colWide(tensorMap, tensorDataType, tensorRank, + globalAddress, globalDim, globalStrides, + pixelBoxLowerCornerWidth, + pixelBoxUpperCornerWidth, channelsPerPixel, + pixelsPerColumn, elementStrides, interleave, + mode, swizzle, l2Promotion, oobFill) + initialize_context() + @gcsafe_ccall libcuda.cuTensorMapEncodeIm2colWide(tensorMap::Ptr{CUtensorMap}, + tensorDataType::CUtensorMapDataType, + tensorRank::cuuint32_t, + globalAddress::Ptr{Cvoid}, + globalDim::Ptr{cuuint64_t}, + globalStrides::Ptr{cuuint64_t}, + pixelBoxLowerCornerWidth::Cint, + pixelBoxUpperCornerWidth::Cint, + channelsPerPixel::cuuint32_t, + pixelsPerColumn::cuuint32_t, + elementStrides::Ptr{cuuint32_t}, + interleave::CUtensorMapInterleave, + mode::CUtensorMapIm2ColWideMode, + swizzle::CUtensorMapSwizzle, + l2Promotion::CUtensorMapL2promotion, + oobFill::CUtensorMapFloatOOBfill)::CUresult +end + @checked function cuTensorMapReplaceAddress(tensorMap, globalAddress) initialize_context() @gcsafe_ccall libcuda.cuTensorMapReplaceAddress(tensorMap::Ptr{CUtensorMap}, @@ -5681,6 +5983,42 @@ end priority::Cint)::CUresult end +@checked function cuCheckpointProcessGetRestoreThreadId(pid, tid) + initialize_context() + @gcsafe_ccall libcuda.cuCheckpointProcessGetRestoreThreadId(pid::Cint, + tid::Ptr{Cint})::CUresult +end + +@checked function cuCheckpointProcessGetState(pid, state) + initialize_context() + @gcsafe_ccall libcuda.cuCheckpointProcessGetState(pid::Cint, + state::Ptr{CUprocessState})::CUresult +end + +@checked function cuCheckpointProcessLock(pid, args) + initialize_context() + @gcsafe_ccall libcuda.cuCheckpointProcessLock(pid::Cint, + args::Ptr{CUcheckpointLockArgs})::CUresult +end + +@checked function cuCheckpointProcessCheckpoint(pid, args) + initialize_context() + @gcsafe_ccall libcuda.cuCheckpointProcessCheckpoint(pid::Cint, + args::Ptr{CUcheckpointCheckpointArgs})::CUresult +end + +@checked function cuCheckpointProcessRestore(pid, args) + initialize_context() + @gcsafe_ccall libcuda.cuCheckpointProcessRestore(pid::Cint, + args::Ptr{CUcheckpointRestoreArgs})::CUresult +end + +@checked function cuCheckpointProcessUnlock(pid, args) + initialize_context() + @gcsafe_ccall libcuda.cuCheckpointProcessUnlock(pid::Cint, + args::Ptr{CUcheckpointUnlockArgs})::CUresult +end + @checked function cuGLCtxCreate_v2(pCtx, Flags, device) initialize_context() @gcsafe_ccall libcuda.cuGLCtxCreate_v2(pCtx::Ptr{CUcontext}, Flags::Cuint, @@ -5793,28 +6131,12 @@ end @gcsafe_ccall libcuda.cuProfilerStop()::CUresult end -struct var"##Ctag#278" +struct var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cuda.h:3843:9)" handle::Ptr{Cvoid} name::Ptr{Cvoid} end -function Base.getproperty(x::Ptr{var"##Ctag#278"}, 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#278", f::Symbol) - r = Ref{var"##Ctag#278"}(x) - ptr = Base.unsafe_convert(Ptr{var"##Ctag#278"}, r) - fptr = getproperty(ptr, f) - GC.@preserve r unsafe_load(fptr) -end - -function Base.setproperty!(x::Ptr{var"##Ctag#278"}, f::Symbol, v) - return unsafe_store!(getproperty(x, f), v) -end - -struct var"##Ctag#281" +struct var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cuda.h:4115:9)" level::Cuint layer::Cuint offsetX::Cuint @@ -5824,70 +6146,16 @@ struct var"##Ctag#281" extentHeight::Cuint extentDepth::Cuint end -function Base.getproperty(x::Ptr{var"##Ctag#281"}, 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#281", f::Symbol) - r = Ref{var"##Ctag#281"}(x) - ptr = Base.unsafe_convert(Ptr{var"##Ctag#281"}, r) - fptr = getproperty(ptr, f) - GC.@preserve r unsafe_load(fptr) -end - -function Base.setproperty!(x::Ptr{var"##Ctag#281"}, f::Symbol, v) - return unsafe_store!(getproperty(x, f), v) -end -struct var"##Ctag#282" +struct var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cuda.h:4125:9)" layer::Cuint offset::Culonglong size::Culonglong end -function Base.getproperty(x::Ptr{var"##Ctag#282"}, 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#282", f::Symbol) - r = Ref{var"##Ctag#282"}(x) - ptr = Base.unsafe_convert(Ptr{var"##Ctag#282"}, r) - fptr = getproperty(ptr, f) - GC.@preserve r unsafe_load(fptr) -end - -function Base.setproperty!(x::Ptr{var"##Ctag#282"}, f::Symbol, v) - return unsafe_store!(getproperty(x, f), v) -end - -struct var"##Ctag#285" +struct var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cuda.h:616:9)" bytesOverBudget::Culonglong end -function Base.getproperty(x::Ptr{var"##Ctag#285"}, f::Symbol) - f === :bytesOverBudget && return Ptr{Culonglong}(x + 0) - return getfield(x, f) -end - -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"##Ctag#285"}, f::Symbol, v) - return unsafe_store!(getproperty(x, f), v) -end struct CUstreamMemOpWaitValueParams_st data::NTuple{40,UInt8} @@ -5949,179 +6217,55 @@ struct CUstreamMemOpMemoryBarrierParams_st flags::Cuint end -struct var"##Ctag#287" +struct var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cuda.h:3696:9)" handle::Ptr{Cvoid} name::Ptr{Cvoid} end -function Base.getproperty(x::Ptr{var"##Ctag#287"}, 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#287", f::Symbol) - r = Ref{var"##Ctag#287"}(x) - ptr = Base.unsafe_convert(Ptr{var"##Ctag#287"}, r) - fptr = getproperty(ptr, f) - GC.@preserve r unsafe_load(fptr) -end -function Base.setproperty!(x::Ptr{var"##Ctag#287"}, f::Symbol, v) - return unsafe_store!(getproperty(x, f), v) -end - -struct var"##Ctag#292" +struct var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cuda.h:2190:5)" x::Cuint y::Cuint z::Cuint end -function Base.getproperty(x::Ptr{var"##Ctag#292"}, 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#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"##Ctag#292"}, f::Symbol, v) - return unsafe_store!(getproperty(x, f), v) -end - -struct var"##Ctag#293" +struct var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cuda.h:2207:5)" event::CUevent flags::Cint triggerAtBlockStart::Cint end -function Base.getproperty(x::Ptr{var"##Ctag#293"}, 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#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"##Ctag#293"}, f::Symbol, v) - return unsafe_store!(getproperty(x, f), v) -end - -struct var"##Ctag#294" +struct var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cuda.h:2218:5)" event::CUevent flags::Cint end -function Base.getproperty(x::Ptr{var"##Ctag#294"}, 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#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"##Ctag#294"}, f::Symbol, v) - return unsafe_store!(getproperty(x, f), v) +struct var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cuda.h:2241:5)" + x::Cuint + y::Cuint + z::Cuint end -struct var"##Ctag#295" +struct var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cuda.h:2253:5)" deviceUpdatable::Cint devNode::CUgraphDeviceNode end -function Base.getproperty(x::Ptr{var"##Ctag#295"}, 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#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"##Ctag#303" +struct var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cuda.h:3364:9)" hArray::CUarray end -function Base.getproperty(x::Ptr{var"##Ctag#303"}, f::Symbol) - f === :hArray && return Ptr{CUarray}(x + 0) - return getfield(x, f) -end -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 - -struct var"##Ctag#304" +struct var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cuda.h:3367:9)" hMipmappedArray::CUmipmappedArray end -function Base.getproperty(x::Ptr{var"##Ctag#304"}, f::Symbol) - f === :hMipmappedArray && return Ptr{CUmipmappedArray}(x + 0) - return getfield(x, f) -end - -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"##Ctag#304"}, f::Symbol, v) - return unsafe_store!(getproperty(x, f), v) -end - -struct var"##Ctag#305" +struct var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cuda.h:3370:9)" devPtr::CUdeviceptr format::CUarray_format numChannels::Cuint sizeInBytes::Csize_t end -function Base.getproperty(x::Ptr{var"##Ctag#305"}, 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#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"##Ctag#305"}, f::Symbol, v) - return unsafe_store!(getproperty(x, f), v) -end - -struct var"##Ctag#306" +struct var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cuda.h:3376:9)" devPtr::CUdeviceptr format::CUarray_format numChannels::Cuint @@ -6129,44 +6273,21 @@ struct var"##Ctag#306" height::Csize_t pitchInBytes::Csize_t end -function Base.getproperty(x::Ptr{var"##Ctag#306"}, 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#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"##Ctag#306"}, f::Symbol, v) - return unsafe_store!(getproperty(x, f), v) -end -struct var"##Ctag#307" +struct var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cuda.h:3384:9)" reserved::NTuple{32,Cint} end -function Base.getproperty(x::Ptr{var"##Ctag#307"}, f::Symbol) - f === :reserved && return Ptr{NTuple{32,Cint}}(x + 0) - return getfield(x, f) -end -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) +struct var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cuda.h:4909:9)" + ptr::CUdeviceptr + rowLength::Csize_t + layerHeight::Csize_t + locHint::CUmemLocation end -function Base.setproperty!(x::Ptr{var"##Ctag#307"}, f::Symbol, v) - return unsafe_store!(getproperty(x, f), v) +struct var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cuda.h:4919:9)" + array::CUarray + offset::CUoffset3D end # Skipping MacroDefinition: __CUDA_DEPRECATED __attribute__ ( ( deprecated ) ) @@ -6201,6 +6322,8 @@ const CU_KERNEL_NODE_ATTRIBUTE_MEM_SYNC_DOMAIN_MAP = CU_LAUNCH_ATTRIBUTE_MEM_SYN const CU_KERNEL_NODE_ATTRIBUTE_MEM_SYNC_DOMAIN = CU_LAUNCH_ATTRIBUTE_MEM_SYNC_DOMAIN +const CU_KERNEL_NODE_ATTRIBUTE_PREFERRED_CLUSTER_DIMENSION = CU_LAUNCH_ATTRIBUTE_PREFERRED_CLUSTER_DIMENSION + const CU_KERNEL_NODE_ATTRIBUTE_DEVICE_UPDATABLE_KERNEL_NODE = CU_LAUNCH_ATTRIBUTE_DEVICE_UPDATABLE_KERNEL_NODE const CU_KERNEL_NODE_ATTRIBUTE_PREFERRED_SHARED_MEMORY_CARVEOUT = CU_LAUNCH_ATTRIBUTE_PREFERRED_SHARED_MEMORY_CARVEOUT @@ -6245,6 +6368,10 @@ const CUDA_NVSCISYNC_ATTR_WAIT = 0x02 const CU_MEM_CREATE_USAGE_TILE_POOL = 0x01 +const CU_MEM_CREATE_USAGE_HW_DECOMPRESS = 0x02 + +const CU_MEM_POOL_CREATE_USAGE_HW_DECOMPRESS = 0x02 + const CUDA_COOPERATIVE_LAUNCH_MULTI_DEVICE_NO_PRE_LAUNCH_SYNC = 0x01 const CUDA_COOPERATIVE_LAUNCH_MULTI_DEVICE_NO_POST_LAUNCH_SYNC = 0x02 diff --git a/lib/cudnn/src/libcudnn.jl b/lib/cudnn/src/libcudnn.jl index b37530e75e..5be655540d 100644 --- a/lib/cudnn/src/libcudnn.jl +++ b/lib/cudnn/src/libcudnn.jl @@ -37,6 +37,7 @@ end CUDNN_STATUS_LICENSE_ERROR = 1005 CUDNN_STATUS_RUNTIME_IN_PROGRESS = 1006 CUDNN_STATUS_RUNTIME_FP_OVERFLOW = 1007 + CUDNN_STATUS_SUBLIBRARY_LOADING_FAILED = 1008 CUDNN_STATUS_BAD_PARAM = 2000 CUDNN_STATUS_BAD_PARAM_NULL_POINTER = 2002 CUDNN_STATUS_BAD_PARAM_MISALIGNED_POINTER = 2003 @@ -380,12 +381,15 @@ end CUDNN_ATTR_ENGINECFG_ENGINE = 300 CUDNN_ATTR_ENGINECFG_INTERMEDIATE_INFO = 301 CUDNN_ATTR_ENGINECFG_KNOB_CHOICES = 302 + CUDNN_ATTR_ENGINECFG_WORKSPACE_SIZE = 303 + CUDNN_ATTR_ENGINECFG_SHARED_MEMORY_USED = 304 CUDNN_ATTR_EXECUTION_PLAN_HANDLE = 400 CUDNN_ATTR_EXECUTION_PLAN_ENGINE_CONFIG = 401 CUDNN_ATTR_EXECUTION_PLAN_WORKSPACE_SIZE = 402 CUDNN_ATTR_EXECUTION_PLAN_COMPUTED_INTERMEDIATE_UIDS = 403 CUDNN_ATTR_EXECUTION_PLAN_RUN_ONLY_INTERMEDIATE_UIDS = 404 CUDNN_ATTR_EXECUTION_PLAN_JSON_REPRESENTATION = 405 + CUDNN_ATTR_EXECUTION_PLAN_KERNEL_CACHE = 406 CUDNN_ATTR_INTERMEDIATE_INFO_UNIQUE_ID = 500 CUDNN_ATTR_INTERMEDIATE_INFO_SIZE = 501 CUDNN_ATTR_INTERMEDIATE_INFO_DEPENDENT_DATA_UIDS = 502 @@ -444,6 +448,7 @@ end CUDNN_ATTR_OPERATIONGRAPH_HANDLE = 800 CUDNN_ATTR_OPERATIONGRAPH_OPS = 801 CUDNN_ATTR_OPERATIONGRAPH_ENGINE_GLOBAL_COUNT = 802 + CUDNN_ATTR_OPERATIONGRAPH_IS_DYNAMIC_SHAPE_ENABLED = 803 CUDNN_ATTR_TENSOR_BYTE_ALIGNMENT = 900 CUDNN_ATTR_TENSOR_DATA_TYPE = 901 CUDNN_ATTR_TENSOR_DIMENSIONS = 902 @@ -530,6 +535,10 @@ end CUDNN_ATTR_OPERATION_SIGNAL_VALUE = 1902 CUDNN_ATTR_OPERATION_SIGNAL_XDESC = 1903 CUDNN_ATTR_OPERATION_SIGNAL_YDESC = 1904 + CUDNN_ATTR_OPERATION_PAGED_CACHE_LOAD_CONTAINER_DESC = 1950 + CUDNN_ATTR_OPERATION_PAGED_CACHE_LOAD_YDESC = 1951 + CUDNN_ATTR_OPERATION_PAGED_CACHE_LOAD_SEQUENCE_DESC = 1952 + CUDNN_ATTR_OPERATION_PAGED_CACHE_LOAD_PAGE_TABLE_DESC = 1953 CUDNN_ATTR_OPERATION_NORM_FWD_MODE = 2000 CUDNN_ATTR_OPERATION_NORM_FWD_PHASE = 2001 CUDNN_ATTR_OPERATION_NORM_FWD_XDESC = 2002 @@ -568,6 +577,7 @@ end CUDNN_ATTR_OPERATION_RNG_SEED = 2311 CUDNN_ATTR_OPERATION_RNG_DESC = 2312 CUDNN_ATTR_OPERATION_RNG_OFFSET_DESC = 2313 + CUDNN_ATTR_KERNEL_CACHE_IS_ENGINECFG_KERNEL_CACHED = 2400 end @cenum cudnnBackendAttributeType_t::UInt32 begin @@ -638,6 +648,8 @@ end CUDNN_BACKEND_OPERATION_RESHAPE_DESCRIPTOR = 31 CUDNN_BACKEND_RNG_DESCRIPTOR = 32 CUDNN_BACKEND_OPERATION_RNG_DESCRIPTOR = 33 + CUDNN_BACKEND_KERNEL_CACHE_DESCRIPTOR = 34 + CUDNN_BACKEND_OPERATION_PAGED_CACHE_LOAD_DESCRIPTOR = 35 end @cenum cudnnBackendNumericalNote_t::UInt32 begin @@ -2831,7 +2843,7 @@ end ctcLossDesc::cudnnCTCLossDescriptor_t, probsDesc::cudnnTensorDescriptor_t, gradientsDesc::cudnnTensorDescriptor_t, - sizeInBytes::Ptr{Csize_t})::cudnnStatus_t + sizeInBytes::Ref{Csize_t})::cudnnStatus_t end mutable struct cudnnConvolutionStruct end diff --git a/lib/cupti/libcupti.jl b/lib/cupti/libcupti.jl index f11b679dcd..4c21f6c58a 100644 --- a/lib/cupti/libcupti.jl +++ b/lib/cupti/libcupti.jl @@ -80,6 +80,9 @@ end CUPTI_ERROR_VIRTUALIZED_DEVICE_INSUFFICIENT_PRIVILEGES = 40 CUPTI_ERROR_CONFIDENTIAL_COMPUTING_NOT_SUPPORTED = 41 CUPTI_ERROR_CMP_DEVICE_NOT_SUPPORTED = 42 + CUPTI_ERROR_MIG_DEVICE_NOT_SUPPORTED = 43 + CUPTI_ERROR_SLI_DEVICE_NOT_SUPPORTED = 44 + CUPTI_ERROR_WSL_DEVICE_NOT_SUPPORTED = 45 CUPTI_ERROR_UNKNOWN = 999 CUPTI_ERROR_FORCE_INT = 2147483647 end @@ -173,23 +176,27 @@ struct CUpti_CallbackData correlationId::UInt32 end -struct var"##Ctag#632" +struct var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_callbacks.h:416:3)" data::NTuple{8,UInt8} end -function Base.getproperty(x::Ptr{var"##Ctag#632"}, f::Symbol) +function Base.getproperty(x::Ptr{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_callbacks.h:416:3)"}, + f::Symbol) f === :stream && return Ptr{CUstream}(x + 0) return getfield(x, f) end -function Base.getproperty(x::var"##Ctag#632", f::Symbol) - r = Ref{var"##Ctag#632"}(x) - ptr = Base.unsafe_convert(Ptr{var"##Ctag#632"}, r) +function Base.getproperty(x::var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_callbacks.h:416:3)", + f::Symbol) + r = Ref{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_callbacks.h:416:3)"}(x) + ptr = Base.unsafe_convert(Ptr{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_callbacks.h:416:3)"}, + r) fptr = getproperty(ptr, f) GC.@preserve r unsafe_load(fptr) end -function Base.setproperty!(x::Ptr{var"##Ctag#632"}, f::Symbol, v) +function Base.setproperty!(x::Ptr{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_callbacks.h:416:3)"}, + f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end @@ -199,7 +206,9 @@ end function Base.getproperty(x::Ptr{CUpti_ResourceData}, f::Symbol) f === :context && return Ptr{CUcontext}(x + 0) - f === :resourceHandle && return Ptr{var"##Ctag#632"}(x + 8) + f === :resourceHandle && + return Ptr{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_callbacks.h:416:3)"}(x + + 8) f === :resourceDescriptor && return Ptr{Ptr{Cvoid}}(x + 16) return getfield(x, f) end @@ -915,7 +924,9 @@ end CUPTI_ACTIVITY_KIND_MEMORY_POOL = 50 CUPTI_ACTIVITY_KIND_GRAPH_TRACE = 51 CUPTI_ACTIVITY_KIND_JIT = 52 - CUPTI_ACTIVITY_KIND_COUNT = 53 + CUPTI_ACTIVITY_KIND_DEVICE_GRAPH_TRACE = 53 + CUPTI_ACTIVITY_KIND_MEM_DECOMPRESS = 54 + CUPTI_ACTIVITY_KIND_COUNT = 55 CUPTI_ACTIVITY_KIND_FORCE_INT = 2147483647 end @@ -934,8 +945,12 @@ struct CUpti_ActivityObjectKindId end function Base.getproperty(x::Ptr{CUpti_ActivityObjectKindId}, f::Symbol) - f === :pt && return Ptr{var"##Ctag#672"}(x + 0) - f === :dcs && return Ptr{var"##Ctag#673"}(x + 0) + f === :pt && + return Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity.h:671:3)"}(x + + 0) + f === :dcs && + return Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity.h:682:3)"}(x + + 0) return getfield(x, f) end @@ -966,6 +981,7 @@ end CUPTI_ACTIVITY_OVERHEAD_LAZY_FUNCTION_LOADING = 327680 CUPTI_ACTIVITY_OVERHEAD_COMMAND_BUFFER_FULL = 393216 CUPTI_ACTIVITY_OVERHEAD_ACTIVITY_BUFFER_REQUEST = 458752 + CUPTI_ACTIVITY_OVERHEAD_UVM_ACTIVITY_INIT = 524288 CUPTI_ACTIVITY_OVERHEAD_FORCE_INT = 2147483647 end @@ -1222,6 +1238,7 @@ end CUPTI_CHANNEL_TYPE_INVALID = 0 CUPTI_CHANNEL_TYPE_COMPUTE = 1 CUPTI_CHANNEL_TYPE_ASYNC_MEMCPY = 2 + CUPTI_CHANNEL_TYPE_DECOMP = 3 CUPTI_CHANNEL_TYPE_FORCE_INT = 2147483647 end @@ -1233,154 +1250,293 @@ end end struct CUpti_ActivityUnifiedMemoryCounterConfig - scope::CUpti_ActivityUnifiedMemoryCounterScope - kind::CUpti_ActivityUnifiedMemoryCounterKind - deviceId::UInt32 - enable::UInt32 + data::NTuple{16,UInt8} +end + +function Base.getproperty(x::Ptr{CUpti_ActivityUnifiedMemoryCounterConfig}, f::Symbol) + f === :scope && return Ptr{CUpti_ActivityUnifiedMemoryCounterScope}(x + 0) + f === :kind && return Ptr{CUpti_ActivityUnifiedMemoryCounterKind}(x + 4) + f === :deviceId && return Ptr{UInt32}(x + 8) + f === :enable && return Ptr{UInt32}(x + 12) + return getfield(x, f) +end + +function Base.getproperty(x::CUpti_ActivityUnifiedMemoryCounterConfig, f::Symbol) + r = Ref{CUpti_ActivityUnifiedMemoryCounterConfig}(x) + ptr = Base.unsafe_convert(Ptr{CUpti_ActivityUnifiedMemoryCounterConfig}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +function Base.setproperty!(x::Ptr{CUpti_ActivityUnifiedMemoryCounterConfig}, f::Symbol, v) + return unsafe_store!(getproperty(x, f), v) end struct CUpti_ActivityAutoBoostState - enabled::UInt32 - pid::UInt32 + data::NTuple{8,UInt8} +end + +function Base.getproperty(x::Ptr{CUpti_ActivityAutoBoostState}, f::Symbol) + f === :enabled && return Ptr{UInt32}(x + 0) + f === :pid && return Ptr{UInt32}(x + 4) + return getfield(x, f) +end + +function Base.getproperty(x::CUpti_ActivityAutoBoostState, f::Symbol) + r = Ref{CUpti_ActivityAutoBoostState}(x) + ptr = Base.unsafe_convert(Ptr{CUpti_ActivityAutoBoostState}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +function Base.setproperty!(x::Ptr{CUpti_ActivityAutoBoostState}, f::Symbol, v) + return unsafe_store!(getproperty(x, f), v) end struct CUpti_ActivityPCSamplingConfig - size::UInt32 - samplingPeriod::CUpti_ActivityPCSamplingPeriod - samplingPeriod2::UInt32 + data::NTuple{16,UInt8} +end + +function Base.getproperty(x::Ptr{CUpti_ActivityPCSamplingConfig}, f::Symbol) + f === :size && return Ptr{UInt32}(x + 0) + f === :samplingPeriod && return Ptr{CUpti_ActivityPCSamplingPeriod}(x + 4) + f === :samplingPeriod2 && return Ptr{UInt32}(x + 8) + return getfield(x, f) +end + +function Base.getproperty(x::CUpti_ActivityPCSamplingConfig, f::Symbol) + r = Ref{CUpti_ActivityPCSamplingConfig}(x) + ptr = Base.unsafe_convert(Ptr{CUpti_ActivityPCSamplingConfig}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +function Base.setproperty!(x::Ptr{CUpti_ActivityPCSamplingConfig}, f::Symbol, v) + return unsafe_store!(getproperty(x, f), v) end struct CUpti_Activity - kind::CUpti_ActivityKind + data::NTuple{8,UInt8} end -struct CUpti_ActivityMemcpy5 - kind::CUpti_ActivityKind - copyKind::UInt8 - srcKind::UInt8 - dstKind::UInt8 - flags::UInt8 - bytes::UInt64 - start::UInt64 - _end::UInt64 - deviceId::UInt32 - contextId::UInt32 - streamId::UInt32 - correlationId::UInt32 - runtimeCorrelationId::UInt32 - pad::UInt32 - reserved0::Ptr{Cvoid} - graphNodeId::UInt64 - graphId::UInt32 - channelID::UInt32 - channelType::CUpti_ChannelType - pad2::UInt32 +function Base.getproperty(x::Ptr{CUpti_Activity}, f::Symbol) + f === :kind && return Ptr{CUpti_ActivityKind}(x + 0) + return getfield(x, f) +end + +function Base.getproperty(x::CUpti_Activity, f::Symbol) + r = Ref{CUpti_Activity}(x) + ptr = Base.unsafe_convert(Ptr{CUpti_Activity}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +function Base.setproperty!(x::Ptr{CUpti_Activity}, f::Symbol, v) + return unsafe_store!(getproperty(x, f), v) +end + +struct CUpti_ActivityMemcpy6 + data::NTuple{96,UInt8} +end + +function Base.getproperty(x::Ptr{CUpti_ActivityMemcpy6}, 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) + f === :graphNodeId && return Ptr{UInt64}(x + 64) + 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 === :copyCount && return Ptr{UInt64}(x + 88) + return getfield(x, f) +end + +function Base.getproperty(x::CUpti_ActivityMemcpy6, f::Symbol) + r = Ref{CUpti_ActivityMemcpy6}(x) + ptr = Base.unsafe_convert(Ptr{CUpti_ActivityMemcpy6}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +function Base.setproperty!(x::Ptr{CUpti_ActivityMemcpy6}, f::Symbol, v) + return unsafe_store!(getproperty(x, f), v) end struct CUpti_ActivityMemcpyPtoP4 - kind::CUpti_ActivityKind - copyKind::UInt8 - srcKind::UInt8 - dstKind::UInt8 - flags::UInt8 - bytes::UInt64 - start::UInt64 - _end::UInt64 - deviceId::UInt32 - contextId::UInt32 - streamId::UInt32 - srcDeviceId::UInt32 - srcContextId::UInt32 - dstDeviceId::UInt32 - dstContextId::UInt32 - correlationId::UInt32 - reserved0::Ptr{Cvoid} - graphNodeId::UInt64 - graphId::UInt32 - channelID::UInt32 - channelType::CUpti_ChannelType + data::NTuple{96,UInt8} +end + +function Base.getproperty(x::Ptr{CUpti_ActivityMemcpyPtoP4}, 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 === :srcDeviceId && return Ptr{UInt32}(x + 44) + f === :srcContextId && return Ptr{UInt32}(x + 48) + f === :dstDeviceId && return Ptr{UInt32}(x + 52) + f === :dstContextId && return Ptr{UInt32}(x + 56) + f === :correlationId && return Ptr{UInt32}(x + 60) + f === :reserved0 && return Ptr{Ptr{Cvoid}}(x + 64) + f === :graphNodeId && return Ptr{UInt64}(x + 72) + f === :graphId && return Ptr{UInt32}(x + 80) + f === :channelID && return Ptr{UInt32}(x + 84) + f === :channelType && return Ptr{CUpti_ChannelType}(x + 88) + return getfield(x, f) +end + +function Base.getproperty(x::CUpti_ActivityMemcpyPtoP4, f::Symbol) + r = Ref{CUpti_ActivityMemcpyPtoP4}(x) + ptr = Base.unsafe_convert(Ptr{CUpti_ActivityMemcpyPtoP4}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +function Base.setproperty!(x::Ptr{CUpti_ActivityMemcpyPtoP4}, f::Symbol, v) + return unsafe_store!(getproperty(x, f), v) end struct CUpti_ActivityMemset4 - kind::CUpti_ActivityKind - value::UInt32 - bytes::UInt64 - start::UInt64 - _end::UInt64 - deviceId::UInt32 - contextId::UInt32 - streamId::UInt32 - correlationId::UInt32 - flags::UInt16 - memoryKind::UInt16 - pad::UInt32 - reserved0::Ptr{Cvoid} - graphNodeId::UInt64 - graphId::UInt32 - channelID::UInt32 - channelType::CUpti_ChannelType - pad2::UInt32 + data::NTuple{88,UInt8} +end + +function Base.getproperty(x::Ptr{CUpti_ActivityMemset4}, f::Symbol) + f === :kind && return Ptr{CUpti_ActivityKind}(x + 0) + f === :value && return Ptr{UInt32}(x + 4) + 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 === :flags && return Ptr{UInt16}(x + 48) + f === :memoryKind && return Ptr{UInt16}(x + 50) + f === :pad && return Ptr{UInt32}(x + 52) + f === :reserved0 && return Ptr{Ptr{Cvoid}}(x + 56) + f === :graphNodeId && return Ptr{UInt64}(x + 64) + 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) + return getfield(x, f) +end + +function Base.getproperty(x::CUpti_ActivityMemset4, f::Symbol) + r = Ref{CUpti_ActivityMemset4}(x) + ptr = Base.unsafe_convert(Ptr{CUpti_ActivityMemset4}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +function Base.setproperty!(x::Ptr{CUpti_ActivityMemset4}, f::Symbol, v) + return unsafe_store!(getproperty(x, f), v) end struct CUpti_ActivityMemory - kind::CUpti_ActivityKind - memoryKind::CUpti_ActivityMemoryKind - address::UInt64 - bytes::UInt64 - start::UInt64 - _end::UInt64 - allocPC::UInt64 - freePC::UInt64 - processId::UInt32 - deviceId::UInt32 - contextId::UInt32 - pad::UInt32 - name::Cstring + data::NTuple{80,UInt8} +end + +function Base.getproperty(x::Ptr{CUpti_ActivityMemory}, f::Symbol) + f === :kind && return Ptr{CUpti_ActivityKind}(x + 0) + f === :memoryKind && return Ptr{CUpti_ActivityMemoryKind}(x + 4) + f === :address && return Ptr{UInt64}(x + 8) + f === :bytes && return Ptr{UInt64}(x + 16) + f === :start && return Ptr{UInt64}(x + 24) + f === :_end && return Ptr{UInt64}(x + 32) + f === :allocPC && return Ptr{UInt64}(x + 40) + f === :freePC && return Ptr{UInt64}(x + 48) + f === :processId && return Ptr{UInt32}(x + 56) + f === :deviceId && return Ptr{UInt32}(x + 60) + f === :contextId && return Ptr{UInt32}(x + 64) + f === :pad && return Ptr{UInt32}(x + 68) + f === :name && return Ptr{Cstring}(x + 72) + return getfield(x, f) +end + +function Base.getproperty(x::CUpti_ActivityMemory, f::Symbol) + r = Ref{CUpti_ActivityMemory}(x) + ptr = Base.unsafe_convert(Ptr{CUpti_ActivityMemory}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +function Base.setproperty!(x::Ptr{CUpti_ActivityMemory}, f::Symbol, v) + return unsafe_store!(getproperty(x, f), v) end -struct var"##Ctag#620" +struct var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity.h:2665:5)" data::NTuple{8,UInt8} end -function Base.getproperty(x::Ptr{var"##Ctag#620"}, f::Symbol) +function Base.getproperty(x::Ptr{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity.h:2665:5)"}, + 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"##Ctag#620", f::Symbol) - r = Ref{var"##Ctag#620"}(x) - ptr = Base.unsafe_convert(Ptr{var"##Ctag#620"}, r) +function Base.getproperty(x::var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity.h:2665:5)", + f::Symbol) + r = Ref{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity.h:2665:5)"}(x) + ptr = Base.unsafe_convert(Ptr{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity.h:2665:5)"}, + r) fptr = getproperty(ptr, f) GC.@preserve r unsafe_load(fptr) end -function Base.setproperty!(x::Ptr{var"##Ctag#620"}, f::Symbol, v) +function Base.setproperty!(x::Ptr{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity.h:2665:5)"}, + f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end -struct var"##Ctag#619" +struct var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity.h:2634:3)" data::NTuple{40,UInt8} end -function Base.getproperty(x::Ptr{var"##Ctag#619"}, f::Symbol) +function Base.getproperty(x::Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity.h:2634:3)"}, + 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"##Ctag#620"}(x + 24) + f === :pool && + return Ptr{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity.h:2665:5)"}(x + + 24) f === :utilizedSize && return Ptr{UInt64}(x + 32) return getfield(x, f) end -function Base.getproperty(x::var"##Ctag#619", f::Symbol) - r = Ref{var"##Ctag#619"}(x) - ptr = Base.unsafe_convert(Ptr{var"##Ctag#619"}, r) +function Base.getproperty(x::var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity.h:2634:3)", + f::Symbol) + r = Ref{var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity.h:2634:3)"}(x) + ptr = Base.unsafe_convert(Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity.h:2634:3)"}, + r) fptr = getproperty(ptr, f) GC.@preserve r unsafe_load(fptr) end -function Base.setproperty!(x::Ptr{var"##Ctag#619"}, f::Symbol, v) +function Base.setproperty!(x::Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity.h:2634:3)"}, + f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end @@ -1404,7 +1560,9 @@ 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{Cvoid}(x + 80) + f === :memoryPoolConfig && + return Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity.h:2634:3)"}(x + + 80) f === :source && return Ptr{Cstring}(x + 120) return getfield(x, f) end @@ -1421,18 +1579,35 @@ function Base.setproperty!(x::Ptr{CUpti_ActivityMemory4}, f::Symbol, v) end struct CUpti_ActivityMemoryPool2 - kind::CUpti_ActivityKind - memoryPoolOperationType::CUpti_ActivityMemoryPoolOperationType - memoryPoolType::CUpti_ActivityMemoryPoolType - correlationId::UInt32 - processId::UInt32 - deviceId::UInt32 - minBytesToKeep::Csize_t - address::UInt64 - size::UInt64 - releaseThreshold::UInt64 - timestamp::UInt64 - utilizedSize::UInt64 + 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 @cenum CUpti_ActivityLaunchType::UInt32 begin @@ -1448,24 +1623,30 @@ end CUPTI_FUNC_SHMEM_LIMIT_FORCE_INT = 2147483647 end -struct var"##Ctag#590" +struct var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity.h:2834:3)" data::NTuple{1,UInt8} end -function Base.getproperty(x::Ptr{var"##Ctag#590"}, f::Symbol) +function Base.getproperty(x::Ptr{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity.h:2834:3)"}, + f::Symbol) f === :both && return Ptr{UInt8}(x + 0) - f === :config && return Ptr{var"##Ctag#591"}(x + 0) + f === :config && + return Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity.h:2836:5)"}(x + + 0) return getfield(x, f) end -function Base.getproperty(x::var"##Ctag#590", f::Symbol) - r = Ref{var"##Ctag#590"}(x) - ptr = Base.unsafe_convert(Ptr{var"##Ctag#590"}, r) +function Base.getproperty(x::var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity.h:2834:3)", + f::Symbol) + r = Ref{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity.h:2834:3)"}(x) + ptr = Base.unsafe_convert(Ptr{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity.h:2834:3)"}, + r) fptr = getproperty(ptr, f) GC.@preserve r unsafe_load(fptr) end -function Base.setproperty!(x::Ptr{var"##Ctag#590"}, f::Symbol, v) +function Base.setproperty!(x::Ptr{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity.h:2834:3)"}, + f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end @@ -1475,7 +1656,9 @@ end function Base.getproperty(x::Ptr{CUpti_ActivityKernel9}, f::Symbol) f === :kind && return Ptr{CUpti_ActivityKind}(x + 0) - f === :cacheConfig && return Ptr{var"##Ctag#590"}(x + 4) + f === :cacheConfig && + return Ptr{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity.h:2834:3)"}(x + + 4) f === :sharedMemoryConfig && return Ptr{UInt8}(x + 5) f === :registersPerThread && return Ptr{UInt16}(x + 6) f === :partitionedGlobalCacheRequested && @@ -1536,24 +1719,30 @@ function Base.setproperty!(x::Ptr{CUpti_ActivityKernel9}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end -struct var"##Ctag#607" +struct var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity.h:3134:3)" data::NTuple{1,UInt8} end -function Base.getproperty(x::Ptr{var"##Ctag#607"}, f::Symbol) +function Base.getproperty(x::Ptr{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity.h:3134:3)"}, + f::Symbol) f === :both && return Ptr{UInt8}(x + 0) - f === :config && return Ptr{var"##Ctag#608"}(x + 0) + f === :config && + return Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity.h:3136:5)"}(x + + 0) return getfield(x, f) end -function Base.getproperty(x::var"##Ctag#607", f::Symbol) - r = Ref{var"##Ctag#607"}(x) - ptr = Base.unsafe_convert(Ptr{var"##Ctag#607"}, r) +function Base.getproperty(x::var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity.h:3134:3)", + f::Symbol) + r = Ref{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity.h:3134:3)"}(x) + ptr = Base.unsafe_convert(Ptr{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity.h:3134:3)"}, + r) fptr = getproperty(ptr, f) GC.@preserve r unsafe_load(fptr) end -function Base.setproperty!(x::Ptr{var"##Ctag#607"}, f::Symbol, v) +function Base.setproperty!(x::Ptr{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity.h:3134:3)"}, + f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end @@ -1563,7 +1752,9 @@ end function Base.getproperty(x::Ptr{CUpti_ActivityCdpKernel}, f::Symbol) f === :kind && return Ptr{CUpti_ActivityKind}(x + 0) - f === :cacheConfig && return Ptr{var"##Ctag#607"}(x + 4) + f === :cacheConfig && + return Ptr{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity.h:3134:3)"}(x + + 4) f === :sharedMemoryConfig && return Ptr{UInt8}(x + 5) f === :registersPerThread && return Ptr{UInt16}(x + 6) f === :start && return Ptr{UInt64}(x + 8) @@ -1607,283 +1798,547 @@ function Base.setproperty!(x::Ptr{CUpti_ActivityCdpKernel}, f::Symbol, v) end struct CUpti_ActivityPreemption - kind::CUpti_ActivityKind - preemptionKind::CUpti_ActivityPreemptionKind - timestamp::UInt64 - gridId::Int64 - blockX::UInt32 - blockY::UInt32 - blockZ::UInt32 - pad::UInt32 -end - -struct CUpti_ActivityAPI - kind::CUpti_ActivityKind - cbid::CUpti_CallbackId - start::UInt64 - _end::UInt64 - processId::UInt32 - threadId::UInt32 - correlationId::UInt32 - returnValue::UInt32 + data::NTuple{40,UInt8} end -struct CUpti_ActivityEvent - kind::CUpti_ActivityKind - id::CUpti_EventID - value::UInt64 - domain::CUpti_EventDomainID - correlationId::UInt32 +function Base.getproperty(x::Ptr{CUpti_ActivityPreemption}, f::Symbol) + f === :kind && return Ptr{CUpti_ActivityKind}(x + 0) + f === :preemptionKind && return Ptr{CUpti_ActivityPreemptionKind}(x + 4) + f === :timestamp && return Ptr{UInt64}(x + 8) + f === :gridId && return Ptr{Int64}(x + 16) + f === :blockX && return Ptr{UInt32}(x + 24) + f === :blockY && return Ptr{UInt32}(x + 28) + f === :blockZ && return Ptr{UInt32}(x + 32) + f === :pad && return Ptr{UInt32}(x + 36) + return getfield(x, f) end -struct CUpti_ActivityEventInstance - kind::CUpti_ActivityKind - id::CUpti_EventID - domain::CUpti_EventDomainID - instance::UInt32 - value::UInt64 - correlationId::UInt32 - pad::UInt32 +function Base.getproperty(x::CUpti_ActivityPreemption, f::Symbol) + r = Ref{CUpti_ActivityPreemption}(x) + ptr = Base.unsafe_convert(Ptr{CUpti_ActivityPreemption}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) end -struct CUpti_ActivityMetric - kind::CUpti_ActivityKind - id::CUpti_MetricID - value::CUpti_MetricValue - correlationId::UInt32 - flags::UInt8 - pad::NTuple{3,UInt8} +function Base.setproperty!(x::Ptr{CUpti_ActivityPreemption}, f::Symbol, v) + return unsafe_store!(getproperty(x, f), v) end -struct CUpti_ActivityMetricInstance - kind::CUpti_ActivityKind - id::CUpti_MetricID - value::CUpti_MetricValue - instance::UInt32 - correlationId::UInt32 - flags::UInt8 - pad::NTuple{7,UInt8} +struct CUpti_ActivityAPI + data::NTuple{40,UInt8} end -struct CUpti_ActivitySourceLocator - kind::CUpti_ActivityKind - id::UInt32 - lineNumber::UInt32 - pad::UInt32 - fileName::Cstring +function Base.getproperty(x::Ptr{CUpti_ActivityAPI}, f::Symbol) + f === :kind && return Ptr{CUpti_ActivityKind}(x + 0) + f === :cbid && return Ptr{CUpti_CallbackId}(x + 4) + f === :start && return Ptr{UInt64}(x + 8) + f === :_end && return Ptr{UInt64}(x + 16) + f === :processId && return Ptr{UInt32}(x + 24) + f === :threadId && return Ptr{UInt32}(x + 28) + f === :correlationId && return Ptr{UInt32}(x + 32) + f === :returnValue && return Ptr{UInt32}(x + 36) + return getfield(x, f) end -struct CUpti_ActivityGlobalAccess3 - kind::CUpti_ActivityKind - flags::CUpti_ActivityFlag - sourceLocatorId::UInt32 - correlationId::UInt32 - functionId::UInt32 - executed::UInt32 - pcOffset::UInt64 - threadsExecuted::UInt64 - l2_transactions::UInt64 - theoreticalL2Transactions::UInt64 +function Base.getproperty(x::CUpti_ActivityAPI, f::Symbol) + r = Ref{CUpti_ActivityAPI}(x) + ptr = Base.unsafe_convert(Ptr{CUpti_ActivityAPI}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) end -struct CUpti_ActivityBranch2 - kind::CUpti_ActivityKind - sourceLocatorId::UInt32 - correlationId::UInt32 - functionId::UInt32 - pcOffset::UInt32 - diverged::UInt32 - threadsExecuted::UInt64 - executed::UInt32 - pad::UInt32 +function Base.setproperty!(x::Ptr{CUpti_ActivityAPI}, f::Symbol, v) + return unsafe_store!(getproperty(x, f), v) end -struct CUpti_ActivityDevice5 - kind::CUpti_ActivityKind - flags::CUpti_ActivityFlag - globalMemoryBandwidth::UInt64 - globalMemorySize::UInt64 - constantMemorySize::UInt32 - l2CacheSize::UInt32 - numThreadsPerWarp::UInt32 - coreClockRate::UInt32 - numMemcpyEngines::UInt32 - numMultiprocessors::UInt32 - maxIPC::UInt32 - maxWarpsPerMultiprocessor::UInt32 - maxBlocksPerMultiprocessor::UInt32 - maxSharedMemoryPerMultiprocessor::UInt32 - maxRegistersPerMultiprocessor::UInt32 - maxRegistersPerBlock::UInt32 - maxSharedMemoryPerBlock::UInt32 - maxThreadsPerBlock::UInt32 - maxBlockDimX::UInt32 - maxBlockDimY::UInt32 - maxBlockDimZ::UInt32 - maxGridDimX::UInt32 - maxGridDimY::UInt32 - maxGridDimZ::UInt32 - computeCapabilityMajor::UInt32 - computeCapabilityMinor::UInt32 - id::UInt32 - eccEnabled::UInt32 - uuid::CUuuid - name::Cstring - isCudaVisible::UInt8 - isMigEnabled::UInt8 - reserved::NTuple{6,UInt8} - gpuInstanceId::UInt32 - computeInstanceId::UInt32 - migUuid::CUuuid - isNumaNode::UInt32 - numaId::UInt32 -end - -struct var"##Ctag#603" - data::NTuple{4,UInt8} +struct CUpti_ActivityEvent + data::NTuple{24,UInt8} end -function Base.getproperty(x::Ptr{var"##Ctag#603"}, f::Symbol) - f === :cu && return Ptr{CUdevice_attribute}(x + 0) - f === :cupti && return Ptr{CUpti_DeviceAttribute}(x + 0) +function Base.getproperty(x::Ptr{CUpti_ActivityEvent}, f::Symbol) + f === :kind && return Ptr{CUpti_ActivityKind}(x + 0) + f === :id && return Ptr{CUpti_EventID}(x + 4) + f === :value && return Ptr{UInt64}(x + 8) + f === :domain && return Ptr{CUpti_EventDomainID}(x + 16) + f === :correlationId && return Ptr{UInt32}(x + 20) return getfield(x, f) end -function Base.getproperty(x::var"##Ctag#603", f::Symbol) - r = Ref{var"##Ctag#603"}(x) - ptr = Base.unsafe_convert(Ptr{var"##Ctag#603"}, r) +function Base.getproperty(x::CUpti_ActivityEvent, f::Symbol) + r = Ref{CUpti_ActivityEvent}(x) + ptr = Base.unsafe_convert(Ptr{CUpti_ActivityEvent}, r) fptr = getproperty(ptr, f) GC.@preserve r unsafe_load(fptr) end -function Base.setproperty!(x::Ptr{var"##Ctag#603"}, f::Symbol, v) +function Base.setproperty!(x::Ptr{CUpti_ActivityEvent}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end -struct var"##Ctag#604" - data::NTuple{8,UInt8} +struct CUpti_ActivityEventInstance + data::NTuple{32,UInt8} end -function Base.getproperty(x::Ptr{var"##Ctag#604"}, f::Symbol) - f === :vDouble && return Ptr{Cdouble}(x + 0) - f === :vUint32 && return Ptr{UInt32}(x + 0) - f === :vUint64 && return Ptr{UInt64}(x + 0) - f === :vInt32 && return Ptr{Int32}(x + 0) - f === :vInt64 && return Ptr{Int64}(x + 0) +function Base.getproperty(x::Ptr{CUpti_ActivityEventInstance}, f::Symbol) + f === :kind && return Ptr{CUpti_ActivityKind}(x + 0) + f === :id && return Ptr{CUpti_EventID}(x + 4) + f === :domain && return Ptr{CUpti_EventDomainID}(x + 8) + f === :instance && return Ptr{UInt32}(x + 12) + f === :value && return Ptr{UInt64}(x + 16) + f === :correlationId && return Ptr{UInt32}(x + 24) + f === :pad && return Ptr{UInt32}(x + 28) return getfield(x, f) end -function Base.getproperty(x::var"##Ctag#604", f::Symbol) - r = Ref{var"##Ctag#604"}(x) - ptr = Base.unsafe_convert(Ptr{var"##Ctag#604"}, r) +function Base.getproperty(x::CUpti_ActivityEventInstance, f::Symbol) + r = Ref{CUpti_ActivityEventInstance}(x) + ptr = Base.unsafe_convert(Ptr{CUpti_ActivityEventInstance}, r) fptr = getproperty(ptr, f) GC.@preserve r unsafe_load(fptr) end -function Base.setproperty!(x::Ptr{var"##Ctag#604"}, f::Symbol, v) +function Base.setproperty!(x::Ptr{CUpti_ActivityEventInstance}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end -struct CUpti_ActivityDeviceAttribute +struct CUpti_ActivityMetric data::NTuple{24,UInt8} end -function Base.getproperty(x::Ptr{CUpti_ActivityDeviceAttribute}, f::Symbol) +function Base.getproperty(x::Ptr{CUpti_ActivityMetric}, 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"##Ctag#603"}(x + 12) - f === :value && return Ptr{var"##Ctag#604"}(x + 16) + f === :id && return Ptr{CUpti_MetricID}(x + 4) + f === :value && return Ptr{CUpti_MetricValue}(x + 8) + f === :correlationId && return Ptr{UInt32}(x + 16) + f === :flags && return Ptr{UInt8}(x + 20) + f === :pad && return Ptr{NTuple{3,UInt8}}(x + 21) return getfield(x, f) end -function Base.getproperty(x::CUpti_ActivityDeviceAttribute, f::Symbol) - r = Ref{CUpti_ActivityDeviceAttribute}(x) - ptr = Base.unsafe_convert(Ptr{CUpti_ActivityDeviceAttribute}, r) +function Base.getproperty(x::CUpti_ActivityMetric, f::Symbol) + r = Ref{CUpti_ActivityMetric}(x) + ptr = Base.unsafe_convert(Ptr{CUpti_ActivityMetric}, r) fptr = getproperty(ptr, f) GC.@preserve r unsafe_load(fptr) end -function Base.setproperty!(x::Ptr{CUpti_ActivityDeviceAttribute}, f::Symbol, v) +function Base.setproperty!(x::Ptr{CUpti_ActivityMetric}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end -struct CUpti_ActivityContext3 - kind::CUpti_ActivityKind - contextId::UInt32 - deviceId::UInt32 - computeApiKind::UInt16 - nullStreamId::UInt16 - parentContextId::UInt32 - isGreenContext::UInt8 - padding::UInt8 - numMultiprocessors::UInt16 - cigMode::CUpti_ContextCigMode - padding2::UInt32 +struct CUpti_ActivityMetricInstance + data::NTuple{32,UInt8} end -struct CUpti_ActivityName - kind::CUpti_ActivityKind - objectKind::CUpti_ActivityObjectKind - objectId::CUpti_ActivityObjectKindId - pad::UInt32 - name::Cstring +function Base.getproperty(x::Ptr{CUpti_ActivityMetricInstance}, f::Symbol) + f === :kind && return Ptr{CUpti_ActivityKind}(x + 0) + f === :id && return Ptr{CUpti_MetricID}(x + 4) + f === :value && return Ptr{CUpti_MetricValue}(x + 8) + f === :instance && return Ptr{UInt32}(x + 16) + f === :correlationId && return Ptr{UInt32}(x + 20) + f === :flags && return Ptr{UInt8}(x + 24) + f === :pad && return Ptr{NTuple{7,UInt8}}(x + 25) + return getfield(x, f) end -struct CUpti_ActivityMarker2 - kind::CUpti_ActivityKind - flags::CUpti_ActivityFlag - timestamp::UInt64 - id::UInt32 - objectKind::CUpti_ActivityObjectKind - objectId::CUpti_ActivityObjectKindId - pad::UInt32 - name::Cstring - domain::Cstring +function Base.getproperty(x::CUpti_ActivityMetricInstance, f::Symbol) + r = Ref{CUpti_ActivityMetricInstance}(x) + ptr = Base.unsafe_convert(Ptr{CUpti_ActivityMetricInstance}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) end -struct CUpti_ActivityMarkerData - kind::CUpti_ActivityKind - flags::CUpti_ActivityFlag - id::UInt32 - payloadKind::CUpti_MetricValueKind - payload::CUpti_MetricValue - color::UInt32 - category::UInt32 +function Base.setproperty!(x::Ptr{CUpti_ActivityMetricInstance}, f::Symbol, v) + return unsafe_store!(getproperty(x, f), v) end -struct CUpti_ActivityOverhead3 - kind::CUpti_ActivityKind - overheadKind::CUpti_ActivityOverheadKind - objectKind::CUpti_ActivityObjectKind - objectId::CUpti_ActivityObjectKindId - start::UInt64 - _end::UInt64 - correlationId::UInt32 - reserved0::UInt32 - overheadData::Ptr{Cvoid} +struct CUpti_ActivitySourceLocator + data::NTuple{24,UInt8} +end + +function Base.getproperty(x::Ptr{CUpti_ActivitySourceLocator}, f::Symbol) + f === :kind && return Ptr{CUpti_ActivityKind}(x + 0) + f === :id && return Ptr{UInt32}(x + 4) + f === :lineNumber && return Ptr{UInt32}(x + 8) + f === :pad && return Ptr{UInt32}(x + 12) + f === :fileName && return Ptr{Cstring}(x + 16) + return getfield(x, f) +end + +function Base.getproperty(x::CUpti_ActivitySourceLocator, f::Symbol) + r = Ref{CUpti_ActivitySourceLocator}(x) + ptr = Base.unsafe_convert(Ptr{CUpti_ActivitySourceLocator}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +function Base.setproperty!(x::Ptr{CUpti_ActivitySourceLocator}, f::Symbol, v) + return unsafe_store!(getproperty(x, f), v) +end + +struct CUpti_ActivityGlobalAccess3 + data::NTuple{56,UInt8} +end + +function Base.getproperty(x::Ptr{CUpti_ActivityGlobalAccess3}, f::Symbol) + f === :kind && return Ptr{CUpti_ActivityKind}(x + 0) + f === :flags && return Ptr{CUpti_ActivityFlag}(x + 4) + f === :sourceLocatorId && return Ptr{UInt32}(x + 8) + f === :correlationId && return Ptr{UInt32}(x + 12) + f === :functionId && return Ptr{UInt32}(x + 16) + f === :executed && return Ptr{UInt32}(x + 20) + f === :pcOffset && return Ptr{UInt64}(x + 24) + f === :threadsExecuted && return Ptr{UInt64}(x + 32) + f === :l2_transactions && return Ptr{UInt64}(x + 40) + f === :theoreticalL2Transactions && return Ptr{UInt64}(x + 48) + return getfield(x, f) end -struct var"##Ctag#651" +function Base.getproperty(x::CUpti_ActivityGlobalAccess3, f::Symbol) + r = Ref{CUpti_ActivityGlobalAccess3}(x) + ptr = Base.unsafe_convert(Ptr{CUpti_ActivityGlobalAccess3}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +function Base.setproperty!(x::Ptr{CUpti_ActivityGlobalAccess3}, f::Symbol, v) + return unsafe_store!(getproperty(x, f), v) +end + +struct CUpti_ActivityBranch2 + data::NTuple{40,UInt8} +end + +function Base.getproperty(x::Ptr{CUpti_ActivityBranch2}, f::Symbol) + f === :kind && return Ptr{CUpti_ActivityKind}(x + 0) + f === :sourceLocatorId && return Ptr{UInt32}(x + 4) + f === :correlationId && return Ptr{UInt32}(x + 8) + f === :functionId && return Ptr{UInt32}(x + 12) + f === :pcOffset && return Ptr{UInt32}(x + 16) + f === :diverged && return Ptr{UInt32}(x + 20) + f === :threadsExecuted && return Ptr{UInt64}(x + 24) + f === :executed && return Ptr{UInt32}(x + 32) + f === :pad && return Ptr{UInt32}(x + 36) + return getfield(x, f) +end + +function Base.getproperty(x::CUpti_ActivityBranch2, f::Symbol) + r = Ref{CUpti_ActivityBranch2}(x) + ptr = Base.unsafe_convert(Ptr{CUpti_ActivityBranch2}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +function Base.setproperty!(x::Ptr{CUpti_ActivityBranch2}, f::Symbol, v) + return unsafe_store!(getproperty(x, f), v) +end + +struct CUpti_ActivityDevice5 + data::NTuple{184,UInt8} +end + +function Base.getproperty(x::Ptr{CUpti_ActivityDevice5}, f::Symbol) + f === :kind && return Ptr{CUpti_ActivityKind}(x + 0) + f === :flags && return Ptr{CUpti_ActivityFlag}(x + 4) + f === :globalMemoryBandwidth && return Ptr{UInt64}(x + 8) + f === :globalMemorySize && return Ptr{UInt64}(x + 16) + f === :constantMemorySize && return Ptr{UInt32}(x + 24) + f === :l2CacheSize && return Ptr{UInt32}(x + 28) + f === :numThreadsPerWarp && return Ptr{UInt32}(x + 32) + f === :coreClockRate && return Ptr{UInt32}(x + 36) + f === :numMemcpyEngines && return Ptr{UInt32}(x + 40) + f === :numMultiprocessors && return Ptr{UInt32}(x + 44) + f === :maxIPC && return Ptr{UInt32}(x + 48) + f === :maxWarpsPerMultiprocessor && return Ptr{UInt32}(x + 52) + f === :maxBlocksPerMultiprocessor && return Ptr{UInt32}(x + 56) + f === :maxSharedMemoryPerMultiprocessor && return Ptr{UInt32}(x + 60) + f === :maxRegistersPerMultiprocessor && return Ptr{UInt32}(x + 64) + f === :maxRegistersPerBlock && return Ptr{UInt32}(x + 68) + f === :maxSharedMemoryPerBlock && return Ptr{UInt32}(x + 72) + f === :maxThreadsPerBlock && return Ptr{UInt32}(x + 76) + f === :maxBlockDimX && return Ptr{UInt32}(x + 80) + f === :maxBlockDimY && return Ptr{UInt32}(x + 84) + f === :maxBlockDimZ && return Ptr{UInt32}(x + 88) + f === :maxGridDimX && return Ptr{UInt32}(x + 92) + f === :maxGridDimY && return Ptr{UInt32}(x + 96) + f === :maxGridDimZ && return Ptr{UInt32}(x + 100) + f === :computeCapabilityMajor && return Ptr{UInt32}(x + 104) + f === :computeCapabilityMinor && return Ptr{UInt32}(x + 108) + f === :id && return Ptr{UInt32}(x + 112) + f === :eccEnabled && return Ptr{UInt32}(x + 116) + f === :uuid && return Ptr{CUuuid}(x + 120) + f === :name && return Ptr{Cstring}(x + 136) + f === :isCudaVisible && return Ptr{UInt8}(x + 144) + f === :isMigEnabled && return Ptr{UInt8}(x + 145) + f === :reserved && return Ptr{NTuple{6,UInt8}}(x + 146) + f === :gpuInstanceId && return Ptr{UInt32}(x + 152) + f === :computeInstanceId && return Ptr{UInt32}(x + 156) + f === :migUuid && return Ptr{CUuuid}(x + 160) + f === :isNumaNode && return Ptr{UInt32}(x + 176) + f === :numaId && return Ptr{UInt32}(x + 180) + return getfield(x, f) +end + +function Base.getproperty(x::CUpti_ActivityDevice5, f::Symbol) + r = Ref{CUpti_ActivityDevice5}(x) + ptr = Base.unsafe_convert(Ptr{CUpti_ActivityDevice5}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +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/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity.h:4020:3)" + data::NTuple{4,UInt8} +end + +function Base.getproperty(x::Ptr{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity.h:4020:3)"}, + 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/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity.h:4020:3)", + f::Symbol) + r = Ref{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity.h:4020:3)"}(x) + ptr = Base.unsafe_convert(Ptr{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity.h:4020:3)"}, + 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/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity.h:4020:3)"}, + f::Symbol, v) + return unsafe_store!(getproperty(x, f), v) +end + +struct var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity.h:4030:3)" + data::NTuple{8,UInt8} +end + +function Base.getproperty(x::Ptr{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity.h:4030:3)"}, + f::Symbol) + f === :vDouble && return Ptr{Cdouble}(x + 0) + f === :vUint32 && return Ptr{UInt32}(x + 0) + f === :vUint64 && return Ptr{UInt64}(x + 0) + f === :vInt32 && return Ptr{Int32}(x + 0) + f === :vInt64 && return Ptr{Int64}(x + 0) + return getfield(x, f) +end + +function Base.getproperty(x::var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity.h:4030:3)", + f::Symbol) + r = Ref{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity.h:4030:3)"}(x) + ptr = Base.unsafe_convert(Ptr{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity.h:4030:3)"}, + 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/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity.h:4030:3)"}, + f::Symbol, v) + return unsafe_store!(getproperty(x, f), v) +end + +struct CUpti_ActivityDeviceAttribute + data::NTuple{24,UInt8} +end + +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/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity.h:4020:3)"}(x + + 12) + f === :value && + return Ptr{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity.h:4030:3)"}(x + + 16) + return getfield(x, f) +end + +function Base.getproperty(x::CUpti_ActivityDeviceAttribute, f::Symbol) + r = Ref{CUpti_ActivityDeviceAttribute}(x) + ptr = Base.unsafe_convert(Ptr{CUpti_ActivityDeviceAttribute}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +function Base.setproperty!(x::Ptr{CUpti_ActivityDeviceAttribute}, f::Symbol, v) + return unsafe_store!(getproperty(x, f), v) +end + +struct CUpti_ActivityContext3 + data::NTuple{32,UInt8} +end + +function Base.getproperty(x::Ptr{CUpti_ActivityContext3}, f::Symbol) + f === :kind && return Ptr{CUpti_ActivityKind}(x + 0) + f === :contextId && return Ptr{UInt32}(x + 4) + f === :deviceId && return Ptr{UInt32}(x + 8) + f === :computeApiKind && return Ptr{UInt16}(x + 12) + f === :nullStreamId && return Ptr{UInt16}(x + 14) + f === :parentContextId && return Ptr{UInt32}(x + 16) + f === :isGreenContext && return Ptr{UInt8}(x + 20) + f === :padding && return Ptr{UInt8}(x + 21) + f === :numMultiprocessors && return Ptr{UInt16}(x + 22) + f === :cigMode && return Ptr{CUpti_ContextCigMode}(x + 24) + f === :padding2 && return Ptr{UInt32}(x + 28) + return getfield(x, f) +end + +function Base.getproperty(x::CUpti_ActivityContext3, f::Symbol) + r = Ref{CUpti_ActivityContext3}(x) + ptr = Base.unsafe_convert(Ptr{CUpti_ActivityContext3}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +function Base.setproperty!(x::Ptr{CUpti_ActivityContext3}, f::Symbol, v) + return unsafe_store!(getproperty(x, f), v) +end + +struct CUpti_ActivityName + data::NTuple{32,UInt8} +end + +function Base.getproperty(x::Ptr{CUpti_ActivityName}, f::Symbol) + f === :kind && return Ptr{CUpti_ActivityKind}(x + 0) + f === :objectKind && return Ptr{CUpti_ActivityObjectKind}(x + 4) + f === :objectId && return Ptr{CUpti_ActivityObjectKindId}(x + 8) + f === :pad && return Ptr{UInt32}(x + 20) + f === :name && return Ptr{Cstring}(x + 24) + return getfield(x, f) +end + +function Base.getproperty(x::CUpti_ActivityName, f::Symbol) + r = Ref{CUpti_ActivityName}(x) + ptr = Base.unsafe_convert(Ptr{CUpti_ActivityName}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +function Base.setproperty!(x::Ptr{CUpti_ActivityName}, f::Symbol, v) + return unsafe_store!(getproperty(x, f), v) +end + +struct CUpti_ActivityMarker2 + data::NTuple{56,UInt8} +end + +function Base.getproperty(x::Ptr{CUpti_ActivityMarker2}, f::Symbol) + f === :kind && return Ptr{CUpti_ActivityKind}(x + 0) + f === :flags && return Ptr{CUpti_ActivityFlag}(x + 4) + f === :timestamp && return Ptr{UInt64}(x + 8) + f === :id && return Ptr{UInt32}(x + 16) + f === :objectKind && return Ptr{CUpti_ActivityObjectKind}(x + 20) + f === :objectId && return Ptr{CUpti_ActivityObjectKindId}(x + 24) + f === :pad && return Ptr{UInt32}(x + 36) + f === :name && return Ptr{Cstring}(x + 40) + f === :domain && return Ptr{Cstring}(x + 48) + return getfield(x, f) +end + +function Base.getproperty(x::CUpti_ActivityMarker2, f::Symbol) + r = Ref{CUpti_ActivityMarker2}(x) + ptr = Base.unsafe_convert(Ptr{CUpti_ActivityMarker2}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +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} +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 + +struct CUpti_ActivityOverhead3 + data::NTuple{56,UInt8} +end + +function Base.getproperty(x::Ptr{CUpti_ActivityOverhead3}, f::Symbol) + f === :kind && return Ptr{CUpti_ActivityKind}(x + 0) + f === :overheadKind && return Ptr{CUpti_ActivityOverheadKind}(x + 4) + f === :objectKind && return Ptr{CUpti_ActivityObjectKind}(x + 8) + f === :objectId && return Ptr{CUpti_ActivityObjectKindId}(x + 12) + f === :start && return Ptr{UInt64}(x + 24) + f === :_end && return Ptr{UInt64}(x + 32) + f === :correlationId && return Ptr{UInt32}(x + 40) + f === :reserved0 && return Ptr{UInt32}(x + 44) + f === :overheadData && return Ptr{Ptr{Cvoid}}(x + 48) + return getfield(x, f) +end + +function Base.getproperty(x::CUpti_ActivityOverhead3, f::Symbol) + r = Ref{CUpti_ActivityOverhead3}(x) + ptr = Base.unsafe_convert(Ptr{CUpti_ActivityOverhead3}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +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/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity.h:4341:3)" data::NTuple{20,UInt8} end -function Base.getproperty(x::Ptr{var"##Ctag#651"}, f::Symbol) - f === :speed && return Ptr{var"##Ctag#652"}(x + 0) - f === :temperature && return Ptr{var"##Ctag#653"}(x + 0) - f === :power && return Ptr{var"##Ctag#654"}(x + 0) - f === :cooling && return Ptr{var"##Ctag#655"}(x + 0) +function Base.getproperty(x::Ptr{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity.h:4341:3)"}, + f::Symbol) + f === :speed && + return Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity.h:4346:5)"}(x + + 0) + f === :temperature && + return Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity.h:4377:5)"}(x + + 0) + f === :power && + return Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity.h:4389:5)"}(x + + 0) + f === :cooling && + return Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity.h:4399:5)"}(x + + 0) return getfield(x, f) end -function Base.getproperty(x::var"##Ctag#651", f::Symbol) - r = Ref{var"##Ctag#651"}(x) - ptr = Base.unsafe_convert(Ptr{var"##Ctag#651"}, r) +function Base.getproperty(x::var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity.h:4341:3)", + f::Symbol) + r = Ref{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity.h:4341:3)"}(x) + ptr = Base.unsafe_convert(Ptr{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity.h:4341:3)"}, + r) fptr = getproperty(ptr, f) GC.@preserve r unsafe_load(fptr) end -function Base.setproperty!(x::Ptr{var"##Ctag#651"}, f::Symbol, v) +function Base.setproperty!(x::Ptr{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity.h:4341:3)"}, + f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end @@ -1896,7 +2351,9 @@ 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"##Ctag#651"}(x + 20) + f === :data && + return Ptr{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity.h:4341:3)"}(x + + 20) return getfield(x, f) end @@ -1912,121 +2369,306 @@ function Base.setproperty!(x::Ptr{CUpti_ActivityEnvironment}, f::Symbol, v) end struct CUpti_ActivityInstructionExecution - kind::CUpti_ActivityKind - flags::CUpti_ActivityFlag - sourceLocatorId::UInt32 - correlationId::UInt32 - functionId::UInt32 - pcOffset::UInt32 - threadsExecuted::UInt64 - notPredOffThreadsExecuted::UInt64 - executed::UInt32 - pad::UInt32 + data::NTuple{48,UInt8} +end + +function Base.getproperty(x::Ptr{CUpti_ActivityInstructionExecution}, f::Symbol) + f === :kind && return Ptr{CUpti_ActivityKind}(x + 0) + f === :flags && return Ptr{CUpti_ActivityFlag}(x + 4) + f === :sourceLocatorId && return Ptr{UInt32}(x + 8) + f === :correlationId && return Ptr{UInt32}(x + 12) + f === :functionId && return Ptr{UInt32}(x + 16) + f === :pcOffset && return Ptr{UInt32}(x + 20) + f === :threadsExecuted && return Ptr{UInt64}(x + 24) + f === :notPredOffThreadsExecuted && return Ptr{UInt64}(x + 32) + f === :executed && return Ptr{UInt32}(x + 40) + f === :pad && return Ptr{UInt32}(x + 44) + return getfield(x, f) +end + +function Base.getproperty(x::CUpti_ActivityInstructionExecution, f::Symbol) + r = Ref{CUpti_ActivityInstructionExecution}(x) + ptr = Base.unsafe_convert(Ptr{CUpti_ActivityInstructionExecution}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +function Base.setproperty!(x::Ptr{CUpti_ActivityInstructionExecution}, f::Symbol, v) + return unsafe_store!(getproperty(x, f), v) end struct CUpti_ActivityPCSampling3 - kind::CUpti_ActivityKind - flags::CUpti_ActivityFlag - sourceLocatorId::UInt32 - correlationId::UInt32 - functionId::UInt32 - latencySamples::UInt32 - samples::UInt32 - stallReason::CUpti_ActivityPCSamplingStallReason - pcOffset::UInt64 + data::NTuple{40,UInt8} +end + +function Base.getproperty(x::Ptr{CUpti_ActivityPCSampling3}, f::Symbol) + f === :kind && return Ptr{CUpti_ActivityKind}(x + 0) + f === :flags && return Ptr{CUpti_ActivityFlag}(x + 4) + f === :sourceLocatorId && return Ptr{UInt32}(x + 8) + f === :correlationId && return Ptr{UInt32}(x + 12) + f === :functionId && return Ptr{UInt32}(x + 16) + f === :latencySamples && return Ptr{UInt32}(x + 20) + f === :samples && return Ptr{UInt32}(x + 24) + f === :stallReason && return Ptr{CUpti_ActivityPCSamplingStallReason}(x + 28) + f === :pcOffset && return Ptr{UInt64}(x + 32) + return getfield(x, f) +end + +function Base.getproperty(x::CUpti_ActivityPCSampling3, f::Symbol) + r = Ref{CUpti_ActivityPCSampling3}(x) + ptr = Base.unsafe_convert(Ptr{CUpti_ActivityPCSampling3}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +function Base.setproperty!(x::Ptr{CUpti_ActivityPCSampling3}, f::Symbol, v) + return unsafe_store!(getproperty(x, f), v) end struct CUpti_ActivityPCSamplingRecordInfo - kind::CUpti_ActivityKind - correlationId::UInt32 - totalSamples::UInt64 - droppedSamples::UInt64 - samplingPeriodInCycles::UInt64 + data::NTuple{32,UInt8} end -struct CUpti_ActivityUnifiedMemoryCounter2 - kind::CUpti_ActivityKind - counterKind::CUpti_ActivityUnifiedMemoryCounterKind - value::UInt64 - start::UInt64 - _end::UInt64 - address::UInt64 - srcId::UInt32 - dstId::UInt32 - streamId::UInt32 - processId::UInt32 - flags::UInt32 - pad::UInt32 +function Base.getproperty(x::Ptr{CUpti_ActivityPCSamplingRecordInfo}, f::Symbol) + f === :kind && return Ptr{CUpti_ActivityKind}(x + 0) + f === :correlationId && return Ptr{UInt32}(x + 4) + f === :totalSamples && return Ptr{UInt64}(x + 8) + f === :droppedSamples && return Ptr{UInt64}(x + 16) + f === :samplingPeriodInCycles && return Ptr{UInt64}(x + 24) + return getfield(x, f) +end + +function Base.getproperty(x::CUpti_ActivityPCSamplingRecordInfo, f::Symbol) + r = Ref{CUpti_ActivityPCSamplingRecordInfo}(x) + ptr = Base.unsafe_convert(Ptr{CUpti_ActivityPCSamplingRecordInfo}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +function Base.setproperty!(x::Ptr{CUpti_ActivityPCSamplingRecordInfo}, f::Symbol, v) + return unsafe_store!(getproperty(x, f), v) +end + +struct CUpti_ActivityUnifiedMemoryCounter3 + data::NTuple{104,UInt8} +end + +function Base.getproperty(x::Ptr{CUpti_ActivityUnifiedMemoryCounter3}, f::Symbol) + f === :kind && return Ptr{CUpti_ActivityKind}(x + 0) + f === :counterKind && return Ptr{CUpti_ActivityUnifiedMemoryCounterKind}(x + 4) + f === :value && return Ptr{UInt64}(x + 8) + f === :start && return Ptr{UInt64}(x + 16) + f === :_end && return Ptr{UInt64}(x + 24) + f === :address && return Ptr{UInt64}(x + 32) + f === :srcId && return Ptr{UInt32}(x + 40) + f === :dstId && return Ptr{UInt32}(x + 44) + f === :streamId && return Ptr{UInt32}(x + 48) + f === :processId && return Ptr{UInt32}(x + 52) + f === :flags && return Ptr{UInt32}(x + 56) + f === :pad && return Ptr{UInt32}(x + 60) + f === :processors && return Ptr{NTuple{5,UInt64}}(x + 64) + return getfield(x, f) +end + +function Base.getproperty(x::CUpti_ActivityUnifiedMemoryCounter3, f::Symbol) + r = Ref{CUpti_ActivityUnifiedMemoryCounter3}(x) + ptr = Base.unsafe_convert(Ptr{CUpti_ActivityUnifiedMemoryCounter3}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +function Base.setproperty!(x::Ptr{CUpti_ActivityUnifiedMemoryCounter3}, f::Symbol, v) + return unsafe_store!(getproperty(x, f), v) end struct CUpti_ActivityFunction - kind::CUpti_ActivityKind - id::UInt32 - contextId::UInt32 - moduleId::UInt32 - functionIndex::UInt32 - pad::UInt32 - name::Cstring + data::NTuple{32,UInt8} +end + +function Base.getproperty(x::Ptr{CUpti_ActivityFunction}, f::Symbol) + f === :kind && return Ptr{CUpti_ActivityKind}(x + 0) + f === :id && return Ptr{UInt32}(x + 4) + f === :contextId && return Ptr{UInt32}(x + 8) + f === :moduleId && return Ptr{UInt32}(x + 12) + f === :functionIndex && return Ptr{UInt32}(x + 16) + f === :pad && return Ptr{UInt32}(x + 20) + f === :name && return Ptr{Cstring}(x + 24) + return getfield(x, f) +end + +function Base.getproperty(x::CUpti_ActivityFunction, f::Symbol) + r = Ref{CUpti_ActivityFunction}(x) + ptr = Base.unsafe_convert(Ptr{CUpti_ActivityFunction}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +function Base.setproperty!(x::Ptr{CUpti_ActivityFunction}, f::Symbol, v) + return unsafe_store!(getproperty(x, f), v) end struct CUpti_ActivityModule - kind::CUpti_ActivityKind - contextId::UInt32 - id::UInt32 - cubinSize::UInt32 - cubin::Ptr{Cvoid} + data::NTuple{24,UInt8} +end + +function Base.getproperty(x::Ptr{CUpti_ActivityModule}, f::Symbol) + f === :kind && return Ptr{CUpti_ActivityKind}(x + 0) + f === :contextId && return Ptr{UInt32}(x + 4) + f === :id && return Ptr{UInt32}(x + 8) + f === :cubinSize && return Ptr{UInt32}(x + 12) + f === :cubin && return Ptr{Ptr{Cvoid}}(x + 16) + return getfield(x, f) +end + +function Base.getproperty(x::CUpti_ActivityModule, f::Symbol) + r = Ref{CUpti_ActivityModule}(x) + ptr = Base.unsafe_convert(Ptr{CUpti_ActivityModule}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +function Base.setproperty!(x::Ptr{CUpti_ActivityModule}, f::Symbol, v) + return unsafe_store!(getproperty(x, f), v) end struct CUpti_ActivitySharedAccess - kind::CUpti_ActivityKind - flags::CUpti_ActivityFlag - sourceLocatorId::UInt32 - correlationId::UInt32 - functionId::UInt32 - pcOffset::UInt32 - threadsExecuted::UInt64 - sharedTransactions::UInt64 - theoreticalSharedTransactions::UInt64 - executed::UInt32 - pad::UInt32 + data::NTuple{56,UInt8} end -struct CUpti_ActivityCudaEvent - kind::CUpti_ActivityKind - correlationId::UInt32 - contextId::UInt32 - streamId::UInt32 - eventId::UInt32 - pad::UInt32 +function Base.getproperty(x::Ptr{CUpti_ActivitySharedAccess}, f::Symbol) + f === :kind && return Ptr{CUpti_ActivityKind}(x + 0) + f === :flags && return Ptr{CUpti_ActivityFlag}(x + 4) + f === :sourceLocatorId && return Ptr{UInt32}(x + 8) + f === :correlationId && return Ptr{UInt32}(x + 12) + f === :functionId && return Ptr{UInt32}(x + 16) + f === :pcOffset && return Ptr{UInt32}(x + 20) + f === :threadsExecuted && return Ptr{UInt64}(x + 24) + f === :sharedTransactions && return Ptr{UInt64}(x + 32) + f === :theoreticalSharedTransactions && return Ptr{UInt64}(x + 40) + f === :executed && return Ptr{UInt32}(x + 48) + f === :pad && return Ptr{UInt32}(x + 52) + return getfield(x, f) +end + +function Base.getproperty(x::CUpti_ActivitySharedAccess, f::Symbol) + r = Ref{CUpti_ActivitySharedAccess}(x) + ptr = Base.unsafe_convert(Ptr{CUpti_ActivitySharedAccess}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +function Base.setproperty!(x::Ptr{CUpti_ActivitySharedAccess}, f::Symbol, v) + return unsafe_store!(getproperty(x, f), v) +end + +struct CUpti_ActivityCudaEvent2 + data::NTuple{56,UInt8} +end + +function Base.getproperty(x::Ptr{CUpti_ActivityCudaEvent2}, f::Symbol) + f === :kind && return Ptr{CUpti_ActivityKind}(x + 0) + f === :correlationId && return Ptr{UInt32}(x + 4) + f === :contextId && return Ptr{UInt32}(x + 8) + f === :streamId && return Ptr{UInt32}(x + 12) + f === :eventId && return Ptr{UInt32}(x + 16) + f === :pad && return Ptr{UInt32}(x + 20) + f === :deviceId && return Ptr{UInt32}(x + 24) + f === :pad2 && return Ptr{UInt32}(x + 28) + f === :reserved0 && return Ptr{Ptr{Cvoid}}(x + 32) + f === :deviceTimestamp && return Ptr{UInt64}(x + 40) + f === :cudaEventSyncId && return Ptr{UInt64}(x + 48) + return getfield(x, f) +end + +function Base.getproperty(x::CUpti_ActivityCudaEvent2, f::Symbol) + r = Ref{CUpti_ActivityCudaEvent2}(x) + ptr = Base.unsafe_convert(Ptr{CUpti_ActivityCudaEvent2}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +function Base.setproperty!(x::Ptr{CUpti_ActivityCudaEvent2}, f::Symbol, v) + return unsafe_store!(getproperty(x, f), v) end struct CUpti_ActivityStream - kind::CUpti_ActivityKind - contextId::UInt32 - streamId::UInt32 - priority::UInt32 - flag::CUpti_ActivityStreamFlag - correlationId::UInt32 + data::NTuple{24,UInt8} end -struct CUpti_ActivitySynchronization - kind::CUpti_ActivityKind - type::CUpti_ActivitySynchronizationType - start::UInt64 - _end::UInt64 - correlationId::UInt32 - contextId::UInt32 - streamId::UInt32 - cudaEventId::UInt32 +function Base.getproperty(x::Ptr{CUpti_ActivityStream}, f::Symbol) + f === :kind && return Ptr{CUpti_ActivityKind}(x + 0) + f === :contextId && return Ptr{UInt32}(x + 4) + f === :streamId && return Ptr{UInt32}(x + 8) + f === :priority && return Ptr{UInt32}(x + 12) + f === :flag && return Ptr{CUpti_ActivityStreamFlag}(x + 16) + f === :correlationId && return Ptr{UInt32}(x + 20) + return getfield(x, f) +end + +function Base.getproperty(x::CUpti_ActivityStream, f::Symbol) + r = Ref{CUpti_ActivityStream}(x) + ptr = Base.unsafe_convert(Ptr{CUpti_ActivityStream}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +function Base.setproperty!(x::Ptr{CUpti_ActivityStream}, f::Symbol, v) + return unsafe_store!(getproperty(x, f), v) +end + +struct CUpti_ActivitySynchronization2 + data::NTuple{56,UInt8} +end + +function Base.getproperty(x::Ptr{CUpti_ActivitySynchronization2}, f::Symbol) + f === :kind && return Ptr{CUpti_ActivityKind}(x + 0) + f === :type && return Ptr{CUpti_ActivitySynchronizationType}(x + 4) + f === :start && return Ptr{UInt64}(x + 8) + f === :_end && return Ptr{UInt64}(x + 16) + f === :correlationId && return Ptr{UInt32}(x + 24) + f === :contextId && return Ptr{UInt32}(x + 28) + f === :streamId && return Ptr{UInt32}(x + 32) + f === :cudaEventId && return Ptr{UInt32}(x + 36) + f === :cudaEventSyncId && return Ptr{UInt64}(x + 40) + f === :returnValue && return Ptr{UInt32}(x + 48) + f === :pad && return Ptr{UInt32}(x + 52) + return getfield(x, f) +end + +function Base.getproperty(x::CUpti_ActivitySynchronization2, f::Symbol) + r = Ref{CUpti_ActivitySynchronization2}(x) + ptr = Base.unsafe_convert(Ptr{CUpti_ActivitySynchronization2}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +function Base.setproperty!(x::Ptr{CUpti_ActivitySynchronization2}, f::Symbol, v) + return unsafe_store!(getproperty(x, f), v) end struct CUpti_ActivityInstructionCorrelation - kind::CUpti_ActivityKind - flags::CUpti_ActivityFlag - sourceLocatorId::UInt32 - functionId::UInt32 - pcOffset::UInt32 - pad::UInt32 + data::NTuple{24,UInt8} +end + +function Base.getproperty(x::Ptr{CUpti_ActivityInstructionCorrelation}, f::Symbol) + f === :kind && return Ptr{CUpti_ActivityKind}(x + 0) + f === :flags && return Ptr{CUpti_ActivityFlag}(x + 4) + f === :sourceLocatorId && return Ptr{UInt32}(x + 8) + f === :functionId && return Ptr{UInt32}(x + 12) + f === :pcOffset && return Ptr{UInt32}(x + 16) + f === :pad && return Ptr{UInt32}(x + 20) + return getfield(x, f) +end + +function Base.getproperty(x::CUpti_ActivityInstructionCorrelation, f::Symbol) + r = Ref{CUpti_ActivityInstructionCorrelation}(x) + ptr = Base.unsafe_convert(Ptr{CUpti_ActivityInstructionCorrelation}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +function Base.setproperty!(x::Ptr{CUpti_ActivityInstructionCorrelation}, f::Symbol, v) + return unsafe_store!(getproperty(x, f), v) end @cenum CUpti_OpenAccEventKind::UInt32 begin @@ -2071,142 +2713,222 @@ end CUPTI_OPENACC_CONSTRUCT_KIND_FORCE_INT = 2147483647 end -@cenum CUpti_OpenMpEventKind::UInt32 begin - CUPTI_OPENMP_EVENT_KIND_INVALID = 0 - CUPTI_OPENMP_EVENT_KIND_PARALLEL = 1 - CUPTI_OPENMP_EVENT_KIND_TASK = 2 - CUPTI_OPENMP_EVENT_KIND_THREAD = 3 - CUPTI_OPENMP_EVENT_KIND_IDLE = 4 - CUPTI_OPENMP_EVENT_KIND_WAIT_BARRIER = 5 - CUPTI_OPENMP_EVENT_KIND_WAIT_TASKWAIT = 6 - CUPTI_OPENMP_EVENT_KIND_FORCE_INT = 2147483647 +@cenum CUpti_OpenMpEventKind::UInt32 begin + CUPTI_OPENMP_EVENT_KIND_INVALID = 0 + CUPTI_OPENMP_EVENT_KIND_PARALLEL = 1 + CUPTI_OPENMP_EVENT_KIND_TASK = 2 + CUPTI_OPENMP_EVENT_KIND_THREAD = 3 + CUPTI_OPENMP_EVENT_KIND_IDLE = 4 + CUPTI_OPENMP_EVENT_KIND_WAIT_BARRIER = 5 + CUPTI_OPENMP_EVENT_KIND_WAIT_TASKWAIT = 6 + CUPTI_OPENMP_EVENT_KIND_FORCE_INT = 2147483647 +end + +struct CUpti_ActivityOpenAcc + data::NTuple{120,UInt8} +end + +function Base.getproperty(x::Ptr{CUpti_ActivityOpenAcc}, f::Symbol) + f === :kind && return Ptr{CUpti_ActivityKind}(x + 0) + f === :eventKind && return Ptr{CUpti_OpenAccEventKind}(x + 4) + f === :parentConstruct && return Ptr{CUpti_OpenAccConstructKind}(x + 8) + f === :version && return Ptr{UInt32}(x + 12) + f === :implicit && return Ptr{UInt32}(x + 16) + f === :deviceType && return Ptr{UInt32}(x + 20) + f === :deviceNumber && return Ptr{UInt32}(x + 24) + f === :threadId && return Ptr{UInt32}(x + 28) + f === :async && return Ptr{UInt64}(x + 32) + f === :asyncMap && return Ptr{UInt64}(x + 40) + f === :lineNo && return Ptr{UInt32}(x + 48) + f === :endLineNo && return Ptr{UInt32}(x + 52) + f === :funcLineNo && return Ptr{UInt32}(x + 56) + f === :funcEndLineNo && return Ptr{UInt32}(x + 60) + f === :start && return Ptr{UInt64}(x + 64) + f === :_end && return Ptr{UInt64}(x + 72) + f === :cuDeviceId && return Ptr{UInt32}(x + 80) + f === :cuContextId && return Ptr{UInt32}(x + 84) + f === :cuStreamId && return Ptr{UInt32}(x + 88) + f === :cuProcessId && return Ptr{UInt32}(x + 92) + f === :cuThreadId && return Ptr{UInt32}(x + 96) + f === :externalId && return Ptr{UInt32}(x + 100) + f === :srcFile && return Ptr{Cstring}(x + 104) + f === :funcName && return Ptr{Cstring}(x + 112) + return getfield(x, f) +end + +function Base.getproperty(x::CUpti_ActivityOpenAcc, f::Symbol) + r = Ref{CUpti_ActivityOpenAcc}(x) + ptr = Base.unsafe_convert(Ptr{CUpti_ActivityOpenAcc}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +function Base.setproperty!(x::Ptr{CUpti_ActivityOpenAcc}, f::Symbol, v) + return unsafe_store!(getproperty(x, f), v) +end + +struct CUpti_ActivityOpenAccData + data::NTuple{152,UInt8} +end + +function Base.getproperty(x::Ptr{CUpti_ActivityOpenAccData}, f::Symbol) + f === :kind && return Ptr{CUpti_ActivityKind}(x + 0) + f === :eventKind && return Ptr{CUpti_OpenAccEventKind}(x + 4) + f === :parentConstruct && return Ptr{CUpti_OpenAccConstructKind}(x + 8) + f === :version && return Ptr{UInt32}(x + 12) + f === :implicit && return Ptr{UInt32}(x + 16) + f === :deviceType && return Ptr{UInt32}(x + 20) + f === :deviceNumber && return Ptr{UInt32}(x + 24) + f === :threadId && return Ptr{UInt32}(x + 28) + f === :async && return Ptr{UInt64}(x + 32) + f === :asyncMap && return Ptr{UInt64}(x + 40) + f === :lineNo && return Ptr{UInt32}(x + 48) + f === :endLineNo && return Ptr{UInt32}(x + 52) + f === :funcLineNo && return Ptr{UInt32}(x + 56) + f === :funcEndLineNo && return Ptr{UInt32}(x + 60) + f === :start && return Ptr{UInt64}(x + 64) + f === :_end && return Ptr{UInt64}(x + 72) + f === :cuDeviceId && return Ptr{UInt32}(x + 80) + f === :cuContextId && return Ptr{UInt32}(x + 84) + f === :cuStreamId && return Ptr{UInt32}(x + 88) + f === :cuProcessId && return Ptr{UInt32}(x + 92) + f === :cuThreadId && return Ptr{UInt32}(x + 96) + f === :externalId && return Ptr{UInt32}(x + 100) + f === :srcFile && return Ptr{Cstring}(x + 104) + f === :funcName && return Ptr{Cstring}(x + 112) + f === :bytes && return Ptr{UInt64}(x + 120) + f === :hostPtr && return Ptr{UInt64}(x + 128) + f === :devicePtr && return Ptr{UInt64}(x + 136) + f === :varName && return Ptr{Cstring}(x + 144) + return getfield(x, f) +end + +function Base.getproperty(x::CUpti_ActivityOpenAccData, f::Symbol) + r = Ref{CUpti_ActivityOpenAccData}(x) + ptr = Base.unsafe_convert(Ptr{CUpti_ActivityOpenAccData}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +function Base.setproperty!(x::Ptr{CUpti_ActivityOpenAccData}, f::Symbol, v) + return unsafe_store!(getproperty(x, f), v) +end + +struct CUpti_ActivityOpenAccLaunch + data::NTuple{152,UInt8} +end + +function Base.getproperty(x::Ptr{CUpti_ActivityOpenAccLaunch}, f::Symbol) + f === :kind && return Ptr{CUpti_ActivityKind}(x + 0) + f === :eventKind && return Ptr{CUpti_OpenAccEventKind}(x + 4) + f === :parentConstruct && return Ptr{CUpti_OpenAccConstructKind}(x + 8) + f === :version && return Ptr{UInt32}(x + 12) + f === :implicit && return Ptr{UInt32}(x + 16) + f === :deviceType && return Ptr{UInt32}(x + 20) + f === :deviceNumber && return Ptr{UInt32}(x + 24) + f === :threadId && return Ptr{UInt32}(x + 28) + f === :async && return Ptr{UInt64}(x + 32) + f === :asyncMap && return Ptr{UInt64}(x + 40) + f === :lineNo && return Ptr{UInt32}(x + 48) + f === :endLineNo && return Ptr{UInt32}(x + 52) + f === :funcLineNo && return Ptr{UInt32}(x + 56) + f === :funcEndLineNo && return Ptr{UInt32}(x + 60) + f === :start && return Ptr{UInt64}(x + 64) + f === :_end && return Ptr{UInt64}(x + 72) + f === :cuDeviceId && return Ptr{UInt32}(x + 80) + f === :cuContextId && return Ptr{UInt32}(x + 84) + f === :cuStreamId && return Ptr{UInt32}(x + 88) + f === :cuProcessId && return Ptr{UInt32}(x + 92) + f === :cuThreadId && return Ptr{UInt32}(x + 96) + f === :externalId && return Ptr{UInt32}(x + 100) + f === :srcFile && return Ptr{Cstring}(x + 104) + f === :funcName && return Ptr{Cstring}(x + 112) + f === :numGangs && return Ptr{UInt64}(x + 120) + f === :numWorkers && return Ptr{UInt64}(x + 128) + f === :vectorLength && return Ptr{UInt64}(x + 136) + f === :kernelName && return Ptr{Cstring}(x + 144) + return getfield(x, f) +end + +function Base.getproperty(x::CUpti_ActivityOpenAccLaunch, f::Symbol) + r = Ref{CUpti_ActivityOpenAccLaunch}(x) + ptr = Base.unsafe_convert(Ptr{CUpti_ActivityOpenAccLaunch}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +function Base.setproperty!(x::Ptr{CUpti_ActivityOpenAccLaunch}, f::Symbol, v) + return unsafe_store!(getproperty(x, f), v) +end + +struct CUpti_ActivityOpenAccOther + data::NTuple{120,UInt8} +end + +function Base.getproperty(x::Ptr{CUpti_ActivityOpenAccOther}, f::Symbol) + f === :kind && return Ptr{CUpti_ActivityKind}(x + 0) + f === :eventKind && return Ptr{CUpti_OpenAccEventKind}(x + 4) + f === :parentConstruct && return Ptr{CUpti_OpenAccConstructKind}(x + 8) + f === :version && return Ptr{UInt32}(x + 12) + f === :implicit && return Ptr{UInt32}(x + 16) + f === :deviceType && return Ptr{UInt32}(x + 20) + f === :deviceNumber && return Ptr{UInt32}(x + 24) + f === :threadId && return Ptr{UInt32}(x + 28) + f === :async && return Ptr{UInt64}(x + 32) + f === :asyncMap && return Ptr{UInt64}(x + 40) + f === :lineNo && return Ptr{UInt32}(x + 48) + f === :endLineNo && return Ptr{UInt32}(x + 52) + f === :funcLineNo && return Ptr{UInt32}(x + 56) + f === :funcEndLineNo && return Ptr{UInt32}(x + 60) + f === :start && return Ptr{UInt64}(x + 64) + f === :_end && return Ptr{UInt64}(x + 72) + f === :cuDeviceId && return Ptr{UInt32}(x + 80) + f === :cuContextId && return Ptr{UInt32}(x + 84) + f === :cuStreamId && return Ptr{UInt32}(x + 88) + f === :cuProcessId && return Ptr{UInt32}(x + 92) + f === :cuThreadId && return Ptr{UInt32}(x + 96) + f === :externalId && return Ptr{UInt32}(x + 100) + f === :srcFile && return Ptr{Cstring}(x + 104) + f === :funcName && return Ptr{Cstring}(x + 112) + return getfield(x, f) end -struct CUpti_ActivityOpenAcc - kind::CUpti_ActivityKind - eventKind::CUpti_OpenAccEventKind - parentConstruct::CUpti_OpenAccConstructKind - version::UInt32 - implicit::UInt32 - deviceType::UInt32 - deviceNumber::UInt32 - threadId::UInt32 - async::UInt64 - asyncMap::UInt64 - lineNo::UInt32 - endLineNo::UInt32 - funcLineNo::UInt32 - funcEndLineNo::UInt32 - start::UInt64 - _end::UInt64 - cuDeviceId::UInt32 - cuContextId::UInt32 - cuStreamId::UInt32 - cuProcessId::UInt32 - cuThreadId::UInt32 - externalId::UInt32 - srcFile::Cstring - funcName::Cstring +function Base.getproperty(x::CUpti_ActivityOpenAccOther, f::Symbol) + r = Ref{CUpti_ActivityOpenAccOther}(x) + ptr = Base.unsafe_convert(Ptr{CUpti_ActivityOpenAccOther}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) end -struct CUpti_ActivityOpenAccData - kind::CUpti_ActivityKind - eventKind::CUpti_OpenAccEventKind - parentConstruct::CUpti_OpenAccConstructKind - version::UInt32 - implicit::UInt32 - deviceType::UInt32 - deviceNumber::UInt32 - threadId::UInt32 - async::UInt64 - asyncMap::UInt64 - lineNo::UInt32 - endLineNo::UInt32 - funcLineNo::UInt32 - funcEndLineNo::UInt32 - start::UInt64 - _end::UInt64 - cuDeviceId::UInt32 - cuContextId::UInt32 - cuStreamId::UInt32 - cuProcessId::UInt32 - cuThreadId::UInt32 - externalId::UInt32 - srcFile::Cstring - funcName::Cstring - bytes::UInt64 - hostPtr::UInt64 - devicePtr::UInt64 - varName::Cstring +function Base.setproperty!(x::Ptr{CUpti_ActivityOpenAccOther}, f::Symbol, v) + return unsafe_store!(getproperty(x, f), v) end -struct CUpti_ActivityOpenAccLaunch - kind::CUpti_ActivityKind - eventKind::CUpti_OpenAccEventKind - parentConstruct::CUpti_OpenAccConstructKind - version::UInt32 - implicit::UInt32 - deviceType::UInt32 - deviceNumber::UInt32 - threadId::UInt32 - async::UInt64 - asyncMap::UInt64 - lineNo::UInt32 - endLineNo::UInt32 - funcLineNo::UInt32 - funcEndLineNo::UInt32 - start::UInt64 - _end::UInt64 - cuDeviceId::UInt32 - cuContextId::UInt32 - cuStreamId::UInt32 - cuProcessId::UInt32 - cuThreadId::UInt32 - externalId::UInt32 - srcFile::Cstring - funcName::Cstring - numGangs::UInt64 - numWorkers::UInt64 - vectorLength::UInt64 - kernelName::Cstring +struct CUpti_ActivityOpenMp + data::NTuple{40,UInt8} end -struct CUpti_ActivityOpenAccOther - kind::CUpti_ActivityKind - eventKind::CUpti_OpenAccEventKind - parentConstruct::CUpti_OpenAccConstructKind - version::UInt32 - implicit::UInt32 - deviceType::UInt32 - deviceNumber::UInt32 - threadId::UInt32 - async::UInt64 - asyncMap::UInt64 - lineNo::UInt32 - endLineNo::UInt32 - funcLineNo::UInt32 - funcEndLineNo::UInt32 - start::UInt64 - _end::UInt64 - cuDeviceId::UInt32 - cuContextId::UInt32 - cuStreamId::UInt32 - cuProcessId::UInt32 - cuThreadId::UInt32 - externalId::UInt32 - srcFile::Cstring - funcName::Cstring +function Base.getproperty(x::Ptr{CUpti_ActivityOpenMp}, f::Symbol) + f === :kind && return Ptr{CUpti_ActivityKind}(x + 0) + f === :eventKind && return Ptr{CUpti_OpenMpEventKind}(x + 4) + f === :version && return Ptr{UInt32}(x + 8) + f === :threadId && return Ptr{UInt32}(x + 12) + f === :start && return Ptr{UInt64}(x + 16) + f === :_end && return Ptr{UInt64}(x + 24) + f === :cuProcessId && return Ptr{UInt32}(x + 32) + f === :cuThreadId && return Ptr{UInt32}(x + 36) + return getfield(x, f) end -struct CUpti_ActivityOpenMp - kind::CUpti_ActivityKind - eventKind::CUpti_OpenMpEventKind - version::UInt32 - threadId::UInt32 - start::UInt64 - _end::UInt64 - cuProcessId::UInt32 - cuThreadId::UInt32 +function Base.getproperty(x::CUpti_ActivityOpenMp, f::Symbol) + r = Ref{CUpti_ActivityOpenMp}(x) + ptr = Base.unsafe_convert(Ptr{CUpti_ActivityOpenMp}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +function Base.setproperty!(x::Ptr{CUpti_ActivityOpenMp}, f::Symbol, v) + return unsafe_store!(getproperty(x, f), v) end @cenum CUpti_ExternalCorrelationKind::UInt32 begin @@ -2221,11 +2943,27 @@ end end struct CUpti_ActivityExternalCorrelation - kind::CUpti_ActivityKind - externalKind::CUpti_ExternalCorrelationKind - externalId::UInt64 - correlationId::UInt32 - reserved::UInt32 + data::NTuple{24,UInt8} +end + +function Base.getproperty(x::Ptr{CUpti_ActivityExternalCorrelation}, f::Symbol) + f === :kind && return Ptr{CUpti_ActivityKind}(x + 0) + f === :externalKind && return Ptr{CUpti_ExternalCorrelationKind}(x + 4) + f === :externalId && return Ptr{UInt64}(x + 8) + f === :correlationId && return Ptr{UInt32}(x + 16) + f === :reserved && return Ptr{UInt32}(x + 20) + return getfield(x, f) +end + +function Base.getproperty(x::CUpti_ActivityExternalCorrelation, f::Symbol) + r = Ref{CUpti_ActivityExternalCorrelation}(x) + ptr = Base.unsafe_convert(Ptr{CUpti_ActivityExternalCorrelation}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +function Base.setproperty!(x::Ptr{CUpti_ActivityExternalCorrelation}, f::Symbol, v) + return unsafe_store!(getproperty(x, f), v) end @cenum CUpti_DevType::UInt32 begin @@ -2235,45 +2973,57 @@ end CUPTI_DEV_TYPE_FORCE_INT = 2147483647 end -struct var"##Ctag#597" +struct var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity.h:5991:3)" data::NTuple{16,UInt8} end -function Base.getproperty(x::Ptr{var"##Ctag#597"}, f::Symbol) +function Base.getproperty(x::Ptr{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity.h:5991:3)"}, + f::Symbol) f === :uuidDev && return Ptr{CUuuid}(x + 0) - f === :npu && return Ptr{var"##Ctag#598"}(x + 0) + f === :npu && + return Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity.h:5993:5)"}(x + + 0) return getfield(x, f) end -function Base.getproperty(x::var"##Ctag#597", f::Symbol) - r = Ref{var"##Ctag#597"}(x) - ptr = Base.unsafe_convert(Ptr{var"##Ctag#597"}, r) +function Base.getproperty(x::var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity.h:5991:3)", + f::Symbol) + r = Ref{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity.h:5991:3)"}(x) + ptr = Base.unsafe_convert(Ptr{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity.h:5991:3)"}, + r) fptr = getproperty(ptr, f) GC.@preserve r unsafe_load(fptr) end -function Base.setproperty!(x::Ptr{var"##Ctag#597"}, f::Symbol, v) +function Base.setproperty!(x::Ptr{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity.h:5991:3)"}, + f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end -struct var"##Ctag#599" +struct var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity.h:6010:3)" data::NTuple{16,UInt8} end -function Base.getproperty(x::Ptr{var"##Ctag#599"}, f::Symbol) +function Base.getproperty(x::Ptr{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity.h:6010:3)"}, + f::Symbol) f === :uuidDev && return Ptr{CUuuid}(x + 0) - f === :npu && return Ptr{var"##Ctag#600"}(x + 0) + f === :npu && + return Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity.h:6012:5)"}(x + + 0) return getfield(x, f) end -function Base.getproperty(x::var"##Ctag#599", f::Symbol) - r = Ref{var"##Ctag#599"}(x) - ptr = Base.unsafe_convert(Ptr{var"##Ctag#599"}, r) +function Base.getproperty(x::var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity.h:6010:3)", + f::Symbol) + r = Ref{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity.h:6010:3)"}(x) + ptr = Base.unsafe_convert(Ptr{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity.h:6010:3)"}, + r) fptr = getproperty(ptr, f) GC.@preserve r unsafe_load(fptr) end -function Base.setproperty!(x::Ptr{var"##Ctag#599"}, f::Symbol, v) +function Base.setproperty!(x::Ptr{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity.h:6010:3)"}, + f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end @@ -2286,8 +3036,12 @@ 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"##Ctag#597"}(x + 16) - f === :idDev1 && return Ptr{var"##Ctag#599"}(x + 32) + f === :idDev0 && + return Ptr{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity.h:5991:3)"}(x + + 16) + f === :idDev1 && + return Ptr{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity.h:6010:3)"}(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) @@ -2315,45 +3069,57 @@ end CUPTI_PCIE_DEVICE_TYPE_FORCE_INT = 2147483647 end -struct var"##Ctag#613" +struct var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity.h:6115:3)" data::NTuple{4,UInt8} end -function Base.getproperty(x::Ptr{var"##Ctag#613"}, f::Symbol) +function Base.getproperty(x::Ptr{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity.h:6115:3)"}, + 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"##Ctag#613", f::Symbol) - r = Ref{var"##Ctag#613"}(x) - ptr = Base.unsafe_convert(Ptr{var"##Ctag#613"}, r) +function Base.getproperty(x::var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity.h:6115:3)", + f::Symbol) + r = Ref{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity.h:6115:3)"}(x) + ptr = Base.unsafe_convert(Ptr{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity.h:6115:3)"}, + r) fptr = getproperty(ptr, f) GC.@preserve r unsafe_load(fptr) end -function Base.setproperty!(x::Ptr{var"##Ctag#613"}, f::Symbol, v) +function Base.setproperty!(x::Ptr{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity.h:6115:3)"}, + f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end -struct var"##Ctag#614" +struct var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity.h:6157:3)" data::NTuple{144,UInt8} end -function Base.getproperty(x::Ptr{var"##Ctag#614"}, f::Symbol) - f === :gpuAttr && return Ptr{var"##Ctag#615"}(x + 0) - f === :bridgeAttr && return Ptr{var"##Ctag#616"}(x + 0) +function Base.getproperty(x::Ptr{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity.h:6157:3)"}, + f::Symbol) + f === :gpuAttr && + return Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity.h:6158:5)"}(x + + 0) + f === :bridgeAttr && + return Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity.h:6172:5)"}(x + + 0) return getfield(x, f) end -function Base.getproperty(x::var"##Ctag#614", f::Symbol) - r = Ref{var"##Ctag#614"}(x) - ptr = Base.unsafe_convert(Ptr{var"##Ctag#614"}, r) +function Base.getproperty(x::var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity.h:6157:3)", + f::Symbol) + r = Ref{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity.h:6157:3)"}(x) + ptr = Base.unsafe_convert(Ptr{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity.h:6157:3)"}, + r) fptr = getproperty(ptr, f) GC.@preserve r unsafe_load(fptr) end -function Base.setproperty!(x::Ptr{var"##Ctag#614"}, f::Symbol, v) +function Base.setproperty!(x::Ptr{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity.h:6157:3)"}, + f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end @@ -2364,13 +3130,17 @@ 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"##Ctag#613"}(x + 8) + f === :id && + return Ptr{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity.h:6115:3)"}(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"##Ctag#614"}(x + 24) + f === :attr && + return Ptr{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity.h:6157:3)"}(x + + 24) return getfield(x, f) end @@ -2391,47 +3161,112 @@ end CUPTI_PCIE_GEN_GEN3 = 3 CUPTI_PCIE_GEN_GEN4 = 4 CUPTI_PCIE_GEN_GEN5 = 5 + CUPTI_PCIE_GEN_GEN6 = 6 CUPTI_PCIE_GEN_FORCE_INT = 2147483647 end struct CUpti_ActivityInstantaneousEvent - kind::CUpti_ActivityKind - id::CUpti_EventID - value::UInt64 - timestamp::UInt64 - deviceId::UInt32 - reserved::UInt32 + data::NTuple{32,UInt8} +end + +function Base.getproperty(x::Ptr{CUpti_ActivityInstantaneousEvent}, f::Symbol) + f === :kind && return Ptr{CUpti_ActivityKind}(x + 0) + f === :id && return Ptr{CUpti_EventID}(x + 4) + f === :value && return Ptr{UInt64}(x + 8) + f === :timestamp && return Ptr{UInt64}(x + 16) + f === :deviceId && return Ptr{UInt32}(x + 24) + f === :reserved && return Ptr{UInt32}(x + 28) + return getfield(x, f) +end + +function Base.getproperty(x::CUpti_ActivityInstantaneousEvent, f::Symbol) + r = Ref{CUpti_ActivityInstantaneousEvent}(x) + ptr = Base.unsafe_convert(Ptr{CUpti_ActivityInstantaneousEvent}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +function Base.setproperty!(x::Ptr{CUpti_ActivityInstantaneousEvent}, f::Symbol, v) + return unsafe_store!(getproperty(x, f), v) end struct CUpti_ActivityInstantaneousEventInstance - kind::CUpti_ActivityKind - id::CUpti_EventID - value::UInt64 - timestamp::UInt64 - deviceId::UInt32 - instance::UInt8 - pad::NTuple{3,UInt8} + data::NTuple{32,UInt8} +end + +function Base.getproperty(x::Ptr{CUpti_ActivityInstantaneousEventInstance}, f::Symbol) + f === :kind && return Ptr{CUpti_ActivityKind}(x + 0) + f === :id && return Ptr{CUpti_EventID}(x + 4) + f === :value && return Ptr{UInt64}(x + 8) + f === :timestamp && return Ptr{UInt64}(x + 16) + f === :deviceId && return Ptr{UInt32}(x + 24) + f === :instance && return Ptr{UInt8}(x + 28) + f === :pad && return Ptr{NTuple{3,UInt8}}(x + 29) + return getfield(x, f) +end + +function Base.getproperty(x::CUpti_ActivityInstantaneousEventInstance, f::Symbol) + r = Ref{CUpti_ActivityInstantaneousEventInstance}(x) + ptr = Base.unsafe_convert(Ptr{CUpti_ActivityInstantaneousEventInstance}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +function Base.setproperty!(x::Ptr{CUpti_ActivityInstantaneousEventInstance}, f::Symbol, v) + return unsafe_store!(getproperty(x, f), v) end struct CUpti_ActivityInstantaneousMetric - kind::CUpti_ActivityKind - id::CUpti_MetricID - value::CUpti_MetricValue - timestamp::UInt64 - deviceId::UInt32 - flags::UInt8 - pad::NTuple{3,UInt8} + data::NTuple{32,UInt8} +end + +function Base.getproperty(x::Ptr{CUpti_ActivityInstantaneousMetric}, f::Symbol) + f === :kind && return Ptr{CUpti_ActivityKind}(x + 0) + f === :id && return Ptr{CUpti_MetricID}(x + 4) + f === :value && return Ptr{CUpti_MetricValue}(x + 8) + f === :timestamp && return Ptr{UInt64}(x + 16) + f === :deviceId && return Ptr{UInt32}(x + 24) + f === :flags && return Ptr{UInt8}(x + 28) + f === :pad && return Ptr{NTuple{3,UInt8}}(x + 29) + return getfield(x, f) +end + +function Base.getproperty(x::CUpti_ActivityInstantaneousMetric, f::Symbol) + r = Ref{CUpti_ActivityInstantaneousMetric}(x) + ptr = Base.unsafe_convert(Ptr{CUpti_ActivityInstantaneousMetric}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +function Base.setproperty!(x::Ptr{CUpti_ActivityInstantaneousMetric}, f::Symbol, v) + return unsafe_store!(getproperty(x, f), v) end struct CUpti_ActivityInstantaneousMetricInstance - kind::CUpti_ActivityKind - id::CUpti_MetricID - value::CUpti_MetricValue - timestamp::UInt64 - deviceId::UInt32 - flags::UInt8 - instance::UInt8 - pad::NTuple{2,UInt8} + data::NTuple{32,UInt8} +end + +function Base.getproperty(x::Ptr{CUpti_ActivityInstantaneousMetricInstance}, f::Symbol) + f === :kind && return Ptr{CUpti_ActivityKind}(x + 0) + f === :id && return Ptr{CUpti_MetricID}(x + 4) + f === :value && return Ptr{CUpti_MetricValue}(x + 8) + f === :timestamp && return Ptr{UInt64}(x + 16) + f === :deviceId && return Ptr{UInt32}(x + 24) + f === :flags && return Ptr{UInt8}(x + 28) + f === :instance && return Ptr{UInt8}(x + 29) + f === :pad && return Ptr{NTuple{2,UInt8}}(x + 30) + return getfield(x, f) +end + +function Base.getproperty(x::CUpti_ActivityInstantaneousMetricInstance, f::Symbol) + r = Ref{CUpti_ActivityInstantaneousMetricInstance}(x) + ptr = Base.unsafe_convert(Ptr{CUpti_ActivityInstantaneousMetricInstance}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +function Base.setproperty!(x::Ptr{CUpti_ActivityInstantaneousMetricInstance}, f::Symbol, v) + return unsafe_store!(getproperty(x, f), v) end @cenum CUpti_ActivityJitEntryType::UInt32 begin @@ -2450,19 +3285,35 @@ end end struct CUpti_ActivityJit2 - kind::CUpti_ActivityKind - jitEntryType::CUpti_ActivityJitEntryType - jitOperationType::CUpti_ActivityJitOperationType - deviceId::UInt32 - start::UInt64 - _end::UInt64 - correlationId::UInt32 - padding::UInt32 - jitOperationCorrelationId::UInt64 - cacheSize::UInt64 - cachePath::Cstring - processId::UInt32 - threadId::UInt32 + data::NTuple{72,UInt8} +end + +function Base.getproperty(x::Ptr{CUpti_ActivityJit2}, f::Symbol) + f === :kind && return Ptr{CUpti_ActivityKind}(x + 0) + f === :jitEntryType && return Ptr{CUpti_ActivityJitEntryType}(x + 4) + f === :jitOperationType && return Ptr{CUpti_ActivityJitOperationType}(x + 8) + f === :deviceId && return Ptr{UInt32}(x + 12) + f === :start && return Ptr{UInt64}(x + 16) + f === :_end && return Ptr{UInt64}(x + 24) + f === :correlationId && return Ptr{UInt32}(x + 32) + f === :padding && return Ptr{UInt32}(x + 36) + f === :jitOperationCorrelationId && return Ptr{UInt64}(x + 40) + f === :cacheSize && return Ptr{UInt64}(x + 48) + f === :cachePath && return Ptr{Cstring}(x + 56) + f === :processId && return Ptr{UInt32}(x + 64) + f === :threadId && return Ptr{UInt32}(x + 68) + return getfield(x, f) +end + +function Base.getproperty(x::CUpti_ActivityJit2, f::Symbol) + r = Ref{CUpti_ActivityJit2}(x) + ptr = Base.unsafe_convert(Ptr{CUpti_ActivityJit2}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +function Base.setproperty!(x::Ptr{CUpti_ActivityJit2}, f::Symbol, v) + return unsafe_store!(getproperty(x, f), v) end struct CUpti_ActivityGraphTrace2 @@ -2479,6 +3330,41 @@ struct CUpti_ActivityGraphTrace2 endContextId::UInt32 end +@cenum CUpti_DeviceGraphLaunchMode::UInt32 begin + CUPTI_DEVICE_GRAPH_LAUNCH_MODE_INVALID = 0 + CUPTI_DEVICE_GRAPH_LAUNCH_MODE_FIRE_AND_FORGET = 1 + CUPTI_DEVICE_GRAPH_LAUNCH_MODE_TAIL = 2 + CUPTI_DEVICE_GRAPH_LAUNCH_MODE_FIRE_AND_FORGET_AS_SIBLING = 3 +end + +struct CUpti_ActivityDeviceGraphTrace + kind::CUpti_ActivityKind + deviceId::UInt32 + start::UInt64 + _end::UInt64 + graphId::UInt32 + launcherGraphId::UInt32 + deviceLaunchMode::UInt32 + contextId::UInt32 + streamId::UInt64 + reserved::Ptr{Cvoid} +end + +struct CUpti_ActivityMemDecompress + kind::CUpti_ActivityKind + deviceId::UInt32 + contextId::UInt32 + streamId::UInt32 + channelID::UInt32 + channelType::CUpti_ChannelType + correlationId::UInt32 + numberOfOperations::UInt32 + sourceBytes::UInt64 + reserved0::Ptr{Cvoid} + start::UInt64 + _end::UInt64 +end + @cenum CUpti_ActivityAttribute::UInt32 begin CUPTI_ACTIVITY_ATTR_DEVICE_BUFFER_SIZE = 0 CUPTI_ACTIVITY_ATTR_DEVICE_BUFFER_SIZE_CDP = 1 @@ -2740,213 +3626,341 @@ end enable::UInt8)::CUptiResult end +@checked function cuptiActivityEnableHWTrace(enable) + initialize_context() + @gcsafe_ccall libcupti.cuptiActivityEnableHWTrace(enable::UInt8)::CUptiResult +end + @checked function cuptiActivityEnableAllocationSource(enable) initialize_context() @gcsafe_ccall libcupti.cuptiActivityEnableAllocationSource(enable::UInt8)::CUptiResult end +@checked function cuptiActivityEnableAllSyncRecords(enable) + initialize_context() + @gcsafe_ccall libcupti.cuptiActivityEnableAllSyncRecords(enable::UInt8)::CUptiResult +end + struct CUpti_ActivityOverhead - kind::CUpti_ActivityKind - overheadKind::CUpti_ActivityOverheadKind - objectKind::CUpti_ActivityObjectKind - objectId::CUpti_ActivityObjectKindId - start::UInt64 - _end::UInt64 + data::NTuple{40,UInt8} +end + +function Base.getproperty(x::Ptr{CUpti_ActivityOverhead}, f::Symbol) + f === :kind && return Ptr{CUpti_ActivityKind}(x + 0) + f === :overheadKind && return Ptr{CUpti_ActivityOverheadKind}(x + 4) + f === :objectKind && return Ptr{CUpti_ActivityObjectKind}(x + 8) + f === :objectId && return Ptr{CUpti_ActivityObjectKindId}(x + 12) + f === :start && return Ptr{UInt64}(x + 24) + f === :_end && return Ptr{UInt64}(x + 32) + return getfield(x, f) +end + +function Base.getproperty(x::CUpti_ActivityOverhead, f::Symbol) + r = Ref{CUpti_ActivityOverhead}(x) + ptr = Base.unsafe_convert(Ptr{CUpti_ActivityOverhead}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +function Base.setproperty!(x::Ptr{CUpti_ActivityOverhead}, f::Symbol, v) + return unsafe_store!(getproperty(x, f), v) +end + +struct CUpti_ActivityOverhead2 + data::NTuple{48,UInt8} +end + +function Base.getproperty(x::Ptr{CUpti_ActivityOverhead2}, f::Symbol) + f === :kind && return Ptr{CUpti_ActivityKind}(x + 0) + f === :overheadKind && return Ptr{CUpti_ActivityOverheadKind}(x + 4) + f === :objectKind && return Ptr{CUpti_ActivityObjectKind}(x + 8) + f === :objectId && return Ptr{CUpti_ActivityObjectKindId}(x + 12) + f === :start && return Ptr{UInt64}(x + 24) + f === :_end && return Ptr{UInt64}(x + 32) + f === :correlationId && return Ptr{UInt32}(x + 40) + f === :reserved0 && return Ptr{UInt32}(x + 44) + return getfield(x, f) +end + +function Base.getproperty(x::CUpti_ActivityOverhead2, f::Symbol) + r = Ref{CUpti_ActivityOverhead2}(x) + ptr = Base.unsafe_convert(Ptr{CUpti_ActivityOverhead2}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +function Base.setproperty!(x::Ptr{CUpti_ActivityOverhead2}, f::Symbol, v) + return unsafe_store!(getproperty(x, f), v) +end + +struct CUpti_ActivityDevice + data::NTuple{120,UInt8} +end + +function Base.getproperty(x::Ptr{CUpti_ActivityDevice}, f::Symbol) + f === :kind && return Ptr{CUpti_ActivityKind}(x + 0) + f === :flags && return Ptr{CUpti_ActivityFlag}(x + 4) + f === :globalMemoryBandwidth && return Ptr{UInt64}(x + 8) + f === :globalMemorySize && return Ptr{UInt64}(x + 16) + f === :constantMemorySize && return Ptr{UInt32}(x + 24) + f === :l2CacheSize && return Ptr{UInt32}(x + 28) + f === :numThreadsPerWarp && return Ptr{UInt32}(x + 32) + f === :coreClockRate && return Ptr{UInt32}(x + 36) + f === :numMemcpyEngines && return Ptr{UInt32}(x + 40) + f === :numMultiprocessors && return Ptr{UInt32}(x + 44) + f === :maxIPC && return Ptr{UInt32}(x + 48) + f === :maxWarpsPerMultiprocessor && return Ptr{UInt32}(x + 52) + f === :maxBlocksPerMultiprocessor && return Ptr{UInt32}(x + 56) + f === :maxRegistersPerBlock && return Ptr{UInt32}(x + 60) + f === :maxSharedMemoryPerBlock && return Ptr{UInt32}(x + 64) + f === :maxThreadsPerBlock && return Ptr{UInt32}(x + 68) + f === :maxBlockDimX && return Ptr{UInt32}(x + 72) + f === :maxBlockDimY && return Ptr{UInt32}(x + 76) + f === :maxBlockDimZ && return Ptr{UInt32}(x + 80) + f === :maxGridDimX && return Ptr{UInt32}(x + 84) + f === :maxGridDimY && return Ptr{UInt32}(x + 88) + f === :maxGridDimZ && return Ptr{UInt32}(x + 92) + f === :computeCapabilityMajor && return Ptr{UInt32}(x + 96) + f === :computeCapabilityMinor && return Ptr{UInt32}(x + 100) + f === :id && return Ptr{UInt32}(x + 104) + f === :pad && return Ptr{UInt32}(x + 108) + f === :name && return Ptr{Cstring}(x + 112) + return getfield(x, f) +end + +function Base.getproperty(x::CUpti_ActivityDevice, f::Symbol) + r = Ref{CUpti_ActivityDevice}(x) + ptr = Base.unsafe_convert(Ptr{CUpti_ActivityDevice}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +function Base.setproperty!(x::Ptr{CUpti_ActivityDevice}, f::Symbol, v) + return unsafe_store!(getproperty(x, f), v) +end + +struct CUpti_ActivityDevice2 + data::NTuple{144,UInt8} +end + +function Base.getproperty(x::Ptr{CUpti_ActivityDevice2}, f::Symbol) + f === :kind && return Ptr{CUpti_ActivityKind}(x + 0) + f === :flags && return Ptr{CUpti_ActivityFlag}(x + 4) + f === :globalMemoryBandwidth && return Ptr{UInt64}(x + 8) + f === :globalMemorySize && return Ptr{UInt64}(x + 16) + f === :constantMemorySize && return Ptr{UInt32}(x + 24) + f === :l2CacheSize && return Ptr{UInt32}(x + 28) + f === :numThreadsPerWarp && return Ptr{UInt32}(x + 32) + f === :coreClockRate && return Ptr{UInt32}(x + 36) + f === :numMemcpyEngines && return Ptr{UInt32}(x + 40) + f === :numMultiprocessors && return Ptr{UInt32}(x + 44) + f === :maxIPC && return Ptr{UInt32}(x + 48) + f === :maxWarpsPerMultiprocessor && return Ptr{UInt32}(x + 52) + f === :maxBlocksPerMultiprocessor && return Ptr{UInt32}(x + 56) + f === :maxSharedMemoryPerMultiprocessor && return Ptr{UInt32}(x + 60) + f === :maxRegistersPerMultiprocessor && return Ptr{UInt32}(x + 64) + f === :maxRegistersPerBlock && return Ptr{UInt32}(x + 68) + f === :maxSharedMemoryPerBlock && return Ptr{UInt32}(x + 72) + f === :maxThreadsPerBlock && return Ptr{UInt32}(x + 76) + f === :maxBlockDimX && return Ptr{UInt32}(x + 80) + f === :maxBlockDimY && return Ptr{UInt32}(x + 84) + f === :maxBlockDimZ && return Ptr{UInt32}(x + 88) + f === :maxGridDimX && return Ptr{UInt32}(x + 92) + f === :maxGridDimY && return Ptr{UInt32}(x + 96) + f === :maxGridDimZ && return Ptr{UInt32}(x + 100) + f === :computeCapabilityMajor && return Ptr{UInt32}(x + 104) + f === :computeCapabilityMinor && return Ptr{UInt32}(x + 108) + f === :id && return Ptr{UInt32}(x + 112) + f === :eccEnabled && return Ptr{UInt32}(x + 116) + f === :uuid && return Ptr{CUuuid}(x + 120) + f === :name && return Ptr{Cstring}(x + 136) + return getfield(x, f) +end + +function Base.getproperty(x::CUpti_ActivityDevice2, f::Symbol) + r = Ref{CUpti_ActivityDevice2}(x) + ptr = Base.unsafe_convert(Ptr{CUpti_ActivityDevice2}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +function Base.setproperty!(x::Ptr{CUpti_ActivityDevice2}, f::Symbol, v) + return unsafe_store!(getproperty(x, f), v) +end + +struct CUpti_ActivityDevice3 + data::NTuple{152,UInt8} +end + +function Base.getproperty(x::Ptr{CUpti_ActivityDevice3}, f::Symbol) + f === :kind && return Ptr{CUpti_ActivityKind}(x + 0) + f === :flags && return Ptr{CUpti_ActivityFlag}(x + 4) + f === :globalMemoryBandwidth && return Ptr{UInt64}(x + 8) + f === :globalMemorySize && return Ptr{UInt64}(x + 16) + f === :constantMemorySize && return Ptr{UInt32}(x + 24) + f === :l2CacheSize && return Ptr{UInt32}(x + 28) + f === :numThreadsPerWarp && return Ptr{UInt32}(x + 32) + f === :coreClockRate && return Ptr{UInt32}(x + 36) + f === :numMemcpyEngines && return Ptr{UInt32}(x + 40) + f === :numMultiprocessors && return Ptr{UInt32}(x + 44) + f === :maxIPC && return Ptr{UInt32}(x + 48) + f === :maxWarpsPerMultiprocessor && return Ptr{UInt32}(x + 52) + f === :maxBlocksPerMultiprocessor && return Ptr{UInt32}(x + 56) + f === :maxSharedMemoryPerMultiprocessor && return Ptr{UInt32}(x + 60) + f === :maxRegistersPerMultiprocessor && return Ptr{UInt32}(x + 64) + f === :maxRegistersPerBlock && return Ptr{UInt32}(x + 68) + f === :maxSharedMemoryPerBlock && return Ptr{UInt32}(x + 72) + f === :maxThreadsPerBlock && return Ptr{UInt32}(x + 76) + f === :maxBlockDimX && return Ptr{UInt32}(x + 80) + f === :maxBlockDimY && return Ptr{UInt32}(x + 84) + f === :maxBlockDimZ && return Ptr{UInt32}(x + 88) + f === :maxGridDimX && return Ptr{UInt32}(x + 92) + f === :maxGridDimY && return Ptr{UInt32}(x + 96) + f === :maxGridDimZ && return Ptr{UInt32}(x + 100) + f === :computeCapabilityMajor && return Ptr{UInt32}(x + 104) + f === :computeCapabilityMinor && return Ptr{UInt32}(x + 108) + f === :id && return Ptr{UInt32}(x + 112) + f === :eccEnabled && return Ptr{UInt32}(x + 116) + f === :uuid && return Ptr{CUuuid}(x + 120) + f === :name && return Ptr{Cstring}(x + 136) + f === :isCudaVisible && return Ptr{UInt8}(x + 144) + f === :reserved && return Ptr{NTuple{7,UInt8}}(x + 145) + return getfield(x, f) +end + +function Base.getproperty(x::CUpti_ActivityDevice3, f::Symbol) + r = Ref{CUpti_ActivityDevice3}(x) + ptr = Base.unsafe_convert(Ptr{CUpti_ActivityDevice3}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +function Base.setproperty!(x::Ptr{CUpti_ActivityDevice3}, f::Symbol, v) + return unsafe_store!(getproperty(x, f), v) +end + +struct CUpti_ActivityDevice4 + data::NTuple{176,UInt8} end -struct CUpti_ActivityOverhead2 - kind::CUpti_ActivityKind - overheadKind::CUpti_ActivityOverheadKind - objectKind::CUpti_ActivityObjectKind - objectId::CUpti_ActivityObjectKindId - start::UInt64 - _end::UInt64 - correlationId::UInt32 - reserved0::UInt32 +function Base.getproperty(x::Ptr{CUpti_ActivityDevice4}, f::Symbol) + f === :kind && return Ptr{CUpti_ActivityKind}(x + 0) + f === :flags && return Ptr{CUpti_ActivityFlag}(x + 4) + f === :globalMemoryBandwidth && return Ptr{UInt64}(x + 8) + f === :globalMemorySize && return Ptr{UInt64}(x + 16) + f === :constantMemorySize && return Ptr{UInt32}(x + 24) + f === :l2CacheSize && return Ptr{UInt32}(x + 28) + f === :numThreadsPerWarp && return Ptr{UInt32}(x + 32) + f === :coreClockRate && return Ptr{UInt32}(x + 36) + f === :numMemcpyEngines && return Ptr{UInt32}(x + 40) + f === :numMultiprocessors && return Ptr{UInt32}(x + 44) + f === :maxIPC && return Ptr{UInt32}(x + 48) + f === :maxWarpsPerMultiprocessor && return Ptr{UInt32}(x + 52) + f === :maxBlocksPerMultiprocessor && return Ptr{UInt32}(x + 56) + f === :maxSharedMemoryPerMultiprocessor && return Ptr{UInt32}(x + 60) + f === :maxRegistersPerMultiprocessor && return Ptr{UInt32}(x + 64) + f === :maxRegistersPerBlock && return Ptr{UInt32}(x + 68) + f === :maxSharedMemoryPerBlock && return Ptr{UInt32}(x + 72) + f === :maxThreadsPerBlock && return Ptr{UInt32}(x + 76) + f === :maxBlockDimX && return Ptr{UInt32}(x + 80) + f === :maxBlockDimY && return Ptr{UInt32}(x + 84) + f === :maxBlockDimZ && return Ptr{UInt32}(x + 88) + f === :maxGridDimX && return Ptr{UInt32}(x + 92) + f === :maxGridDimY && return Ptr{UInt32}(x + 96) + f === :maxGridDimZ && return Ptr{UInt32}(x + 100) + f === :computeCapabilityMajor && return Ptr{UInt32}(x + 104) + f === :computeCapabilityMinor && return Ptr{UInt32}(x + 108) + f === :id && return Ptr{UInt32}(x + 112) + f === :eccEnabled && return Ptr{UInt32}(x + 116) + f === :uuid && return Ptr{CUuuid}(x + 120) + f === :name && return Ptr{Cstring}(x + 136) + f === :isCudaVisible && return Ptr{UInt8}(x + 144) + f === :isMigEnabled && return Ptr{UInt8}(x + 145) + f === :reserved && return Ptr{NTuple{6,UInt8}}(x + 146) + f === :gpuInstanceId && return Ptr{UInt32}(x + 152) + f === :computeInstanceId && return Ptr{UInt32}(x + 156) + f === :migUuid && return Ptr{CUuuid}(x + 160) + return getfield(x, f) end -struct CUpti_ActivityDevice - kind::CUpti_ActivityKind - flags::CUpti_ActivityFlag - globalMemoryBandwidth::UInt64 - globalMemorySize::UInt64 - constantMemorySize::UInt32 - l2CacheSize::UInt32 - numThreadsPerWarp::UInt32 - coreClockRate::UInt32 - numMemcpyEngines::UInt32 - numMultiprocessors::UInt32 - maxIPC::UInt32 - maxWarpsPerMultiprocessor::UInt32 - maxBlocksPerMultiprocessor::UInt32 - maxRegistersPerBlock::UInt32 - maxSharedMemoryPerBlock::UInt32 - maxThreadsPerBlock::UInt32 - maxBlockDimX::UInt32 - maxBlockDimY::UInt32 - maxBlockDimZ::UInt32 - maxGridDimX::UInt32 - maxGridDimY::UInt32 - maxGridDimZ::UInt32 - computeCapabilityMajor::UInt32 - computeCapabilityMinor::UInt32 - id::UInt32 - pad::UInt32 - name::Cstring +function Base.getproperty(x::CUpti_ActivityDevice4, f::Symbol) + r = Ref{CUpti_ActivityDevice4}(x) + ptr = Base.unsafe_convert(Ptr{CUpti_ActivityDevice4}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) end -struct CUpti_ActivityDevice2 - kind::CUpti_ActivityKind - flags::CUpti_ActivityFlag - globalMemoryBandwidth::UInt64 - globalMemorySize::UInt64 - constantMemorySize::UInt32 - l2CacheSize::UInt32 - numThreadsPerWarp::UInt32 - coreClockRate::UInt32 - numMemcpyEngines::UInt32 - numMultiprocessors::UInt32 - maxIPC::UInt32 - maxWarpsPerMultiprocessor::UInt32 - maxBlocksPerMultiprocessor::UInt32 - maxSharedMemoryPerMultiprocessor::UInt32 - maxRegistersPerMultiprocessor::UInt32 - maxRegistersPerBlock::UInt32 - maxSharedMemoryPerBlock::UInt32 - maxThreadsPerBlock::UInt32 - maxBlockDimX::UInt32 - maxBlockDimY::UInt32 - maxBlockDimZ::UInt32 - maxGridDimX::UInt32 - maxGridDimY::UInt32 - maxGridDimZ::UInt32 - computeCapabilityMajor::UInt32 - computeCapabilityMinor::UInt32 - id::UInt32 - eccEnabled::UInt32 - uuid::CUuuid - name::Cstring +function Base.setproperty!(x::Ptr{CUpti_ActivityDevice4}, f::Symbol, v) + return unsafe_store!(getproperty(x, f), v) end -struct CUpti_ActivityDevice3 - kind::CUpti_ActivityKind - flags::CUpti_ActivityFlag - globalMemoryBandwidth::UInt64 - globalMemorySize::UInt64 - constantMemorySize::UInt32 - l2CacheSize::UInt32 - numThreadsPerWarp::UInt32 - coreClockRate::UInt32 - numMemcpyEngines::UInt32 - numMultiprocessors::UInt32 - maxIPC::UInt32 - maxWarpsPerMultiprocessor::UInt32 - maxBlocksPerMultiprocessor::UInt32 - maxSharedMemoryPerMultiprocessor::UInt32 - maxRegistersPerMultiprocessor::UInt32 - maxRegistersPerBlock::UInt32 - maxSharedMemoryPerBlock::UInt32 - maxThreadsPerBlock::UInt32 - maxBlockDimX::UInt32 - maxBlockDimY::UInt32 - maxBlockDimZ::UInt32 - maxGridDimX::UInt32 - maxGridDimY::UInt32 - maxGridDimZ::UInt32 - computeCapabilityMajor::UInt32 - computeCapabilityMinor::UInt32 - id::UInt32 - eccEnabled::UInt32 - uuid::CUuuid - name::Cstring - isCudaVisible::UInt8 - reserved::NTuple{7,UInt8} +struct CUpti_ActivityKernel + data::NTuple{104,UInt8} end -struct CUpti_ActivityDevice4 - kind::CUpti_ActivityKind - flags::CUpti_ActivityFlag - globalMemoryBandwidth::UInt64 - globalMemorySize::UInt64 - constantMemorySize::UInt32 - l2CacheSize::UInt32 - numThreadsPerWarp::UInt32 - coreClockRate::UInt32 - numMemcpyEngines::UInt32 - numMultiprocessors::UInt32 - maxIPC::UInt32 - maxWarpsPerMultiprocessor::UInt32 - maxBlocksPerMultiprocessor::UInt32 - maxSharedMemoryPerMultiprocessor::UInt32 - maxRegistersPerMultiprocessor::UInt32 - maxRegistersPerBlock::UInt32 - maxSharedMemoryPerBlock::UInt32 - maxThreadsPerBlock::UInt32 - maxBlockDimX::UInt32 - maxBlockDimY::UInt32 - maxBlockDimZ::UInt32 - maxGridDimX::UInt32 - maxGridDimY::UInt32 - maxGridDimZ::UInt32 - computeCapabilityMajor::UInt32 - computeCapabilityMinor::UInt32 - id::UInt32 - eccEnabled::UInt32 - uuid::CUuuid - name::Cstring - isCudaVisible::UInt8 - isMigEnabled::UInt8 - reserved::NTuple{6,UInt8} - gpuInstanceId::UInt32 - computeInstanceId::UInt32 - migUuid::CUuuid +function Base.getproperty(x::Ptr{CUpti_ActivityKernel}, f::Symbol) + f === :kind && return Ptr{CUpti_ActivityKind}(x + 0) + f === :cacheConfigRequested && return Ptr{UInt8}(x + 4) + f === :cacheConfigExecuted && return Ptr{UInt8}(x + 5) + f === :registersPerThread && return Ptr{UInt16}(x + 6) + f === :start && return Ptr{UInt64}(x + 8) + f === :_end && return Ptr{UInt64}(x + 16) + f === :deviceId && return Ptr{UInt32}(x + 24) + f === :contextId && return Ptr{UInt32}(x + 28) + f === :streamId && return Ptr{UInt32}(x + 32) + f === :gridX && return Ptr{Int32}(x + 36) + f === :gridY && return Ptr{Int32}(x + 40) + f === :gridZ && return Ptr{Int32}(x + 44) + f === :blockX && return Ptr{Int32}(x + 48) + f === :blockY && return Ptr{Int32}(x + 52) + f === :blockZ && return Ptr{Int32}(x + 56) + f === :staticSharedMemory && return Ptr{Int32}(x + 60) + f === :dynamicSharedMemory && return Ptr{Int32}(x + 64) + f === :localMemoryPerThread && return Ptr{UInt32}(x + 68) + f === :localMemoryTotal && return Ptr{UInt32}(x + 72) + f === :correlationId && return Ptr{UInt32}(x + 76) + f === :runtimeCorrelationId && return Ptr{UInt32}(x + 80) + f === :pad && return Ptr{UInt32}(x + 84) + f === :name && return Ptr{Cstring}(x + 88) + f === :reserved0 && return Ptr{Ptr{Cvoid}}(x + 96) + return getfield(x, f) end -struct CUpti_ActivityKernel - kind::CUpti_ActivityKind - cacheConfigRequested::UInt8 - cacheConfigExecuted::UInt8 - registersPerThread::UInt16 - start::UInt64 - _end::UInt64 - deviceId::UInt32 - contextId::UInt32 - streamId::UInt32 - gridX::Int32 - gridY::Int32 - gridZ::Int32 - blockX::Int32 - blockY::Int32 - blockZ::Int32 - staticSharedMemory::Int32 - dynamicSharedMemory::Int32 - localMemoryPerThread::UInt32 - localMemoryTotal::UInt32 - correlationId::UInt32 - runtimeCorrelationId::UInt32 - pad::UInt32 - name::Cstring - reserved0::Ptr{Cvoid} +function Base.getproperty(x::CUpti_ActivityKernel, f::Symbol) + r = Ref{CUpti_ActivityKernel}(x) + ptr = Base.unsafe_convert(Ptr{CUpti_ActivityKernel}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) end -struct var"##Ctag#580" +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/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:1092:3)" data::NTuple{1,UInt8} end -function Base.getproperty(x::Ptr{var"##Ctag#580"}, f::Symbol) +function Base.getproperty(x::Ptr{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:1092:3)"}, + f::Symbol) f === :both && return Ptr{UInt8}(x + 0) - f === :config && return Ptr{var"##Ctag#581"}(x + 0) + f === :config && + return Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:1094:5)"}(x + + 0) return getfield(x, f) end -function Base.getproperty(x::var"##Ctag#580", f::Symbol) - r = Ref{var"##Ctag#580"}(x) - ptr = Base.unsafe_convert(Ptr{var"##Ctag#580"}, r) +function Base.getproperty(x::var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:1092:3)", + f::Symbol) + r = Ref{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:1092:3)"}(x) + ptr = Base.unsafe_convert(Ptr{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:1092:3)"}, + r) fptr = getproperty(ptr, f) GC.@preserve r unsafe_load(fptr) end -function Base.setproperty!(x::Ptr{var"##Ctag#580"}, f::Symbol, v) +function Base.setproperty!(x::Ptr{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:1092:3)"}, + f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end @@ -2956,7 +3970,9 @@ end function Base.getproperty(x::Ptr{CUpti_ActivityKernel2}, f::Symbol) f === :kind && return Ptr{CUpti_ActivityKind}(x + 0) - f === :cacheConfig && return Ptr{var"##Ctag#580"}(x + 4) + f === :cacheConfig && + return Ptr{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:1092:3)"}(x + + 4) f === :sharedMemoryConfig && return Ptr{UInt8}(x + 5) f === :registersPerThread && return Ptr{UInt16}(x + 6) f === :start && return Ptr{UInt64}(x + 8) @@ -2993,24 +4009,30 @@ function Base.setproperty!(x::Ptr{CUpti_ActivityKernel2}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end -struct var"##Ctag#644" +struct var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:1253:3)" data::NTuple{1,UInt8} end -function Base.getproperty(x::Ptr{var"##Ctag#644"}, f::Symbol) +function Base.getproperty(x::Ptr{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:1253:3)"}, + f::Symbol) f === :both && return Ptr{UInt8}(x + 0) - f === :config && return Ptr{var"##Ctag#645"}(x + 0) + f === :config && + return Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:1255:5)"}(x + + 0) return getfield(x, f) end -function Base.getproperty(x::var"##Ctag#644", f::Symbol) - r = Ref{var"##Ctag#644"}(x) - ptr = Base.unsafe_convert(Ptr{var"##Ctag#644"}, r) +function Base.getproperty(x::var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:1253:3)", + f::Symbol) + r = Ref{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:1253:3)"}(x) + ptr = Base.unsafe_convert(Ptr{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:1253:3)"}, + r) fptr = getproperty(ptr, f) GC.@preserve r unsafe_load(fptr) end -function Base.setproperty!(x::Ptr{var"##Ctag#644"}, f::Symbol, v) +function Base.setproperty!(x::Ptr{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:1253:3)"}, + f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end @@ -3020,7 +4042,9 @@ end function Base.getproperty(x::Ptr{CUpti_ActivityKernel3}, f::Symbol) f === :kind && return Ptr{CUpti_ActivityKind}(x + 0) - f === :cacheConfig && return Ptr{var"##Ctag#644"}(x + 4) + f === :cacheConfig && + return Ptr{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:1253:3)"}(x + + 4) f === :sharedMemoryConfig && return Ptr{UInt8}(x + 5) f === :registersPerThread && return Ptr{UInt16}(x + 6) f === :partitionedGlobalCacheRequested && @@ -3061,24 +4085,30 @@ function Base.setproperty!(x::Ptr{CUpti_ActivityKernel3}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end -struct var"##Ctag#656" +struct var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:1434:3)" data::NTuple{1,UInt8} end -function Base.getproperty(x::Ptr{var"##Ctag#656"}, f::Symbol) +function Base.getproperty(x::Ptr{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:1434:3)"}, + f::Symbol) f === :both && return Ptr{UInt8}(x + 0) - f === :config && return Ptr{var"##Ctag#657"}(x + 0) + f === :config && + return Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:1436:5)"}(x + + 0) return getfield(x, f) end -function Base.getproperty(x::var"##Ctag#656", f::Symbol) - r = Ref{var"##Ctag#656"}(x) - ptr = Base.unsafe_convert(Ptr{var"##Ctag#656"}, r) +function Base.getproperty(x::var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:1434:3)", + f::Symbol) + r = Ref{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:1434:3)"}(x) + ptr = Base.unsafe_convert(Ptr{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:1434:3)"}, + r) fptr = getproperty(ptr, f) GC.@preserve r unsafe_load(fptr) end -function Base.setproperty!(x::Ptr{var"##Ctag#656"}, f::Symbol, v) +function Base.setproperty!(x::Ptr{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:1434:3)"}, + f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end @@ -3088,7 +4118,9 @@ end function Base.getproperty(x::Ptr{CUpti_ActivityKernel4}, f::Symbol) f === :kind && return Ptr{CUpti_ActivityKind}(x + 0) - f === :cacheConfig && return Ptr{var"##Ctag#656"}(x + 4) + f === :cacheConfig && + return Ptr{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:1434:3)"}(x + + 4) f === :sharedMemoryConfig && return Ptr{UInt8}(x + 5) f === :registersPerThread && return Ptr{UInt16}(x + 6) f === :partitionedGlobalCacheRequested && @@ -3136,24 +4168,30 @@ function Base.setproperty!(x::Ptr{CUpti_ActivityKernel4}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end -struct var"##Ctag#658" +struct var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:1667:3)" data::NTuple{1,UInt8} end -function Base.getproperty(x::Ptr{var"##Ctag#658"}, f::Symbol) +function Base.getproperty(x::Ptr{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:1667:3)"}, + f::Symbol) f === :both && return Ptr{UInt8}(x + 0) - f === :config && return Ptr{var"##Ctag#659"}(x + 0) + f === :config && + return Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:1669:5)"}(x + + 0) return getfield(x, f) end -function Base.getproperty(x::var"##Ctag#658", f::Symbol) - r = Ref{var"##Ctag#658"}(x) - ptr = Base.unsafe_convert(Ptr{var"##Ctag#658"}, r) +function Base.getproperty(x::var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:1667:3)", + f::Symbol) + r = Ref{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:1667:3)"}(x) + ptr = Base.unsafe_convert(Ptr{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:1667:3)"}, + r) fptr = getproperty(ptr, f) GC.@preserve r unsafe_load(fptr) end -function Base.setproperty!(x::Ptr{var"##Ctag#658"}, f::Symbol, v) +function Base.setproperty!(x::Ptr{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:1667:3)"}, + f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end @@ -3163,7 +4201,9 @@ end function Base.getproperty(x::Ptr{CUpti_ActivityKernel5}, f::Symbol) f === :kind && return Ptr{CUpti_ActivityKind}(x + 0) - f === :cacheConfig && return Ptr{var"##Ctag#658"}(x + 4) + f === :cacheConfig && + return Ptr{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:1667:3)"}(x + + 4) f === :sharedMemoryConfig && return Ptr{UInt8}(x + 5) f === :registersPerThread && return Ptr{UInt16}(x + 6) f === :partitionedGlobalCacheRequested && @@ -3214,24 +4254,30 @@ function Base.setproperty!(x::Ptr{CUpti_ActivityKernel5}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end -struct var"##Ctag#601" +struct var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:1918:3)" data::NTuple{1,UInt8} end -function Base.getproperty(x::Ptr{var"##Ctag#601"}, f::Symbol) +function Base.getproperty(x::Ptr{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:1918:3)"}, + f::Symbol) f === :both && return Ptr{UInt8}(x + 0) - f === :config && return Ptr{var"##Ctag#602"}(x + 0) + f === :config && + return Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:1920:5)"}(x + + 0) return getfield(x, f) end -function Base.getproperty(x::var"##Ctag#601", f::Symbol) - r = Ref{var"##Ctag#601"}(x) - ptr = Base.unsafe_convert(Ptr{var"##Ctag#601"}, r) +function Base.getproperty(x::var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:1918:3)", + f::Symbol) + r = Ref{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:1918:3)"}(x) + ptr = Base.unsafe_convert(Ptr{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:1918:3)"}, + r) fptr = getproperty(ptr, f) GC.@preserve r unsafe_load(fptr) end -function Base.setproperty!(x::Ptr{var"##Ctag#601"}, f::Symbol, v) +function Base.setproperty!(x::Ptr{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:1918:3)"}, + f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end @@ -3241,7 +4287,9 @@ end function Base.getproperty(x::Ptr{CUpti_ActivityKernel6}, f::Symbol) f === :kind && return Ptr{CUpti_ActivityKind}(x + 0) - f === :cacheConfig && return Ptr{var"##Ctag#601"}(x + 4) + f === :cacheConfig && + return Ptr{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:1918:3)"}(x + + 4) f === :sharedMemoryConfig && return Ptr{UInt8}(x + 5) f === :registersPerThread && return Ptr{UInt16}(x + 6) f === :partitionedGlobalCacheRequested && @@ -3293,24 +4341,30 @@ function Base.setproperty!(x::Ptr{CUpti_ActivityKernel6}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end -struct var"##Ctag#660" +struct var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:2175:3)" data::NTuple{1,UInt8} end -function Base.getproperty(x::Ptr{var"##Ctag#660"}, f::Symbol) +function Base.getproperty(x::Ptr{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:2175:3)"}, + f::Symbol) f === :both && return Ptr{UInt8}(x + 0) - f === :config && return Ptr{var"##Ctag#661"}(x + 0) + f === :config && + return Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:2177:5)"}(x + + 0) return getfield(x, f) end -function Base.getproperty(x::var"##Ctag#660", f::Symbol) - r = Ref{var"##Ctag#660"}(x) - ptr = Base.unsafe_convert(Ptr{var"##Ctag#660"}, r) +function Base.getproperty(x::var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:2175:3)", + f::Symbol) + r = Ref{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:2175:3)"}(x) + ptr = Base.unsafe_convert(Ptr{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:2175:3)"}, + r) fptr = getproperty(ptr, f) GC.@preserve r unsafe_load(fptr) end -function Base.setproperty!(x::Ptr{var"##Ctag#660"}, f::Symbol, v) +function Base.setproperty!(x::Ptr{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:2175:3)"}, + f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end @@ -3320,7 +4374,9 @@ end function Base.getproperty(x::Ptr{CUpti_ActivityKernel7}, f::Symbol) f === :kind && return Ptr{CUpti_ActivityKind}(x + 0) - f === :cacheConfig && return Ptr{var"##Ctag#660"}(x + 4) + f === :cacheConfig && + return Ptr{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:2175:3)"}(x + + 4) f === :sharedMemoryConfig && return Ptr{UInt8}(x + 5) f === :registersPerThread && return Ptr{UInt16}(x + 6) f === :partitionedGlobalCacheRequested && @@ -3374,24 +4430,30 @@ function Base.setproperty!(x::Ptr{CUpti_ActivityKernel7}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end -struct var"##Ctag#649" +struct var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:2440:3)" data::NTuple{1,UInt8} end -function Base.getproperty(x::Ptr{var"##Ctag#649"}, f::Symbol) +function Base.getproperty(x::Ptr{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:2440:3)"}, + f::Symbol) f === :both && return Ptr{UInt8}(x + 0) - f === :config && return Ptr{var"##Ctag#650"}(x + 0) + f === :config && + return Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:2442:5)"}(x + + 0) return getfield(x, f) end -function Base.getproperty(x::var"##Ctag#649", f::Symbol) - r = Ref{var"##Ctag#649"}(x) - ptr = Base.unsafe_convert(Ptr{var"##Ctag#649"}, r) +function Base.getproperty(x::var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:2440:3)", + f::Symbol) + r = Ref{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:2440:3)"}(x) + ptr = Base.unsafe_convert(Ptr{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:2440:3)"}, + r) fptr = getproperty(ptr, f) GC.@preserve r unsafe_load(fptr) end -function Base.setproperty!(x::Ptr{var"##Ctag#649"}, f::Symbol, v) +function Base.setproperty!(x::Ptr{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:2440:3)"}, + f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end @@ -3401,7 +4463,9 @@ end function Base.getproperty(x::Ptr{CUpti_ActivityKernel8}, f::Symbol) f === :kind && return Ptr{CUpti_ActivityKind}(x + 0) - f === :cacheConfig && return Ptr{var"##Ctag#649"}(x + 4) + f === :cacheConfig && + return Ptr{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:2440:3)"}(x + + 4) f === :sharedMemoryConfig && return Ptr{UInt8}(x + 5) f === :registersPerThread && return Ptr{UInt16}(x + 6) f === :partitionedGlobalCacheRequested && @@ -3461,223 +4525,377 @@ function Base.setproperty!(x::Ptr{CUpti_ActivityKernel8}, f::Symbol, v) end struct CUpti_ActivityMemcpy - kind::CUpti_ActivityKind - copyKind::UInt8 - srcKind::UInt8 - dstKind::UInt8 - flags::UInt8 - bytes::UInt64 - start::UInt64 - _end::UInt64 - deviceId::UInt32 - contextId::UInt32 - streamId::UInt32 - correlationId::UInt32 - runtimeCorrelationId::UInt32 - pad::UInt32 - reserved0::Ptr{Cvoid} + 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 struct CUpti_ActivityMemcpy3 - kind::CUpti_ActivityKind - copyKind::UInt8 - srcKind::UInt8 - dstKind::UInt8 - flags::UInt8 - bytes::UInt64 - start::UInt64 - _end::UInt64 - deviceId::UInt32 - contextId::UInt32 - streamId::UInt32 - correlationId::UInt32 - runtimeCorrelationId::UInt32 - pad::UInt32 - reserved0::Ptr{Cvoid} - graphNodeId::UInt64 + 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) + 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) + f === :graphNodeId && return Ptr{UInt64}(x + 64) + return getfield(x, f) +end + +function Base.getproperty(x::CUpti_ActivityMemcpy3, f::Symbol) + r = Ref{CUpti_ActivityMemcpy3}(x) + ptr = Base.unsafe_convert(Ptr{CUpti_ActivityMemcpy3}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +function Base.setproperty!(x::Ptr{CUpti_ActivityMemcpy3}, f::Symbol, v) + return unsafe_store!(getproperty(x, f), v) end struct CUpti_ActivityMemcpy4 - kind::CUpti_ActivityKind - copyKind::UInt8 - srcKind::UInt8 - dstKind::UInt8 - flags::UInt8 - bytes::UInt64 - start::UInt64 - _end::UInt64 - deviceId::UInt32 - contextId::UInt32 - streamId::UInt32 - correlationId::UInt32 - runtimeCorrelationId::UInt32 - pad::UInt32 - reserved0::Ptr{Cvoid} - graphNodeId::UInt64 - graphId::UInt32 - padding::UInt32 + data::NTuple{80,UInt8} +end + +function Base.getproperty(x::Ptr{CUpti_ActivityMemcpy4}, 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) + f === :graphNodeId && return Ptr{UInt64}(x + 64) + f === :graphId && return Ptr{UInt32}(x + 72) + f === :padding && return Ptr{UInt32}(x + 76) + return getfield(x, f) +end + +function Base.getproperty(x::CUpti_ActivityMemcpy4, f::Symbol) + r = Ref{CUpti_ActivityMemcpy4}(x) + ptr = Base.unsafe_convert(Ptr{CUpti_ActivityMemcpy4}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +function Base.setproperty!(x::Ptr{CUpti_ActivityMemcpy4}, f::Symbol, v) + return unsafe_store!(getproperty(x, f), v) end struct CUpti_ActivityMemcpyPtoP - kind::CUpti_ActivityKind - copyKind::UInt8 - srcKind::UInt8 - dstKind::UInt8 - flags::UInt8 - bytes::UInt64 - start::UInt64 - _end::UInt64 - deviceId::UInt32 - contextId::UInt32 - streamId::UInt32 - srcDeviceId::UInt32 - srcContextId::UInt32 - dstDeviceId::UInt32 - dstContextId::UInt32 - correlationId::UInt32 - reserved0::Ptr{Cvoid} + data::NTuple{72,UInt8} +end + +function Base.getproperty(x::Ptr{CUpti_ActivityMemcpyPtoP}, 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 === :srcDeviceId && return Ptr{UInt32}(x + 44) + f === :srcContextId && return Ptr{UInt32}(x + 48) + f === :dstDeviceId && return Ptr{UInt32}(x + 52) + f === :dstContextId && return Ptr{UInt32}(x + 56) + f === :correlationId && return Ptr{UInt32}(x + 60) + f === :reserved0 && return Ptr{Ptr{Cvoid}}(x + 64) + return getfield(x, f) +end + +function Base.getproperty(x::CUpti_ActivityMemcpyPtoP, f::Symbol) + r = Ref{CUpti_ActivityMemcpyPtoP}(x) + ptr = Base.unsafe_convert(Ptr{CUpti_ActivityMemcpyPtoP}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +function Base.setproperty!(x::Ptr{CUpti_ActivityMemcpyPtoP}, f::Symbol, v) + return unsafe_store!(getproperty(x, f), v) end const CUpti_ActivityMemcpy2 = CUpti_ActivityMemcpyPtoP struct CUpti_ActivityMemcpyPtoP2 - kind::CUpti_ActivityKind - copyKind::UInt8 - srcKind::UInt8 - dstKind::UInt8 - flags::UInt8 - bytes::UInt64 - start::UInt64 - _end::UInt64 - deviceId::UInt32 - contextId::UInt32 - streamId::UInt32 - srcDeviceId::UInt32 - srcContextId::UInt32 - dstDeviceId::UInt32 - dstContextId::UInt32 - correlationId::UInt32 - reserved0::Ptr{Cvoid} - graphNodeId::UInt64 + data::NTuple{80,UInt8} +end + +function Base.getproperty(x::Ptr{CUpti_ActivityMemcpyPtoP2}, 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 === :srcDeviceId && return Ptr{UInt32}(x + 44) + f === :srcContextId && return Ptr{UInt32}(x + 48) + f === :dstDeviceId && return Ptr{UInt32}(x + 52) + f === :dstContextId && return Ptr{UInt32}(x + 56) + f === :correlationId && return Ptr{UInt32}(x + 60) + f === :reserved0 && return Ptr{Ptr{Cvoid}}(x + 64) + f === :graphNodeId && return Ptr{UInt64}(x + 72) + return getfield(x, f) +end + +function Base.getproperty(x::CUpti_ActivityMemcpyPtoP2, f::Symbol) + r = Ref{CUpti_ActivityMemcpyPtoP2}(x) + ptr = Base.unsafe_convert(Ptr{CUpti_ActivityMemcpyPtoP2}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +function Base.setproperty!(x::Ptr{CUpti_ActivityMemcpyPtoP2}, f::Symbol, v) + return unsafe_store!(getproperty(x, f), v) end struct CUpti_ActivityMemcpyPtoP3 - kind::CUpti_ActivityKind - copyKind::UInt8 - srcKind::UInt8 - dstKind::UInt8 - flags::UInt8 - bytes::UInt64 - start::UInt64 - _end::UInt64 - deviceId::UInt32 - contextId::UInt32 - streamId::UInt32 - srcDeviceId::UInt32 - srcContextId::UInt32 - dstDeviceId::UInt32 - dstContextId::UInt32 - correlationId::UInt32 - reserved0::Ptr{Cvoid} - graphNodeId::UInt64 - graphId::UInt32 - padding::UInt32 + data::NTuple{88,UInt8} +end + +function Base.getproperty(x::Ptr{CUpti_ActivityMemcpyPtoP3}, 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 === :srcDeviceId && return Ptr{UInt32}(x + 44) + f === :srcContextId && return Ptr{UInt32}(x + 48) + f === :dstDeviceId && return Ptr{UInt32}(x + 52) + f === :dstContextId && return Ptr{UInt32}(x + 56) + f === :correlationId && return Ptr{UInt32}(x + 60) + f === :reserved0 && return Ptr{Ptr{Cvoid}}(x + 64) + f === :graphNodeId && return Ptr{UInt64}(x + 72) + f === :graphId && return Ptr{UInt32}(x + 80) + f === :padding && return Ptr{UInt32}(x + 84) + return getfield(x, f) +end + +function Base.getproperty(x::CUpti_ActivityMemcpyPtoP3, f::Symbol) + r = Ref{CUpti_ActivityMemcpyPtoP3}(x) + ptr = Base.unsafe_convert(Ptr{CUpti_ActivityMemcpyPtoP3}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +function Base.setproperty!(x::Ptr{CUpti_ActivityMemcpyPtoP3}, f::Symbol, v) + return unsafe_store!(getproperty(x, f), v) end struct CUpti_ActivityMemset - kind::CUpti_ActivityKind - value::UInt32 - bytes::UInt64 - start::UInt64 - _end::UInt64 - deviceId::UInt32 - contextId::UInt32 - streamId::UInt32 - correlationId::UInt32 - flags::UInt16 - memoryKind::UInt16 - pad::UInt32 - reserved0::Ptr{Cvoid} + data::NTuple{64,UInt8} +end + +function Base.getproperty(x::Ptr{CUpti_ActivityMemset}, f::Symbol) + f === :kind && return Ptr{CUpti_ActivityKind}(x + 0) + f === :value && return Ptr{UInt32}(x + 4) + 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 === :flags && return Ptr{UInt16}(x + 48) + f === :memoryKind && return Ptr{UInt16}(x + 50) + 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_ActivityMemset, f::Symbol) + r = Ref{CUpti_ActivityMemset}(x) + ptr = Base.unsafe_convert(Ptr{CUpti_ActivityMemset}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +function Base.setproperty!(x::Ptr{CUpti_ActivityMemset}, f::Symbol, v) + return unsafe_store!(getproperty(x, f), v) +end + +struct CUpti_ActivityMemset2 + data::NTuple{72,UInt8} +end + +function Base.getproperty(x::Ptr{CUpti_ActivityMemset2}, f::Symbol) + f === :kind && return Ptr{CUpti_ActivityKind}(x + 0) + f === :value && return Ptr{UInt32}(x + 4) + 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 === :flags && return Ptr{UInt16}(x + 48) + f === :memoryKind && return Ptr{UInt16}(x + 50) + f === :pad && return Ptr{UInt32}(x + 52) + f === :reserved0 && return Ptr{Ptr{Cvoid}}(x + 56) + f === :graphNodeId && return Ptr{UInt64}(x + 64) + return getfield(x, f) +end + +function Base.getproperty(x::CUpti_ActivityMemset2, f::Symbol) + r = Ref{CUpti_ActivityMemset2}(x) + ptr = Base.unsafe_convert(Ptr{CUpti_ActivityMemset2}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +function Base.setproperty!(x::Ptr{CUpti_ActivityMemset2}, f::Symbol, v) + return unsafe_store!(getproperty(x, f), v) +end + +struct CUpti_ActivityMemset3 + data::NTuple{80,UInt8} +end + +function Base.getproperty(x::Ptr{CUpti_ActivityMemset3}, f::Symbol) + f === :kind && return Ptr{CUpti_ActivityKind}(x + 0) + f === :value && return Ptr{UInt32}(x + 4) + 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 === :flags && return Ptr{UInt16}(x + 48) + f === :memoryKind && return Ptr{UInt16}(x + 50) + f === :pad && return Ptr{UInt32}(x + 52) + f === :reserved0 && return Ptr{Ptr{Cvoid}}(x + 56) + f === :graphNodeId && return Ptr{UInt64}(x + 64) + f === :graphId && return Ptr{UInt32}(x + 72) + f === :padding && return Ptr{UInt32}(x + 76) + return getfield(x, f) end -struct CUpti_ActivityMemset2 - kind::CUpti_ActivityKind - value::UInt32 - bytes::UInt64 - start::UInt64 - _end::UInt64 - deviceId::UInt32 - contextId::UInt32 - streamId::UInt32 - correlationId::UInt32 - flags::UInt16 - memoryKind::UInt16 - pad::UInt32 - reserved0::Ptr{Cvoid} - graphNodeId::UInt64 +function Base.getproperty(x::CUpti_ActivityMemset3, f::Symbol) + r = Ref{CUpti_ActivityMemset3}(x) + ptr = Base.unsafe_convert(Ptr{CUpti_ActivityMemset3}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) end -struct CUpti_ActivityMemset3 - kind::CUpti_ActivityKind - value::UInt32 - bytes::UInt64 - start::UInt64 - _end::UInt64 - deviceId::UInt32 - contextId::UInt32 - streamId::UInt32 - correlationId::UInt32 - flags::UInt16 - memoryKind::UInt16 - pad::UInt32 - reserved0::Ptr{Cvoid} - graphNodeId::UInt64 - graphId::UInt32 - padding::UInt32 +function Base.setproperty!(x::Ptr{CUpti_ActivityMemset3}, f::Symbol, v) + return unsafe_store!(getproperty(x, f), v) end -struct var"##Ctag#685" +struct var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:3795:4)" data::NTuple{8,UInt8} end -function Base.getproperty(x::Ptr{var"##Ctag#685"}, f::Symbol) +function Base.getproperty(x::Ptr{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:3795:4)"}, + 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"##Ctag#685", f::Symbol) - r = Ref{var"##Ctag#685"}(x) - ptr = Base.unsafe_convert(Ptr{var"##Ctag#685"}, r) +function Base.getproperty(x::var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:3795:4)", + f::Symbol) + r = Ref{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:3795:4)"}(x) + ptr = Base.unsafe_convert(Ptr{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:3795:4)"}, + r) fptr = getproperty(ptr, f) GC.@preserve r unsafe_load(fptr) end -function Base.setproperty!(x::Ptr{var"##Ctag#685"}, f::Symbol, v) +function Base.setproperty!(x::Ptr{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:3795:4)"}, + f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end -struct var"##Ctag#684" +struct var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:3764:3)" data::NTuple{32,UInt8} end -function Base.getproperty(x::Ptr{var"##Ctag#684"}, f::Symbol) +function Base.getproperty(x::Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:3764:3)"}, + 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"##Ctag#685"}(x + 24) + f === :pool && + return Ptr{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:3795:4)"}(x + + 24) return getfield(x, f) end -function Base.getproperty(x::var"##Ctag#684", f::Symbol) - r = Ref{var"##Ctag#684"}(x) - ptr = Base.unsafe_convert(Ptr{var"##Ctag#684"}, r) +function Base.getproperty(x::var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:3764:3)", + f::Symbol) + r = Ref{var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:3764:3)"}(x) + ptr = Base.unsafe_convert(Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:3764:3)"}, + r) fptr = getproperty(ptr, f) GC.@preserve r unsafe_load(fptr) end -function Base.setproperty!(x::Ptr{var"##Ctag#684"}, f::Symbol, v) +function Base.setproperty!(x::Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:3764:3)"}, + f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end @@ -3701,7 +4919,9 @@ 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{Cvoid}(x + 80) + f === :memoryPoolConfig && + return Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:3764:3)"}(x + + 80) return getfield(x, f) end @@ -3716,49 +4936,59 @@ function Base.setproperty!(x::Ptr{CUpti_ActivityMemory2}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end -struct var"##Ctag#647" +struct var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:3936:5)" data::NTuple{8,UInt8} end -function Base.getproperty(x::Ptr{var"##Ctag#647"}, f::Symbol) +function Base.getproperty(x::Ptr{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:3936:5)"}, + 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"##Ctag#647", f::Symbol) - r = Ref{var"##Ctag#647"}(x) - ptr = Base.unsafe_convert(Ptr{var"##Ctag#647"}, r) +function Base.getproperty(x::var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:3936:5)", + f::Symbol) + r = Ref{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:3936:5)"}(x) + ptr = Base.unsafe_convert(Ptr{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:3936:5)"}, + r) fptr = getproperty(ptr, f) GC.@preserve r unsafe_load(fptr) end -function Base.setproperty!(x::Ptr{var"##Ctag#647"}, f::Symbol, v) +function Base.setproperty!(x::Ptr{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:3936:5)"}, + f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end -struct var"##Ctag#646" +struct var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:3905:3)" data::NTuple{40,UInt8} end -function Base.getproperty(x::Ptr{var"##Ctag#646"}, f::Symbol) +function Base.getproperty(x::Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:3905:3)"}, + 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"##Ctag#647"}(x + 24) + f === :pool && + return Ptr{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:3936:5)"}(x + + 24) f === :utilizedSize && return Ptr{UInt64}(x + 32) return getfield(x, f) end -function Base.getproperty(x::var"##Ctag#646", f::Symbol) - r = Ref{var"##Ctag#646"}(x) - ptr = Base.unsafe_convert(Ptr{var"##Ctag#646"}, r) +function Base.getproperty(x::var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:3905:3)", + f::Symbol) + r = Ref{var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:3905:3)"}(x) + ptr = Base.unsafe_convert(Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:3905:3)"}, + r) fptr = getproperty(ptr, f) GC.@preserve r unsafe_load(fptr) end -function Base.setproperty!(x::Ptr{var"##Ctag#646"}, f::Symbol, v) +function Base.setproperty!(x::Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:3905:3)"}, + f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end @@ -3782,7 +5012,9 @@ 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{Cvoid}(x + 80) + f === :memoryPoolConfig && + return Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:3905:3)"}(x + + 80) return getfield(x, f) end @@ -3798,139 +5030,311 @@ function Base.setproperty!(x::Ptr{CUpti_ActivityMemory3}, f::Symbol, v) end struct CUpti_ActivityMemoryPool - kind::CUpti_ActivityKind - memoryPoolOperationType::CUpti_ActivityMemoryPoolOperationType - memoryPoolType::CUpti_ActivityMemoryPoolType - correlationId::UInt32 - processId::UInt32 - deviceId::UInt32 - minBytesToKeep::Csize_t - address::UInt64 - size::UInt64 - releaseThreshold::UInt64 - timestamp::UInt64 + data::NTuple{64,UInt8} +end + +function Base.getproperty(x::Ptr{CUpti_ActivityMemoryPool}, 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) + return getfield(x, f) +end + +function Base.getproperty(x::CUpti_ActivityMemoryPool, f::Symbol) + r = Ref{CUpti_ActivityMemoryPool}(x) + ptr = Base.unsafe_convert(Ptr{CUpti_ActivityMemoryPool}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +function Base.setproperty!(x::Ptr{CUpti_ActivityMemoryPool}, f::Symbol, v) + return unsafe_store!(getproperty(x, f), v) end struct CUpti_ActivityMarker - kind::CUpti_ActivityKind - flags::CUpti_ActivityFlag - timestamp::UInt64 - id::UInt32 - objectKind::CUpti_ActivityObjectKind - objectId::CUpti_ActivityObjectKindId - pad::UInt32 - name::Cstring + data::NTuple{48,UInt8} +end + +function Base.getproperty(x::Ptr{CUpti_ActivityMarker}, f::Symbol) + f === :kind && return Ptr{CUpti_ActivityKind}(x + 0) + f === :flags && return Ptr{CUpti_ActivityFlag}(x + 4) + f === :timestamp && return Ptr{UInt64}(x + 8) + f === :id && return Ptr{UInt32}(x + 16) + f === :objectKind && return Ptr{CUpti_ActivityObjectKind}(x + 20) + f === :objectId && return Ptr{CUpti_ActivityObjectKindId}(x + 24) + f === :pad && return Ptr{UInt32}(x + 36) + f === :name && return Ptr{Cstring}(x + 40) + return getfield(x, f) +end + +function Base.getproperty(x::CUpti_ActivityMarker, f::Symbol) + r = Ref{CUpti_ActivityMarker}(x) + ptr = Base.unsafe_convert(Ptr{CUpti_ActivityMarker}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +function Base.setproperty!(x::Ptr{CUpti_ActivityMarker}, f::Symbol, v) + return unsafe_store!(getproperty(x, f), v) end struct CUpti_ActivityGlobalAccess - kind::CUpti_ActivityKind - flags::CUpti_ActivityFlag - sourceLocatorId::UInt32 - correlationId::UInt32 - pcOffset::UInt32 - executed::UInt32 - threadsExecuted::UInt64 - l2_transactions::UInt64 + data::NTuple{40,UInt8} +end + +function Base.getproperty(x::Ptr{CUpti_ActivityGlobalAccess}, f::Symbol) + f === :kind && return Ptr{CUpti_ActivityKind}(x + 0) + f === :flags && return Ptr{CUpti_ActivityFlag}(x + 4) + f === :sourceLocatorId && return Ptr{UInt32}(x + 8) + f === :correlationId && return Ptr{UInt32}(x + 12) + f === :pcOffset && return Ptr{UInt32}(x + 16) + f === :executed && return Ptr{UInt32}(x + 20) + f === :threadsExecuted && return Ptr{UInt64}(x + 24) + f === :l2_transactions && return Ptr{UInt64}(x + 32) + return getfield(x, f) +end + +function Base.getproperty(x::CUpti_ActivityGlobalAccess, f::Symbol) + r = Ref{CUpti_ActivityGlobalAccess}(x) + ptr = Base.unsafe_convert(Ptr{CUpti_ActivityGlobalAccess}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +function Base.setproperty!(x::Ptr{CUpti_ActivityGlobalAccess}, f::Symbol, v) + return unsafe_store!(getproperty(x, f), v) end struct CUpti_ActivityGlobalAccess2 - kind::CUpti_ActivityKind - flags::CUpti_ActivityFlag - sourceLocatorId::UInt32 - correlationId::UInt32 - functionId::UInt32 - pcOffset::UInt32 - threadsExecuted::UInt64 - l2_transactions::UInt64 - theoreticalL2Transactions::UInt64 - executed::UInt32 - pad::UInt32 + data::NTuple{56,UInt8} +end + +function Base.getproperty(x::Ptr{CUpti_ActivityGlobalAccess2}, f::Symbol) + f === :kind && return Ptr{CUpti_ActivityKind}(x + 0) + f === :flags && return Ptr{CUpti_ActivityFlag}(x + 4) + f === :sourceLocatorId && return Ptr{UInt32}(x + 8) + f === :correlationId && return Ptr{UInt32}(x + 12) + f === :functionId && return Ptr{UInt32}(x + 16) + f === :pcOffset && return Ptr{UInt32}(x + 20) + f === :threadsExecuted && return Ptr{UInt64}(x + 24) + f === :l2_transactions && return Ptr{UInt64}(x + 32) + f === :theoreticalL2Transactions && return Ptr{UInt64}(x + 40) + f === :executed && return Ptr{UInt32}(x + 48) + f === :pad && return Ptr{UInt32}(x + 52) + return getfield(x, f) +end + +function Base.getproperty(x::CUpti_ActivityGlobalAccess2, f::Symbol) + r = Ref{CUpti_ActivityGlobalAccess2}(x) + ptr = Base.unsafe_convert(Ptr{CUpti_ActivityGlobalAccess2}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +function Base.setproperty!(x::Ptr{CUpti_ActivityGlobalAccess2}, f::Symbol, v) + return unsafe_store!(getproperty(x, f), v) end struct CUpti_ActivityBranch - kind::CUpti_ActivityKind - sourceLocatorId::UInt32 - correlationId::UInt32 - pcOffset::UInt32 - executed::UInt32 - diverged::UInt32 - threadsExecuted::UInt64 + data::NTuple{32,UInt8} +end + +function Base.getproperty(x::Ptr{CUpti_ActivityBranch}, f::Symbol) + f === :kind && return Ptr{CUpti_ActivityKind}(x + 0) + f === :sourceLocatorId && return Ptr{UInt32}(x + 4) + f === :correlationId && return Ptr{UInt32}(x + 8) + f === :pcOffset && return Ptr{UInt32}(x + 12) + f === :executed && return Ptr{UInt32}(x + 16) + f === :diverged && return Ptr{UInt32}(x + 20) + f === :threadsExecuted && return Ptr{UInt64}(x + 24) + return getfield(x, f) +end + +function Base.getproperty(x::CUpti_ActivityBranch, f::Symbol) + r = Ref{CUpti_ActivityBranch}(x) + ptr = Base.unsafe_convert(Ptr{CUpti_ActivityBranch}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +function Base.setproperty!(x::Ptr{CUpti_ActivityBranch}, f::Symbol, v) + return unsafe_store!(getproperty(x, f), v) end struct CUpti_ActivityPCSampling - kind::CUpti_ActivityKind - flags::CUpti_ActivityFlag - sourceLocatorId::UInt32 - correlationId::UInt32 - functionId::UInt32 - pcOffset::UInt32 - samples::UInt32 - stallReason::CUpti_ActivityPCSamplingStallReason + data::NTuple{32,UInt8} +end + +function Base.getproperty(x::Ptr{CUpti_ActivityPCSampling}, f::Symbol) + f === :kind && return Ptr{CUpti_ActivityKind}(x + 0) + f === :flags && return Ptr{CUpti_ActivityFlag}(x + 4) + f === :sourceLocatorId && return Ptr{UInt32}(x + 8) + f === :correlationId && return Ptr{UInt32}(x + 12) + f === :functionId && return Ptr{UInt32}(x + 16) + f === :pcOffset && return Ptr{UInt32}(x + 20) + f === :samples && return Ptr{UInt32}(x + 24) + f === :stallReason && return Ptr{CUpti_ActivityPCSamplingStallReason}(x + 28) + return getfield(x, f) +end + +function Base.getproperty(x::CUpti_ActivityPCSampling, f::Symbol) + r = Ref{CUpti_ActivityPCSampling}(x) + ptr = Base.unsafe_convert(Ptr{CUpti_ActivityPCSampling}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +function Base.setproperty!(x::Ptr{CUpti_ActivityPCSampling}, f::Symbol, v) + return unsafe_store!(getproperty(x, f), v) end struct CUpti_ActivityPCSampling2 - kind::CUpti_ActivityKind - flags::CUpti_ActivityFlag - sourceLocatorId::UInt32 - correlationId::UInt32 - functionId::UInt32 - pcOffset::UInt32 - latencySamples::UInt32 - samples::UInt32 - stallReason::CUpti_ActivityPCSamplingStallReason - pad::UInt32 + data::NTuple{40,UInt8} +end + +function Base.getproperty(x::Ptr{CUpti_ActivityPCSampling2}, f::Symbol) + f === :kind && return Ptr{CUpti_ActivityKind}(x + 0) + f === :flags && return Ptr{CUpti_ActivityFlag}(x + 4) + f === :sourceLocatorId && return Ptr{UInt32}(x + 8) + f === :correlationId && return Ptr{UInt32}(x + 12) + f === :functionId && return Ptr{UInt32}(x + 16) + f === :pcOffset && return Ptr{UInt32}(x + 20) + f === :latencySamples && return Ptr{UInt32}(x + 24) + f === :samples && return Ptr{UInt32}(x + 28) + f === :stallReason && return Ptr{CUpti_ActivityPCSamplingStallReason}(x + 32) + f === :pad && return Ptr{UInt32}(x + 36) + return getfield(x, f) +end + +function Base.getproperty(x::CUpti_ActivityPCSampling2, f::Symbol) + r = Ref{CUpti_ActivityPCSampling2}(x) + ptr = Base.unsafe_convert(Ptr{CUpti_ActivityPCSampling2}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +function Base.setproperty!(x::Ptr{CUpti_ActivityPCSampling2}, f::Symbol, v) + return unsafe_store!(getproperty(x, f), v) end struct CUpti_ActivityUnifiedMemoryCounter - kind::CUpti_ActivityKind - counterKind::CUpti_ActivityUnifiedMemoryCounterKind - scope::CUpti_ActivityUnifiedMemoryCounterScope - deviceId::UInt32 - value::UInt64 - timestamp::UInt64 - processId::UInt32 - pad::UInt32 + data::NTuple{40,UInt8} +end + +function Base.getproperty(x::Ptr{CUpti_ActivityUnifiedMemoryCounter}, f::Symbol) + f === :kind && return Ptr{CUpti_ActivityKind}(x + 0) + f === :counterKind && return Ptr{CUpti_ActivityUnifiedMemoryCounterKind}(x + 4) + f === :scope && return Ptr{CUpti_ActivityUnifiedMemoryCounterScope}(x + 8) + f === :deviceId && return Ptr{UInt32}(x + 12) + f === :value && return Ptr{UInt64}(x + 16) + f === :timestamp && return Ptr{UInt64}(x + 24) + f === :processId && return Ptr{UInt32}(x + 32) + f === :pad && return Ptr{UInt32}(x + 36) + return getfield(x, f) +end + +function Base.getproperty(x::CUpti_ActivityUnifiedMemoryCounter, f::Symbol) + r = Ref{CUpti_ActivityUnifiedMemoryCounter}(x) + ptr = Base.unsafe_convert(Ptr{CUpti_ActivityUnifiedMemoryCounter}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +function Base.setproperty!(x::Ptr{CUpti_ActivityUnifiedMemoryCounter}, f::Symbol, v) + return unsafe_store!(getproperty(x, f), v) +end + +struct CUpti_ActivityUnifiedMemoryCounter2 + data::NTuple{64,UInt8} +end + +function Base.getproperty(x::Ptr{CUpti_ActivityUnifiedMemoryCounter2}, f::Symbol) + f === :kind && return Ptr{CUpti_ActivityKind}(x + 0) + f === :counterKind && return Ptr{CUpti_ActivityUnifiedMemoryCounterKind}(x + 4) + f === :value && return Ptr{UInt64}(x + 8) + f === :start && return Ptr{UInt64}(x + 16) + f === :_end && return Ptr{UInt64}(x + 24) + f === :address && return Ptr{UInt64}(x + 32) + f === :srcId && return Ptr{UInt32}(x + 40) + f === :dstId && return Ptr{UInt32}(x + 44) + f === :streamId && return Ptr{UInt32}(x + 48) + f === :processId && return Ptr{UInt32}(x + 52) + f === :flags && return Ptr{UInt32}(x + 56) + f === :pad && return Ptr{UInt32}(x + 60) + return getfield(x, f) +end + +function Base.getproperty(x::CUpti_ActivityUnifiedMemoryCounter2, f::Symbol) + r = Ref{CUpti_ActivityUnifiedMemoryCounter2}(x) + ptr = Base.unsafe_convert(Ptr{CUpti_ActivityUnifiedMemoryCounter2}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +function Base.setproperty!(x::Ptr{CUpti_ActivityUnifiedMemoryCounter2}, f::Symbol, v) + return unsafe_store!(getproperty(x, f), v) end -struct var"##Ctag#582" +struct var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:4580:3)" data::NTuple{16,UInt8} end -function Base.getproperty(x::Ptr{var"##Ctag#582"}, f::Symbol) +function Base.getproperty(x::Ptr{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:4580:3)"}, + f::Symbol) f === :uuidDev && return Ptr{CUuuid}(x + 0) - f === :npu && return Ptr{var"##Ctag#583"}(x + 0) + f === :npu && + return Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:4582:5)"}(x + + 0) return getfield(x, f) end -function Base.getproperty(x::var"##Ctag#582", f::Symbol) - r = Ref{var"##Ctag#582"}(x) - ptr = Base.unsafe_convert(Ptr{var"##Ctag#582"}, r) +function Base.getproperty(x::var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:4580:3)", + f::Symbol) + r = Ref{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:4580:3)"}(x) + ptr = Base.unsafe_convert(Ptr{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:4580:3)"}, + r) fptr = getproperty(ptr, f) GC.@preserve r unsafe_load(fptr) end -function Base.setproperty!(x::Ptr{var"##Ctag#582"}, f::Symbol, v) +function Base.setproperty!(x::Ptr{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:4580:3)"}, + f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end -struct var"##Ctag#584" +struct var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:4599:3)" data::NTuple{16,UInt8} end -function Base.getproperty(x::Ptr{var"##Ctag#584"}, f::Symbol) +function Base.getproperty(x::Ptr{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:4599:3)"}, + f::Symbol) f === :uuidDev && return Ptr{CUuuid}(x + 0) - f === :npu && return Ptr{var"##Ctag#585"}(x + 0) + f === :npu && + return Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:4601:5)"}(x + + 0) return getfield(x, f) end -function Base.getproperty(x::var"##Ctag#584", f::Symbol) - r = Ref{var"##Ctag#584"}(x) - ptr = Base.unsafe_convert(Ptr{var"##Ctag#584"}, r) +function Base.getproperty(x::var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:4599:3)", + f::Symbol) + r = Ref{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:4599:3)"}(x) + ptr = Base.unsafe_convert(Ptr{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:4599:3)"}, + r) fptr = getproperty(ptr, f) GC.@preserve r unsafe_load(fptr) end -function Base.setproperty!(x::Ptr{var"##Ctag#584"}, f::Symbol, v) +function Base.setproperty!(x::Ptr{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:4599:3)"}, + f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end @@ -3943,8 +5347,12 @@ 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"##Ctag#582"}(x + 16) - f === :idDev1 && return Ptr{var"##Ctag#584"}(x + 32) + f === :idDev0 && + return Ptr{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:4580:3)"}(x + + 16) + f === :idDev1 && + return Ptr{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:4599:3)"}(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) @@ -3964,45 +5372,57 @@ function Base.setproperty!(x::Ptr{CUpti_ActivityNvLink}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end -struct var"##Ctag#592" +struct var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:4685:3)" data::NTuple{16,UInt8} end -function Base.getproperty(x::Ptr{var"##Ctag#592"}, f::Symbol) +function Base.getproperty(x::Ptr{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:4685:3)"}, + f::Symbol) f === :uuidDev && return Ptr{CUuuid}(x + 0) - f === :npu && return Ptr{var"##Ctag#593"}(x + 0) + f === :npu && + return Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:4687:5)"}(x + + 0) return getfield(x, f) end -function Base.getproperty(x::var"##Ctag#592", f::Symbol) - r = Ref{var"##Ctag#592"}(x) - ptr = Base.unsafe_convert(Ptr{var"##Ctag#592"}, r) +function Base.getproperty(x::var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:4685:3)", + f::Symbol) + r = Ref{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:4685:3)"}(x) + ptr = Base.unsafe_convert(Ptr{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:4685:3)"}, + r) fptr = getproperty(ptr, f) GC.@preserve r unsafe_load(fptr) end -function Base.setproperty!(x::Ptr{var"##Ctag#592"}, f::Symbol, v) +function Base.setproperty!(x::Ptr{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:4685:3)"}, + f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end -struct var"##Ctag#594" +struct var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:4704:3)" data::NTuple{16,UInt8} end -function Base.getproperty(x::Ptr{var"##Ctag#594"}, f::Symbol) +function Base.getproperty(x::Ptr{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:4704:3)"}, + f::Symbol) f === :uuidDev && return Ptr{CUuuid}(x + 0) - f === :npu && return Ptr{var"##Ctag#595"}(x + 0) + f === :npu && + return Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:4706:5)"}(x + + 0) return getfield(x, f) end -function Base.getproperty(x::var"##Ctag#594", f::Symbol) - r = Ref{var"##Ctag#594"}(x) - ptr = Base.unsafe_convert(Ptr{var"##Ctag#594"}, r) +function Base.getproperty(x::var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:4704:3)", + f::Symbol) + r = Ref{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:4704:3)"}(x) + ptr = Base.unsafe_convert(Ptr{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:4704:3)"}, + r) fptr = getproperty(ptr, f) GC.@preserve r unsafe_load(fptr) end -function Base.setproperty!(x::Ptr{var"##Ctag#594"}, f::Symbol, v) +function Base.setproperty!(x::Ptr{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:4704:3)"}, + f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end @@ -4015,8 +5435,12 @@ 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"##Ctag#592"}(x + 16) - f === :idDev1 && return Ptr{var"##Ctag#594"}(x + 32) + f === :idDev0 && + return Ptr{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:4685:3)"}(x + + 16) + f === :idDev1 && + return Ptr{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:4704:3)"}(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) @@ -4036,45 +5460,57 @@ function Base.setproperty!(x::Ptr{CUpti_ActivityNvLink2}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end -struct var"##Ctag#609" +struct var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:4789:3)" data::NTuple{16,UInt8} end -function Base.getproperty(x::Ptr{var"##Ctag#609"}, f::Symbol) +function Base.getproperty(x::Ptr{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:4789:3)"}, + f::Symbol) f === :uuidDev && return Ptr{CUuuid}(x + 0) - f === :npu && return Ptr{var"##Ctag#610"}(x + 0) + f === :npu && + return Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:4791:5)"}(x + + 0) return getfield(x, f) end -function Base.getproperty(x::var"##Ctag#609", f::Symbol) - r = Ref{var"##Ctag#609"}(x) - ptr = Base.unsafe_convert(Ptr{var"##Ctag#609"}, r) +function Base.getproperty(x::var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:4789:3)", + f::Symbol) + r = Ref{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:4789:3)"}(x) + ptr = Base.unsafe_convert(Ptr{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:4789:3)"}, + r) fptr = getproperty(ptr, f) GC.@preserve r unsafe_load(fptr) end -function Base.setproperty!(x::Ptr{var"##Ctag#609"}, f::Symbol, v) +function Base.setproperty!(x::Ptr{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:4789:3)"}, + f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end -struct var"##Ctag#611" +struct var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:4808:3)" data::NTuple{16,UInt8} end -function Base.getproperty(x::Ptr{var"##Ctag#611"}, f::Symbol) +function Base.getproperty(x::Ptr{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:4808:3)"}, + f::Symbol) f === :uuidDev && return Ptr{CUuuid}(x + 0) - f === :npu && return Ptr{var"##Ctag#612"}(x + 0) + f === :npu && + return Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:4810:5)"}(x + + 0) return getfield(x, f) end -function Base.getproperty(x::var"##Ctag#611", f::Symbol) - r = Ref{var"##Ctag#611"}(x) - ptr = Base.unsafe_convert(Ptr{var"##Ctag#611"}, r) +function Base.getproperty(x::var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:4808:3)", + f::Symbol) + r = Ref{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:4808:3)"}(x) + ptr = Base.unsafe_convert(Ptr{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:4808:3)"}, + r) fptr = getproperty(ptr, f) GC.@preserve r unsafe_load(fptr) end -function Base.setproperty!(x::Ptr{var"##Ctag#611"}, f::Symbol, v) +function Base.setproperty!(x::Ptr{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:4808:3)"}, + f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end @@ -4087,8 +5523,12 @@ 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"##Ctag#609"}(x + 16) - f === :idDev1 && return Ptr{var"##Ctag#611"}(x + 32) + f === :idDev0 && + return Ptr{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:4789:3)"}(x + + 16) + f === :idDev1 && + return Ptr{var"union (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:4808:3)"}(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) @@ -4123,37 +5563,176 @@ struct CUpti_ActivityGraphTrace end struct CUpti_ActivityContext - kind::CUpti_ActivityKind - contextId::UInt32 - deviceId::UInt32 - computeApiKind::UInt16 - nullStreamId::UInt16 + data::NTuple{16,UInt8} +end + +function Base.getproperty(x::Ptr{CUpti_ActivityContext}, f::Symbol) + f === :kind && return Ptr{CUpti_ActivityKind}(x + 0) + f === :contextId && return Ptr{UInt32}(x + 4) + f === :deviceId && return Ptr{UInt32}(x + 8) + f === :computeApiKind && return Ptr{UInt16}(x + 12) + f === :nullStreamId && return Ptr{UInt16}(x + 14) + return getfield(x, f) +end + +function Base.getproperty(x::CUpti_ActivityContext, f::Symbol) + r = Ref{CUpti_ActivityContext}(x) + ptr = Base.unsafe_convert(Ptr{CUpti_ActivityContext}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +function Base.setproperty!(x::Ptr{CUpti_ActivityContext}, f::Symbol, v) + return unsafe_store!(getproperty(x, f), v) +end + +struct CUpti_ActivityContext2 + data::NTuple{24,UInt8} +end + +function Base.getproperty(x::Ptr{CUpti_ActivityContext2}, f::Symbol) + f === :kind && return Ptr{CUpti_ActivityKind}(x + 0) + f === :contextId && return Ptr{UInt32}(x + 4) + f === :deviceId && return Ptr{UInt32}(x + 8) + f === :computeApiKind && return Ptr{UInt16}(x + 12) + f === :nullStreamId && return Ptr{UInt16}(x + 14) + f === :parentContextId && return Ptr{UInt32}(x + 16) + f === :isGreenContext && return Ptr{UInt8}(x + 20) + f === :padding && return Ptr{UInt8}(x + 21) + f === :numMultiprocessors && return Ptr{UInt16}(x + 22) + return getfield(x, f) +end + +function Base.getproperty(x::CUpti_ActivityContext2, f::Symbol) + r = Ref{CUpti_ActivityContext2}(x) + ptr = Base.unsafe_convert(Ptr{CUpti_ActivityContext2}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +function Base.setproperty!(x::Ptr{CUpti_ActivityContext2}, f::Symbol, v) + return unsafe_store!(getproperty(x, f), v) +end + +struct CUpti_ActivityJit + data::NTuple{64,UInt8} +end + +function Base.getproperty(x::Ptr{CUpti_ActivityJit}, f::Symbol) + f === :kind && return Ptr{CUpti_ActivityKind}(x + 0) + f === :jitEntryType && return Ptr{CUpti_ActivityJitEntryType}(x + 4) + f === :jitOperationType && return Ptr{CUpti_ActivityJitOperationType}(x + 8) + f === :deviceId && return Ptr{UInt32}(x + 12) + f === :start && return Ptr{UInt64}(x + 16) + f === :_end && return Ptr{UInt64}(x + 24) + f === :correlationId && return Ptr{UInt32}(x + 32) + f === :padding && return Ptr{UInt32}(x + 36) + f === :jitOperationCorrelationId && return Ptr{UInt64}(x + 40) + f === :cacheSize && return Ptr{UInt64}(x + 48) + f === :cachePath && return Ptr{Cstring}(x + 56) + return getfield(x, f) +end + +function Base.getproperty(x::CUpti_ActivityJit, f::Symbol) + r = Ref{CUpti_ActivityJit}(x) + ptr = Base.unsafe_convert(Ptr{CUpti_ActivityJit}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +function Base.setproperty!(x::Ptr{CUpti_ActivityJit}, f::Symbol, v) + return unsafe_store!(getproperty(x, f), v) +end + +struct CUpti_ActivityCudaEvent + data::NTuple{24,UInt8} +end + +function Base.getproperty(x::Ptr{CUpti_ActivityCudaEvent}, f::Symbol) + f === :kind && return Ptr{CUpti_ActivityKind}(x + 0) + f === :correlationId && return Ptr{UInt32}(x + 4) + f === :contextId && return Ptr{UInt32}(x + 8) + f === :streamId && return Ptr{UInt32}(x + 12) + f === :eventId && return Ptr{UInt32}(x + 16) + f === :pad && return Ptr{UInt32}(x + 20) + return getfield(x, f) +end + +function Base.getproperty(x::CUpti_ActivityCudaEvent, f::Symbol) + r = Ref{CUpti_ActivityCudaEvent}(x) + ptr = Base.unsafe_convert(Ptr{CUpti_ActivityCudaEvent}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +function Base.setproperty!(x::Ptr{CUpti_ActivityCudaEvent}, f::Symbol, v) + return unsafe_store!(getproperty(x, f), v) +end + +struct CUpti_ActivitySynchronization + data::NTuple{40,UInt8} +end + +function Base.getproperty(x::Ptr{CUpti_ActivitySynchronization}, f::Symbol) + f === :kind && return Ptr{CUpti_ActivityKind}(x + 0) + f === :type && return Ptr{CUpti_ActivitySynchronizationType}(x + 4) + f === :start && return Ptr{UInt64}(x + 8) + f === :_end && return Ptr{UInt64}(x + 16) + f === :correlationId && return Ptr{UInt32}(x + 24) + f === :contextId && return Ptr{UInt32}(x + 28) + f === :streamId && return Ptr{UInt32}(x + 32) + f === :cudaEventId && return Ptr{UInt32}(x + 36) + return getfield(x, f) +end + +function Base.getproperty(x::CUpti_ActivitySynchronization, f::Symbol) + r = Ref{CUpti_ActivitySynchronization}(x) + ptr = Base.unsafe_convert(Ptr{CUpti_ActivitySynchronization}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +function Base.setproperty!(x::Ptr{CUpti_ActivitySynchronization}, f::Symbol, v) + return unsafe_store!(getproperty(x, f), v) +end + +struct CUpti_ActivityMemcpy5 + data::NTuple{88,UInt8} +end + +function Base.getproperty(x::Ptr{CUpti_ActivityMemcpy5}, 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) + f === :graphNodeId && return Ptr{UInt64}(x + 64) + 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) + return getfield(x, f) end -struct CUpti_ActivityContext2 - kind::CUpti_ActivityKind - contextId::UInt32 - deviceId::UInt32 - computeApiKind::UInt16 - nullStreamId::UInt16 - parentContextId::UInt32 - isGreenContext::UInt8 - padding::UInt8 - numMultiprocessors::UInt16 +function Base.getproperty(x::CUpti_ActivityMemcpy5, f::Symbol) + r = Ref{CUpti_ActivityMemcpy5}(x) + ptr = Base.unsafe_convert(Ptr{CUpti_ActivityMemcpy5}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) end -struct CUpti_ActivityJit - kind::CUpti_ActivityKind - jitEntryType::CUpti_ActivityJitEntryType - jitOperationType::CUpti_ActivityJitOperationType - deviceId::UInt32 - start::UInt64 - _end::UInt64 - correlationId::UInt32 - padding::UInt32 - jitOperationCorrelationId::UInt64 - cacheSize::UInt64 - cachePath::Cstring +function Base.setproperty!(x::Ptr{CUpti_ActivityMemcpy5}, f::Symbol, v) + return unsafe_store!(getproperty(x, f), v) end @cenum CUpti_driver_api_trace_cbid_enum::UInt32 begin @@ -4920,7 +6499,26 @@ end CUPTI_DRIVER_TRACE_CBID_cuStreamGetCtx_v2_ptsz = 760 CUPTI_DRIVER_TRACE_CBID_cuMemBatchDecompressAsync = 761 CUPTI_DRIVER_TRACE_CBID_cuMemBatchDecompressAsync_ptsz = 762 - CUPTI_DRIVER_TRACE_CBID_SIZE = 763 + CUPTI_DRIVER_TRACE_CBID_cuLogsRegisterCallback = 763 + CUPTI_DRIVER_TRACE_CBID_cuLogsUnregisterCallback = 764 + CUPTI_DRIVER_TRACE_CBID_cuLogsCurrent = 765 + CUPTI_DRIVER_TRACE_CBID_cuLogsDumpToFile = 766 + CUPTI_DRIVER_TRACE_CBID_cuLogsDumpToMemory = 767 + CUPTI_DRIVER_TRACE_CBID_cuCheckpointProcessGetRestoreThreadId = 768 + CUPTI_DRIVER_TRACE_CBID_cuCheckpointProcessGetState = 769 + CUPTI_DRIVER_TRACE_CBID_cuCheckpointProcessLock = 770 + CUPTI_DRIVER_TRACE_CBID_cuCheckpointProcessCheckpoint = 771 + CUPTI_DRIVER_TRACE_CBID_cuCheckpointProcessRestore = 772 + CUPTI_DRIVER_TRACE_CBID_cuCheckpointProcessUnlock = 773 + CUPTI_DRIVER_TRACE_CBID_cuStreamGetDevice = 774 + CUPTI_DRIVER_TRACE_CBID_cuStreamGetDevice_ptsz = 775 + CUPTI_DRIVER_TRACE_CBID_cuMemcpyBatchAsync = 776 + CUPTI_DRIVER_TRACE_CBID_cuMemcpyBatchAsync_ptsz = 777 + CUPTI_DRIVER_TRACE_CBID_cuMemcpy3DBatchAsync = 778 + CUPTI_DRIVER_TRACE_CBID_cuMemcpy3DBatchAsync_ptsz = 779 + CUPTI_DRIVER_TRACE_CBID_cuEventElapsedTime_v2 = 780 + CUPTI_DRIVER_TRACE_CBID_cuTensorMapEncodeIm2colWide = 781 + CUPTI_DRIVER_TRACE_CBID_SIZE = 782 CUPTI_DRIVER_TRACE_CBID_FORCE_INT = 2147483647 end @@ -5407,7 +7005,14 @@ const CUpti_driver_api_trace_cbid = CUpti_driver_api_trace_cbid_enum CUPTI_RUNTIME_TRACE_CBID_cuda477_v12060 = 477 CUPTI_RUNTIME_TRACE_CBID_cuda478_v12060 = 478 CUPTI_RUNTIME_TRACE_CBID_cuda479_v12060 = 479 - CUPTI_RUNTIME_TRACE_CBID_SIZE = 480 + CUPTI_RUNTIME_TRACE_CBID_cudaStreamGetDevice_v12080 = 480 + CUPTI_RUNTIME_TRACE_CBID_cudaStreamGetDevice_ptsz_v12080 = 481 + CUPTI_RUNTIME_TRACE_CBID_cudaMemcpyBatchAsync_v12080 = 482 + 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_FORCE_INT = 2147483647 end @@ -5773,539 +7378,602 @@ end @gcsafe_ccall libcupti.cuptiProfilerDeviceSupported(pParams::Ptr{CUpti_Profiler_DeviceSupported_Params})::CUptiResult end -struct var"##Ctag#581" - requested::UInt8 - executed::UInt8 -end -function Base.getproperty(x::Ptr{var"##Ctag#581"}, 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#581", f::Symbol) - r = Ref{var"##Ctag#581"}(x) - ptr = Base.unsafe_convert(Ptr{var"##Ctag#581"}, r) - fptr = getproperty(ptr, f) - GC.@preserve r unsafe_load(fptr) -end - -function Base.setproperty!(x::Ptr{var"##Ctag#581"}, f::Symbol, v) - return unsafe_store!(getproperty(x, f), v) -end - -struct var"##Ctag#583" +struct var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:4582:5)" index::UInt32 domainId::UInt32 end -function Base.getproperty(x::Ptr{var"##Ctag#583"}, 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#583", f::Symbol) - r = Ref{var"##Ctag#583"}(x) - ptr = Base.unsafe_convert(Ptr{var"##Ctag#583"}, r) - fptr = getproperty(ptr, f) - GC.@preserve r unsafe_load(fptr) -end - -function Base.setproperty!(x::Ptr{var"##Ctag#583"}, f::Symbol, v) - return unsafe_store!(getproperty(x, f), v) -end - -struct var"##Ctag#585" +struct var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:4601:5)" index::UInt32 domainId::UInt32 end -function Base.getproperty(x::Ptr{var"##Ctag#585"}, 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#585", f::Symbol) - r = Ref{var"##Ctag#585"}(x) - ptr = Base.unsafe_convert(Ptr{var"##Ctag#585"}, r) - fptr = getproperty(ptr, f) - GC.@preserve r unsafe_load(fptr) -end -function Base.setproperty!(x::Ptr{var"##Ctag#585"}, f::Symbol, v) - return unsafe_store!(getproperty(x, f), v) +struct var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:1255:5)" + data::NTuple{1,UInt8} end -struct var"##Ctag#591" - requested::UInt8 - executed::UInt8 -end -function Base.getproperty(x::Ptr{var"##Ctag#591"}, f::Symbol) +function Base.getproperty(x::Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:1255:5)"}, + 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#591", f::Symbol) - r = Ref{var"##Ctag#591"}(x) - ptr = Base.unsafe_convert(Ptr{var"##Ctag#591"}, r) +function Base.getproperty(x::var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:1255:5)", + f::Symbol) + r = Ref{var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:1255:5)"}(x) + ptr = Base.unsafe_convert(Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:1255:5)"}, + r) fptr = getproperty(ptr, f) - GC.@preserve r unsafe_load(fptr) + 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 end -function Base.setproperty!(x::Ptr{var"##Ctag#591"}, f::Symbol, v) - return unsafe_store!(getproperty(x, f), v) +function Base.setproperty!(x::Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/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 end -struct var"##Ctag#593" - index::UInt32 - domainId::UInt32 +struct var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:1920:5)" + data::NTuple{1,UInt8} end -function Base.getproperty(x::Ptr{var"##Ctag#593"}, f::Symbol) - f === :index && return Ptr{UInt32}(x + 0) - f === :domainId && return Ptr{UInt32}(x + 4) + +function Base.getproperty(x::Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:1920:5)"}, + 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#593", f::Symbol) - r = Ref{var"##Ctag#593"}(x) - ptr = Base.unsafe_convert(Ptr{var"##Ctag#593"}, r) +function Base.getproperty(x::var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:1920:5)", + f::Symbol) + r = Ref{var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:1920:5)"}(x) + ptr = Base.unsafe_convert(Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:1920:5)"}, + r) fptr = getproperty(ptr, f) - GC.@preserve r unsafe_load(fptr) + 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 end -function Base.setproperty!(x::Ptr{var"##Ctag#593"}, f::Symbol, v) - return unsafe_store!(getproperty(x, f), v) +function Base.setproperty!(x::Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/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 end -struct var"##Ctag#595" - index::UInt32 - domainId::UInt32 +struct var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:2177:5)" + data::NTuple{1,UInt8} end -function Base.getproperty(x::Ptr{var"##Ctag#595"}, f::Symbol) - f === :index && return Ptr{UInt32}(x + 0) - f === :domainId && return Ptr{UInt32}(x + 4) + +function Base.getproperty(x::Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:2177:5)"}, + 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#595", f::Symbol) - r = Ref{var"##Ctag#595"}(x) - ptr = Base.unsafe_convert(Ptr{var"##Ctag#595"}, r) +function Base.getproperty(x::var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:2177:5)", + f::Symbol) + r = Ref{var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:2177:5)"}(x) + ptr = Base.unsafe_convert(Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:2177:5)"}, + r) fptr = getproperty(ptr, f) - GC.@preserve r unsafe_load(fptr) + 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 end -function Base.setproperty!(x::Ptr{var"##Ctag#595"}, f::Symbol, v) - return unsafe_store!(getproperty(x, f), v) +function Base.setproperty!(x::Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/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 end -struct var"##Ctag#598" +struct var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:4791:5)" index::UInt32 domainId::UInt32 end -function Base.getproperty(x::Ptr{var"##Ctag#598"}, 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#598", f::Symbol) - r = Ref{var"##Ctag#598"}(x) - ptr = Base.unsafe_convert(Ptr{var"##Ctag#598"}, r) - fptr = getproperty(ptr, f) - GC.@preserve r unsafe_load(fptr) -end -function Base.setproperty!(x::Ptr{var"##Ctag#598"}, f::Symbol, v) - return unsafe_store!(getproperty(x, f), v) +struct var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:4810:5)" + index::UInt32 + domainId::UInt32 end -struct var"##Ctag#600" +struct var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:4687:5)" index::UInt32 domainId::UInt32 end -function Base.getproperty(x::Ptr{var"##Ctag#600"}, 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#600", f::Symbol) - r = Ref{var"##Ctag#600"}(x) - ptr = Base.unsafe_convert(Ptr{var"##Ctag#600"}, r) - fptr = getproperty(ptr, f) - GC.@preserve r unsafe_load(fptr) +struct var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:4706:5)" + index::UInt32 + domainId::UInt32 end -function Base.setproperty!(x::Ptr{var"##Ctag#600"}, f::Symbol, v) - return unsafe_store!(getproperty(x, f), v) +struct var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity.h:3136:5)" + data::NTuple{1,UInt8} end -struct var"##Ctag#602" - requested::UInt8 - executed::UInt8 -end -function Base.getproperty(x::Ptr{var"##Ctag#602"}, f::Symbol) +function Base.getproperty(x::Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity.h:3136:5)"}, + 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#602", f::Symbol) - r = Ref{var"##Ctag#602"}(x) - ptr = Base.unsafe_convert(Ptr{var"##Ctag#602"}, r) +function Base.getproperty(x::var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity.h:3136:5)", + f::Symbol) + r = Ref{var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity.h:3136:5)"}(x) + ptr = Base.unsafe_convert(Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity.h:3136:5)"}, + r) fptr = getproperty(ptr, f) - GC.@preserve r unsafe_load(fptr) + 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 end -function Base.setproperty!(x::Ptr{var"##Ctag#602"}, f::Symbol, v) - return unsafe_store!(getproperty(x, f), v) +function Base.setproperty!(x::Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity.h:3136: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 end -struct var"##Ctag#608" - requested::UInt8 - executed::UInt8 +struct var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:1436:5)" + data::NTuple{1,UInt8} end -function Base.getproperty(x::Ptr{var"##Ctag#608"}, f::Symbol) + +function Base.getproperty(x::Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:1436:5)"}, + 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#608", f::Symbol) - r = Ref{var"##Ctag#608"}(x) - ptr = Base.unsafe_convert(Ptr{var"##Ctag#608"}, r) +function Base.getproperty(x::var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:1436:5)", + f::Symbol) + r = Ref{var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:1436:5)"}(x) + ptr = Base.unsafe_convert(Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:1436:5)"}, + r) fptr = getproperty(ptr, f) - GC.@preserve r unsafe_load(fptr) + 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 end -function Base.setproperty!(x::Ptr{var"##Ctag#608"}, f::Symbol, v) - return unsafe_store!(getproperty(x, f), v) +function Base.setproperty!(x::Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/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 end -struct var"##Ctag#610" - index::UInt32 - domainId::UInt32 +struct var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:1669:5)" + data::NTuple{1,UInt8} end -function Base.getproperty(x::Ptr{var"##Ctag#610"}, f::Symbol) - f === :index && return Ptr{UInt32}(x + 0) - f === :domainId && return Ptr{UInt32}(x + 4) + +function Base.getproperty(x::Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:1669:5)"}, + 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#610", f::Symbol) - r = Ref{var"##Ctag#610"}(x) - ptr = Base.unsafe_convert(Ptr{var"##Ctag#610"}, r) +function Base.getproperty(x::var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:1669:5)", + f::Symbol) + r = Ref{var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:1669:5)"}(x) + ptr = Base.unsafe_convert(Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:1669:5)"}, + r) fptr = getproperty(ptr, f) - GC.@preserve r unsafe_load(fptr) + 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 end -function Base.setproperty!(x::Ptr{var"##Ctag#610"}, f::Symbol, v) - return unsafe_store!(getproperty(x, f), v) +function Base.setproperty!(x::Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/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 end -struct var"##Ctag#612" +struct var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity.h:5993:5)" index::UInt32 domainId::UInt32 end -function Base.getproperty(x::Ptr{var"##Ctag#612"}, 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#612", f::Symbol) - r = Ref{var"##Ctag#612"}(x) - ptr = Base.unsafe_convert(Ptr{var"##Ctag#612"}, r) - fptr = getproperty(ptr, f) - GC.@preserve r unsafe_load(fptr) -end - -function Base.setproperty!(x::Ptr{var"##Ctag#612"}, f::Symbol, v) - return unsafe_store!(getproperty(x, f), v) -end - -struct var"##Ctag#615" - uuidDev::CUuuid - peerDev::NTuple{32,CUdevice} -end -function Base.getproperty(x::Ptr{var"##Ctag#615"}, f::Symbol) - f === :uuidDev && return Ptr{CUuuid}(x + 0) - f === :peerDev && return Ptr{NTuple{32,CUdevice}}(x + 16) - return getfield(x, f) -end - -function Base.getproperty(x::var"##Ctag#615", f::Symbol) - r = Ref{var"##Ctag#615"}(x) - ptr = Base.unsafe_convert(Ptr{var"##Ctag#615"}, r) - fptr = getproperty(ptr, f) - GC.@preserve r unsafe_load(fptr) -end - -function Base.setproperty!(x::Ptr{var"##Ctag#615"}, f::Symbol, v) - return unsafe_store!(getproperty(x, f), v) -end - -struct var"##Ctag#616" - secondaryBus::UInt16 - deviceId::UInt16 - vendorId::UInt16 - pad0::UInt16 -end -function Base.getproperty(x::Ptr{var"##Ctag#616"}, 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 - -function Base.getproperty(x::var"##Ctag#616", f::Symbol) - r = Ref{var"##Ctag#616"}(x) - ptr = Base.unsafe_convert(Ptr{var"##Ctag#616"}, r) - fptr = getproperty(ptr, f) - GC.@preserve r unsafe_load(fptr) -end - -function Base.setproperty!(x::Ptr{var"##Ctag#616"}, f::Symbol, v) - return unsafe_store!(getproperty(x, f), v) -end - -struct var"##Ctag#645" - requested::UInt8 - executed::UInt8 -end -function Base.getproperty(x::Ptr{var"##Ctag#645"}, 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#645", f::Symbol) - r = Ref{var"##Ctag#645"}(x) - ptr = Base.unsafe_convert(Ptr{var"##Ctag#645"}, r) - fptr = getproperty(ptr, f) - GC.@preserve r unsafe_load(fptr) +struct var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity.h:6012:5)" + index::UInt32 + domainId::UInt32 end -function Base.setproperty!(x::Ptr{var"##Ctag#645"}, f::Symbol, v) - return unsafe_store!(getproperty(x, f), v) +struct var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity.h:2836:5)" + data::NTuple{1,UInt8} end -struct var"##Ctag#650" - requested::UInt8 - executed::UInt8 -end -function Base.getproperty(x::Ptr{var"##Ctag#650"}, f::Symbol) +function Base.getproperty(x::Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity.h:2836:5)"}, + 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#650", f::Symbol) - r = Ref{var"##Ctag#650"}(x) - ptr = Base.unsafe_convert(Ptr{var"##Ctag#650"}, r) +function Base.getproperty(x::var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity.h:2836:5)", + f::Symbol) + r = Ref{var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity.h:2836:5)"}(x) + ptr = Base.unsafe_convert(Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity.h:2836:5)"}, + r) fptr = getproperty(ptr, f) - GC.@preserve r unsafe_load(fptr) + 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 end -function Base.setproperty!(x::Ptr{var"##Ctag#650"}, f::Symbol, v) - return unsafe_store!(getproperty(x, f), v) +function Base.setproperty!(x::Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity.h:2836: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 end -struct var"##Ctag#652" +struct var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity.h:4346:5)" smClock::UInt32 memoryClock::UInt32 pcieLinkGen::UInt32 pcieLinkWidth::UInt32 clocksThrottleReasons::CUpti_EnvironmentClocksThrottleReason end -function Base.getproperty(x::Ptr{var"##Ctag#652"}, 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 - -function Base.getproperty(x::var"##Ctag#652", f::Symbol) - r = Ref{var"##Ctag#652"}(x) - ptr = Base.unsafe_convert(Ptr{var"##Ctag#652"}, r) - fptr = getproperty(ptr, f) - GC.@preserve r unsafe_load(fptr) -end - -function Base.setproperty!(x::Ptr{var"##Ctag#652"}, f::Symbol, v) - return unsafe_store!(getproperty(x, f), v) -end -struct var"##Ctag#653" +struct var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity.h:4377:5)" gpuTemperature::UInt32 end -function Base.getproperty(x::Ptr{var"##Ctag#653"}, f::Symbol) - f === :gpuTemperature && return Ptr{UInt32}(x + 0) - return getfield(x, f) -end - -function Base.getproperty(x::var"##Ctag#653", f::Symbol) - r = Ref{var"##Ctag#653"}(x) - ptr = Base.unsafe_convert(Ptr{var"##Ctag#653"}, r) - fptr = getproperty(ptr, f) - GC.@preserve r unsafe_load(fptr) -end - -function Base.setproperty!(x::Ptr{var"##Ctag#653"}, f::Symbol, v) - return unsafe_store!(getproperty(x, f), v) -end -struct var"##Ctag#654" +struct var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity.h:4389:5)" power::UInt32 powerLimit::UInt32 end -function Base.getproperty(x::Ptr{var"##Ctag#654"}, 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#654", f::Symbol) - r = Ref{var"##Ctag#654"}(x) - ptr = Base.unsafe_convert(Ptr{var"##Ctag#654"}, r) - fptr = getproperty(ptr, f) - GC.@preserve r unsafe_load(fptr) -end - -function Base.setproperty!(x::Ptr{var"##Ctag#654"}, f::Symbol, v) - return unsafe_store!(getproperty(x, f), v) -end - -struct var"##Ctag#655" +struct var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity.h:4399:5)" fanSpeed::UInt32 end -function Base.getproperty(x::Ptr{var"##Ctag#655"}, f::Symbol) - f === :fanSpeed && return Ptr{UInt32}(x + 0) - return getfield(x, f) -end - -function Base.getproperty(x::var"##Ctag#655", f::Symbol) - r = Ref{var"##Ctag#655"}(x) - ptr = Base.unsafe_convert(Ptr{var"##Ctag#655"}, r) - fptr = getproperty(ptr, f) - GC.@preserve r unsafe_load(fptr) -end - -function Base.setproperty!(x::Ptr{var"##Ctag#655"}, f::Symbol, v) - return unsafe_store!(getproperty(x, f), v) -end -struct var"##Ctag#657" - requested::UInt8 - executed::UInt8 -end -function Base.getproperty(x::Ptr{var"##Ctag#657"}, f::Symbol) - f === :requested && return (Ptr{UInt8}(x + 0), 0, 4) - f === :executed && return (Ptr{UInt8}(x + 0), 4, 4) - return getfield(x, f) +struct var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity.h:6158:5)" + uuidDev::CUuuid + peerDev::NTuple{32,CUdevice} end -function Base.getproperty(x::var"##Ctag#657", f::Symbol) - r = Ref{var"##Ctag#657"}(x) - ptr = Base.unsafe_convert(Ptr{var"##Ctag#657"}, r) - fptr = getproperty(ptr, f) - GC.@preserve r unsafe_load(fptr) +struct var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity.h:6172:5)" + secondaryBus::UInt16 + deviceId::UInt16 + vendorId::UInt16 + pad0::UInt16 end -function Base.setproperty!(x::Ptr{var"##Ctag#657"}, f::Symbol, v) - return unsafe_store!(getproperty(x, f), v) +struct var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:1094:5)" + data::NTuple{1,UInt8} end -struct var"##Ctag#659" - requested::UInt8 - executed::UInt8 -end -function Base.getproperty(x::Ptr{var"##Ctag#659"}, f::Symbol) +function Base.getproperty(x::Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:1094:5)"}, + 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#659", f::Symbol) - r = Ref{var"##Ctag#659"}(x) - ptr = Base.unsafe_convert(Ptr{var"##Ctag#659"}, r) +function Base.getproperty(x::var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:1094:5)", + f::Symbol) + r = Ref{var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:1094:5)"}(x) + ptr = Base.unsafe_convert(Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:1094:5)"}, + r) fptr = getproperty(ptr, f) - GC.@preserve r unsafe_load(fptr) + 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 end -function Base.setproperty!(x::Ptr{var"##Ctag#659"}, f::Symbol, v) - return unsafe_store!(getproperty(x, f), v) +function Base.setproperty!(x::Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/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 end -struct var"##Ctag#661" - requested::UInt8 - executed::UInt8 +struct var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:2442:5)" + data::NTuple{1,UInt8} end -function Base.getproperty(x::Ptr{var"##Ctag#661"}, f::Symbol) + +function Base.getproperty(x::Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:2442:5)"}, + 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#661", f::Symbol) - r = Ref{var"##Ctag#661"}(x) - ptr = Base.unsafe_convert(Ptr{var"##Ctag#661"}, r) +function Base.getproperty(x::var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:2442:5)", + f::Symbol) + r = Ref{var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:2442:5)"}(x) + ptr = Base.unsafe_convert(Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity_deprecated.h:2442:5)"}, + r) fptr = getproperty(ptr, f) - GC.@preserve r unsafe_load(fptr) + 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 end -function Base.setproperty!(x::Ptr{var"##Ctag#661"}, f::Symbol, v) - return unsafe_store!(getproperty(x, f), v) +function Base.setproperty!(x::Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/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 end -struct var"##Ctag#672" +struct var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity.h:671:3)" processId::UInt32 threadId::UInt32 end -function Base.getproperty(x::Ptr{var"##Ctag#672"}, 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#672", f::Symbol) - r = Ref{var"##Ctag#672"}(x) - ptr = Base.unsafe_convert(Ptr{var"##Ctag#672"}, r) - fptr = getproperty(ptr, f) - GC.@preserve r unsafe_load(fptr) -end - -function Base.setproperty!(x::Ptr{var"##Ctag#672"}, f::Symbol, v) - return unsafe_store!(getproperty(x, f), v) -end -struct var"##Ctag#673" +struct var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/cupti_activity.h:682:3)" deviceId::UInt32 contextId::UInt32 streamId::UInt32 end -function Base.getproperty(x::Ptr{var"##Ctag#673"}, 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#673", f::Symbol) - r = Ref{var"##Ctag#673"}(x) - ptr = Base.unsafe_convert(Ptr{var"##Ctag#673"}, r) - fptr = getproperty(ptr, f) - GC.@preserve r unsafe_load(fptr) -end - -function Base.setproperty!(x::Ptr{var"##Ctag#673"}, f::Symbol, v) - return unsafe_store!(getproperty(x, f), v) -end const CUPTI_EVENT_OVERFLOW = uint64_t(Culonglong(0xffffffffffffffff)) @@ -6337,7 +8005,7 @@ const CUPTI_GRID_ID_UNKNOWN = Clonglong(0) const CUPTI_TIMESTAMP_UNKNOWN = Clonglong(0) -const CUPTI_SYNCHRONIZATION_INVALID_VALUE = -1 +const CUPTI_SYNCHRONIZATION_INVALID_VALUE = uint32_t(Cuint(0xffffffff)) const CUPTI_AUTO_BOOST_INVALID_CLIENT_PID = 0 @@ -6345,6 +8013,8 @@ const CUPTI_NVLINK_INVALID_PORT = -1 const CUPTI_MAX_NVLINK_PORTS = 32 +const CUPTI_DECOMPRESSED_BYTES_UNKNOWN = Clonglong(0) + const CUPTI_MAX_GPUS = 32 const CUpti_Profiler_Initialize_Params_STRUCT_SIZE = @CUPTI_PROFILER_STRUCT_SIZE(CUpti_Profiler_Initialize_Params, diff --git a/lib/cutensornet/src/libcutensornet.jl b/lib/cutensornet/src/libcutensornet.jl index 8968e420c5..ac1bebf424 100644 --- a/lib/cutensornet/src/libcutensornet.jl +++ b/lib/cutensornet/src/libcutensornet.jl @@ -171,8 +171,24 @@ struct cutensornetTensorIDList_t end struct cutensornetNodePair_t - first::Int32 - second::Int32 + data::NTuple{8,UInt8} +end + +function Base.getproperty(x::Ptr{cutensornetNodePair_t}, f::Symbol) + f === :first && return Ptr{Int32}(x + 0) + f === :second && return Ptr{Int32}(x + 4) + return getfield(x, f) +end + +function Base.getproperty(x::cutensornetNodePair_t, f::Symbol) + r = Ref{cutensornetNodePair_t}(x) + ptr = Base.unsafe_convert(Ptr{cutensornetNodePair_t}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +function Base.setproperty!(x::Ptr{cutensornetNodePair_t}, f::Symbol, v) + return unsafe_store!(getproperty(x, f), v) end struct cutensornetContractionPath_t diff --git a/lib/nvml/NVML.jl b/lib/nvml/NVML.jl index d4fc8493b5..87015f753a 100644 --- a/lib/nvml/NVML.jl +++ b/lib/nvml/NVML.jl @@ -55,7 +55,6 @@ end # core library include("libnvml.jl") -include("libnvml_deprecated.jl") # wrappers include("error.jl") diff --git a/lib/nvml/device.jl b/lib/nvml/device.jl index d209959731..2cce246db4 100644 --- a/lib/nvml/device.jl +++ b/lib/nvml/device.jl @@ -112,7 +112,7 @@ function compute_processes(dev::Device) # "Allocate more space for infos table in case new compute processes are spawned." count::Cuint = count_ref[] + 2 - infos = Vector{nvmlProcessInfoV1_t}(undef, count) + infos = Vector{nvmlProcessInfo_v1_t}(undef, count) nvmlDeviceGetComputeRunningProcesses(dev, Ref(count), infos) return Dict(map(infos[1:count_ref[]]) do info diff --git a/lib/nvml/libnvml.jl b/lib/nvml/libnvml.jl index 5254ca64b9..9a70ed2cf7 100644 --- a/lib/nvml/libnvml.jl +++ b/lib/nvml/libnvml.jl @@ -32,359 +32,50 @@ end return end -@cenum nvmlReturn_enum::UInt32 begin - NVML_SUCCESS = 0 - NVML_ERROR_UNINITIALIZED = 1 - NVML_ERROR_INVALID_ARGUMENT = 2 - NVML_ERROR_NOT_SUPPORTED = 3 - NVML_ERROR_NO_PERMISSION = 4 - NVML_ERROR_ALREADY_INITIALIZED = 5 - NVML_ERROR_NOT_FOUND = 6 - NVML_ERROR_INSUFFICIENT_SIZE = 7 - NVML_ERROR_INSUFFICIENT_POWER = 8 - NVML_ERROR_DRIVER_NOT_LOADED = 9 - NVML_ERROR_TIMEOUT = 10 - NVML_ERROR_IRQ_ISSUE = 11 - NVML_ERROR_LIBRARY_NOT_FOUND = 12 - NVML_ERROR_FUNCTION_NOT_FOUND = 13 - NVML_ERROR_CORRUPTED_INFOROM = 14 - NVML_ERROR_GPU_IS_LOST = 15 - NVML_ERROR_RESET_REQUIRED = 16 - NVML_ERROR_OPERATING_SYSTEM = 17 - NVML_ERROR_LIB_RM_VERSION_MISMATCH = 18 - NVML_ERROR_IN_USE = 19 - NVML_ERROR_MEMORY = 20 - NVML_ERROR_NO_DATA = 21 - NVML_ERROR_VGPU_ECC_NOT_SUPPORTED = 22 - NVML_ERROR_INSUFFICIENT_RESOURCES = 23 - NVML_ERROR_FREQ_NOT_SUPPORTED = 24 - NVML_ERROR_ARGUMENT_VERSION_MISMATCH = 25 - NVML_ERROR_DEPRECATED = 26 - NVML_ERROR_NOT_READY = 27 - NVML_ERROR_GPU_NOT_FOUND = 28 - NVML_ERROR_INVALID_STATE = 29 - NVML_ERROR_UNKNOWN = 999 +macro NVML_STRUCT_VERSION(typename, version) + struct_typename = Symbol("nvml$(String(typename))_v$(version)_t") + struct_type = getfield(__module__, struct_typename) + struct_version = UInt32(sizeof(struct_type)) | (UInt32(version) << 24) + return :($struct_version) end -const nvmlReturn_t = nvmlReturn_enum - -@checked function nvmlInit_v2() - @gcsafe_ccall (libnvml()).nvmlInit_v2()::nvmlReturn_t +@cenum nvmlMemoryErrorType_enum::UInt32 begin + NVML_MEMORY_ERROR_TYPE_CORRECTED = 0 + NVML_MEMORY_ERROR_TYPE_UNCORRECTED = 1 + NVML_MEMORY_ERROR_TYPE_COUNT = 2 end +const nvmlMemoryErrorType_t = nvmlMemoryErrorType_enum + mutable struct nvmlDevice_st end const nvmlDevice_t = Ptr{nvmlDevice_st} -struct nvmlPciInfo_st - busIdLegacy::NTuple{16,Cchar} +struct nvmlPciInfoExt_v1_t + version::Cuint domain::Cuint bus::Cuint device::Cuint pciDeviceId::Cuint pciSubSystemId::Cuint + baseClass::Cuint + subClass::Cuint busId::NTuple{32,Cchar} end -const nvmlPciInfo_t = nvmlPciInfo_st - -@checked function nvmlDeviceGetPciInfo_v3(device, pci) - initialize_context() - @gcsafe_ccall (libnvml()).nvmlDeviceGetPciInfo_v3(device::nvmlDevice_t, - pci::Ptr{nvmlPciInfo_t})::nvmlReturn_t -end - -@checked function nvmlDeviceGetCount_v2(deviceCount) - initialize_context() - @gcsafe_ccall (libnvml()).nvmlDeviceGetCount_v2(deviceCount::Ptr{Cuint})::nvmlReturn_t -end - -@checked function nvmlDeviceGetHandleByIndex_v2(index, device) - initialize_context() - @gcsafe_ccall (libnvml()).nvmlDeviceGetHandleByIndex_v2(index::Cuint, - device::Ptr{nvmlDevice_t})::nvmlReturn_t -end - -@checked function nvmlDeviceGetHandleByPciBusId_v2(pciBusId, device) - initialize_context() - @gcsafe_ccall (libnvml()).nvmlDeviceGetHandleByPciBusId_v2(pciBusId::Cstring, - device::Ptr{nvmlDevice_t})::nvmlReturn_t -end - -@checked function nvmlDeviceGetNvLinkRemotePciInfo_v2(device, link, pci) - initialize_context() - @gcsafe_ccall (libnvml()).nvmlDeviceGetNvLinkRemotePciInfo_v2(device::nvmlDevice_t, - link::Cuint, - pci::Ptr{nvmlPciInfo_t})::nvmlReturn_t -end - -@cenum nvmlDetachGpuState_enum::UInt32 begin - NVML_DETACH_GPU_KEEP = 0 - NVML_DETACH_GPU_REMOVE = 1 -end - -const nvmlDetachGpuState_t = nvmlDetachGpuState_enum - -@cenum nvmlPcieLinkState_enum::UInt32 begin - NVML_PCIE_LINK_KEEP = 0 - NVML_PCIE_LINK_SHUT_DOWN = 1 -end - -const nvmlPcieLinkState_t = nvmlPcieLinkState_enum - -@checked function nvmlDeviceRemoveGpu_v2(pciInfo, gpuState, linkState) - initialize_context() - @gcsafe_ccall (libnvml()).nvmlDeviceRemoveGpu_v2(pciInfo::Ptr{nvmlPciInfo_t}, - gpuState::nvmlDetachGpuState_t, - linkState::nvmlPcieLinkState_t)::nvmlReturn_t -end - -@cenum nvmlGridLicenseFeatureCode_t::UInt32 begin - NVML_GRID_LICENSE_FEATURE_CODE_UNKNOWN = 0 - NVML_GRID_LICENSE_FEATURE_CODE_VGPU = 1 - NVML_GRID_LICENSE_FEATURE_CODE_NVIDIA_RTX = 2 - NVML_GRID_LICENSE_FEATURE_CODE_VWORKSTATION = 2 - NVML_GRID_LICENSE_FEATURE_CODE_GAMING = 3 - NVML_GRID_LICENSE_FEATURE_CODE_COMPUTE = 4 -end - -struct nvmlGridLicenseExpiry_st - year::Cuint - month::Cushort - day::Cushort - hour::Cushort - min::Cushort - sec::Cushort - status::Cuchar -end - -const nvmlGridLicenseExpiry_t = nvmlGridLicenseExpiry_st - -struct nvmlGridLicensableFeature_st - featureCode::nvmlGridLicenseFeatureCode_t - featureState::Cuint - licenseInfo::NTuple{128,Cchar} - productName::NTuple{128,Cchar} - featureEnabled::Cuint - licenseExpiry::nvmlGridLicenseExpiry_t -end - -const nvmlGridLicensableFeature_t = nvmlGridLicensableFeature_st - -struct nvmlGridLicensableFeatures_st - isGridLicenseSupported::Cint - licensableFeaturesCount::Cuint - gridLicensableFeatures::NTuple{3,nvmlGridLicensableFeature_t} -end - -const nvmlGridLicensableFeatures_t = nvmlGridLicensableFeatures_st - -@checked function nvmlDeviceGetGridLicensableFeatures_v4(device, pGridLicensableFeatures) - initialize_context() - @gcsafe_ccall (libnvml()).nvmlDeviceGetGridLicensableFeatures_v4(device::nvmlDevice_t, - pGridLicensableFeatures::Ptr{nvmlGridLicensableFeatures_t})::nvmlReturn_t -end - -mutable struct nvmlEventSet_st end - -const nvmlEventSet_t = Ptr{nvmlEventSet_st} - -struct nvmlEventData_st - device::nvmlDevice_t - eventType::Culonglong - eventData::Culonglong - gpuInstanceId::Cuint - computeInstanceId::Cuint -end - -const nvmlEventData_t = nvmlEventData_st - -@checked function nvmlEventSetWait_v2(set, data, timeoutms) - initialize_context() - @gcsafe_ccall (libnvml()).nvmlEventSetWait_v2(set::nvmlEventSet_t, - data::Ptr{nvmlEventData_t}, - timeoutms::Cuint)::nvmlReturn_t -end - -struct nvmlDeviceAttributes_st - multiprocessorCount::Cuint - sharedCopyEngineCount::Cuint - sharedDecoderCount::Cuint - sharedEncoderCount::Cuint - sharedJpegCount::Cuint - sharedOfaCount::Cuint - gpuInstanceSliceCount::Cuint - computeInstanceSliceCount::Cuint - memorySizeMB::Culonglong -end - -const nvmlDeviceAttributes_t = nvmlDeviceAttributes_st - -@checked function nvmlDeviceGetAttributes_v2(device, attributes) - initialize_context() - @gcsafe_ccall (libnvml()).nvmlDeviceGetAttributes_v2(device::nvmlDevice_t, - attributes::Ptr{nvmlDeviceAttributes_t})::nvmlReturn_t -end - -mutable struct nvmlComputeInstance_st end - -const nvmlComputeInstance_t = Ptr{nvmlComputeInstance_st} - -mutable struct nvmlGpuInstance_st end - -const nvmlGpuInstance_t = Ptr{nvmlGpuInstance_st} - -struct nvmlComputeInstancePlacement_st - start::Cuint - size::Cuint -end - -const nvmlComputeInstancePlacement_t = nvmlComputeInstancePlacement_st - -struct nvmlComputeInstanceInfo_st - device::nvmlDevice_t - gpuInstance::nvmlGpuInstance_t - id::Cuint - profileId::Cuint - placement::nvmlComputeInstancePlacement_t -end - -const nvmlComputeInstanceInfo_t = nvmlComputeInstanceInfo_st - -@checked function nvmlComputeInstanceGetInfo_v2(computeInstance, info) - initialize_context() - @gcsafe_ccall (libnvml()).nvmlComputeInstanceGetInfo_v2(computeInstance::nvmlComputeInstance_t, - info::Ptr{nvmlComputeInstanceInfo_t})::nvmlReturn_t -end - -struct nvmlProcessInfo_v2_st - pid::Cuint - usedGpuMemory::Culonglong - gpuInstanceId::Cuint - computeInstanceId::Cuint -end - -const nvmlProcessInfo_t = nvmlProcessInfo_v2_st - -@checked function nvmlDeviceGetComputeRunningProcesses_v3(device, infoCount, infos) - initialize_context() - @gcsafe_ccall (libnvml()).nvmlDeviceGetComputeRunningProcesses_v3(device::nvmlDevice_t, - infoCount::Ptr{Cuint}, - infos::Ptr{nvmlProcessInfo_t})::nvmlReturn_t -end - -@checked function nvmlDeviceGetGraphicsRunningProcesses_v3(device, infoCount, infos) - initialize_context() - @gcsafe_ccall (libnvml()).nvmlDeviceGetGraphicsRunningProcesses_v3(device::nvmlDevice_t, - infoCount::Ptr{Cuint}, - infos::Ptr{nvmlProcessInfo_t})::nvmlReturn_t -end - -@checked function nvmlDeviceGetMPSComputeRunningProcesses_v3(device, infoCount, infos) - initialize_context() - @gcsafe_ccall (libnvml()).nvmlDeviceGetMPSComputeRunningProcesses_v3(device::nvmlDevice_t, - infoCount::Ptr{Cuint}, - infos::Ptr{nvmlProcessInfo_t})::nvmlReturn_t -end - -struct nvmlExcludedDeviceInfo_st - pciInfo::nvmlPciInfo_t - uuid::NTuple{80,Cchar} -end - -const nvmlExcludedDeviceInfo_t = nvmlExcludedDeviceInfo_st - -@checked function nvmlGetExcludedDeviceCount(deviceCount) - initialize_context() - @gcsafe_ccall (libnvml()).nvmlGetExcludedDeviceCount(deviceCount::Ptr{Cuint})::nvmlReturn_t -end - -@checked function nvmlGetExcludedDeviceInfoByIndex(index, info) - initialize_context() - @gcsafe_ccall (libnvml()).nvmlGetExcludedDeviceInfoByIndex(index::Cuint, - info::Ptr{nvmlExcludedDeviceInfo_t})::nvmlReturn_t -end - -struct nvmlGpuInstancePlacement_st - start::Cuint - size::Cuint -end - -const nvmlGpuInstancePlacement_t = nvmlGpuInstancePlacement_st - -@checked function nvmlDeviceGetGpuInstancePossiblePlacements_v2(device, profileId, - placements, count) - initialize_context() - @gcsafe_ccall (libnvml()).nvmlDeviceGetGpuInstancePossiblePlacements_v2(device::nvmlDevice_t, - profileId::Cuint, - placements::Ptr{nvmlGpuInstancePlacement_t}, - count::Ptr{Cuint})::nvmlReturn_t -end - -const nvmlVgpuInstance_t = Cuint - -struct nvmlVgpuLicenseExpiry_st - year::Cuint - month::Cushort - day::Cushort - hour::Cushort - min::Cushort - sec::Cushort - status::Cuchar -end - -const nvmlVgpuLicenseExpiry_t = nvmlVgpuLicenseExpiry_st - -struct nvmlVgpuLicenseInfo_st - isLicensed::Cuchar - licenseExpiry::nvmlVgpuLicenseExpiry_t - currentState::Cuint -end - -const nvmlVgpuLicenseInfo_t = nvmlVgpuLicenseInfo_st - -@checked function nvmlVgpuInstanceGetLicenseInfo_v2(vgpuInstance, licenseInfo) - initialize_context() - @gcsafe_ccall (libnvml()).nvmlVgpuInstanceGetLicenseInfo_v2(vgpuInstance::nvmlVgpuInstance_t, - licenseInfo::Ptr{nvmlVgpuLicenseInfo_t})::nvmlReturn_t -end - -@cenum nvmlDriverModel_enum::UInt32 begin - NVML_DRIVER_WDDM = 0 - NVML_DRIVER_WDM = 1 - NVML_DRIVER_MCDM = 2 -end - -const nvmlDriverModel_t = nvmlDriverModel_enum - -@checked function nvmlDeviceGetDriverModel_v2(device, current, pending) - initialize_context() - @gcsafe_ccall (libnvml()).nvmlDeviceGetDriverModel_v2(device::nvmlDevice_t, - current::Ptr{nvmlDriverModel_t}, - pending::Ptr{nvmlDriverModel_t})::nvmlReturn_t -end - -@cenum nvmlMemoryErrorType_enum::UInt32 begin - NVML_MEMORY_ERROR_TYPE_CORRECTED = 0 - NVML_MEMORY_ERROR_TYPE_UNCORRECTED = 1 - NVML_MEMORY_ERROR_TYPE_COUNT = 2 -end - -const nvmlMemoryErrorType_t = nvmlMemoryErrorType_enum +const nvmlPciInfoExt_t = nvmlPciInfoExt_v1_t -struct nvmlPciInfoExt_v1_t - version::Cuint +struct nvmlPciInfo_st + busIdLegacy::NTuple{16,Cchar} domain::Cuint bus::Cuint device::Cuint pciDeviceId::Cuint pciSubSystemId::Cuint - baseClass::Cuint - subClass::Cuint busId::NTuple{32,Cchar} end -const nvmlPciInfoExt_t = nvmlPciInfoExt_v1_t +const nvmlPciInfo_t = nvmlPciInfo_st struct nvmlEccErrorCounts_st l1Cache::Culonglong @@ -435,8 +126,17 @@ end const nvmlProcessInfo_v1_t = nvmlProcessInfo_v1_st +struct nvmlProcessInfo_v2_st + pid::Cuint + usedGpuMemory::Culonglong + gpuInstanceId::Cuint + computeInstanceId::Cuint +end + const nvmlProcessInfo_v2_t = nvmlProcessInfo_v2_st +const nvmlProcessInfo_t = nvmlProcessInfo_v2_st + struct nvmlProcessDetail_v1_t pid::Cuint usedGpuMemory::Culonglong @@ -454,6 +154,20 @@ end const nvmlProcessDetailList_t = nvmlProcessDetailList_v1_t +struct nvmlDeviceAttributes_st + multiprocessorCount::Cuint + sharedCopyEngineCount::Cuint + sharedDecoderCount::Cuint + sharedEncoderCount::Cuint + sharedJpegCount::Cuint + sharedOfaCount::Cuint + gpuInstanceSliceCount::Cuint + computeInstanceSliceCount::Cuint + memorySizeMB::Culonglong +end + +const nvmlDeviceAttributes_t = nvmlDeviceAttributes_st + struct nvmlC2cModeInfo_v1_t isC2cEnabled::Cuint end @@ -716,32 +430,13 @@ end NVML_THERMAL_CONTROLLER_UNKNOWN = -1 end -struct var"##Ctag#345" +struct var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/nvml.h:697:5)" controller::nvmlThermalController_t defaultMinTemp::Cint defaultMaxTemp::Cint currentTemp::Cint target::nvmlThermalTarget_t end -function Base.getproperty(x::Ptr{var"##Ctag#345"}, 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#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"##Ctag#345"}, f::Symbol, v) - return unsafe_store!(getproperty(x, f), v) -end struct nvmlGpuThermalSettings_t data::NTuple{64,UInt8} @@ -749,7 +444,9 @@ end function Base.getproperty(x::Ptr{nvmlGpuThermalSettings_t}, f::Symbol) f === :count && return Ptr{Cuint}(x + 0) - f === :sensor && return Ptr{NTuple{3,var"##Ctag#345"}}(x + 4) + f === :sensor && return Ptr{NTuple{3, + var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/nvml.h:697:5)"}}(x + + 4) return getfield(x, f) end @@ -764,6 +461,34 @@ function Base.setproperty!(x::Ptr{nvmlGpuThermalSettings_t}, f::Symbol, v) return unsafe_store!(getproperty(x, f), v) end +@cenum nvmlCoolerControl_enum::UInt32 begin + NVML_THERMAL_COOLER_SIGNAL_NONE = 0 + NVML_THERMAL_COOLER_SIGNAL_TOGGLE = 1 + NVML_THERMAL_COOLER_SIGNAL_VARIABLE = 2 + NVML_THERMAL_COOLER_SIGNAL_COUNT = 3 +end + +const nvmlCoolerControl_t = nvmlCoolerControl_enum + +@cenum nvmlCoolerTarget_enum::UInt32 begin + NVML_THERMAL_COOLER_TARGET_NONE = 1 + NVML_THERMAL_COOLER_TARGET_GPU = 2 + NVML_THERMAL_COOLER_TARGET_MEMORY = 4 + NVML_THERMAL_COOLER_TARGET_POWER_SUPPLY = 8 + NVML_THERMAL_COOLER_TARGET_GPU_RELATED = 14 +end + +const nvmlCoolerTarget_t = nvmlCoolerTarget_enum + +struct nvmlCoolerInfo_v1_t + version::Cuint + index::Cuint + signalType::nvmlCoolerControl_t + target::nvmlCoolerTarget_t +end + +const nvmlCoolerInfo_t = nvmlCoolerInfo_v1_t + @cenum nvmlEnableState_enum::UInt32 begin NVML_FEATURE_DISABLED = 0 NVML_FEATURE_ENABLED = 1 @@ -771,6 +496,13 @@ end const nvmlEnableState_t = nvmlEnableState_enum +struct nvmlDramEncryptionInfo_v1_t + version::Cuint + encryptionState::nvmlEnableState_t +end + +const nvmlDramEncryptionInfo_t = nvmlDramEncryptionInfo_v1_t + @cenum nvmlBrandType_enum::UInt32 begin NVML_BRAND_UNKNOWN = 0 NVML_BRAND_QUADRO = 1 @@ -816,6 +548,13 @@ end const nvmlTemperatureSensors_t = nvmlTemperatureSensors_enum +struct nvmlMarginTemperature_v1_t + version::Cuint + marginTemperature::Cint +end + +const nvmlMarginTemperature_t = nvmlMarginTemperature_v1_t + @cenum nvmlComputeMode_enum::UInt32 begin NVML_COMPUTEMODE_DEFAULT = 0 NVML_COMPUTEMODE_EXCLUSIVE_THREAD = 1 @@ -841,6 +580,19 @@ end const nvmlClkMonStatus_t = nvmlClkMonStatus_status +@cenum nvmlNvlinkVersion_enum::UInt32 begin + NVML_NVLINK_VERSION_INVALID = 0 + NVML_NVLINK_VERSION_1_0 = 1 + NVML_NVLINK_VERSION_2_0 = 2 + NVML_NVLINK_VERSION_2_2 = 3 + NVML_NVLINK_VERSION_3_0 = 4 + NVML_NVLINK_VERSION_3_1 = 5 + NVML_NVLINK_VERSION_4_0 = 6 + NVML_NVLINK_VERSION_5_0 = 7 +end + +const nvmlNvlinkVersion_t = nvmlNvlinkVersion_enum + @cenum nvmlEccCounterType_enum::UInt32 begin NVML_VOLATILE_ECC = 0 NVML_AGGREGATE_ECC = 1 @@ -869,6 +621,14 @@ end const nvmlClockId_t = nvmlClockId_enum +@cenum nvmlDriverModel_enum::UInt32 begin + NVML_DRIVER_WDDM = 0 + NVML_DRIVER_WDM = 1 + NVML_DRIVER_MCDM = 2 +end + +const nvmlDriverModel_t = nvmlDriverModel_enum + @cenum nvmlPStates_enum::UInt32 begin NVML_PSTATE_0 = 0 NVML_PSTATE_1 = 1 @@ -902,6 +662,28 @@ end const nvmlClockOffset_t = nvmlClockOffset_v1_t +struct nvmlFanSpeedInfo_v1_t + version::Cuint + fan::Cuint + speed::Cuint +end + +const nvmlFanSpeedInfo_t = nvmlFanSpeedInfo_v1_t + +struct nvmlDevicePerfModes_v1_t + version::Cuint + str::NTuple{2048,Cchar} +end + +const nvmlDevicePerfModes_t = nvmlDevicePerfModes_v1_t + +struct nvmlDeviceCurrentClockFreqs_v1_t + version::Cuint + str::NTuple{2048,Cchar} +end + +const nvmlDeviceCurrentClockFreqs_t = nvmlDeviceCurrentClockFreqs_v1_t + @cenum nvmlGom_enum::UInt32 begin NVML_GOM_ALL_ON = 0 NVML_GOM_COMPUTE = 1 @@ -914,10 +696,47 @@ const nvmlGpuOperationMode_t = nvmlGom_enum NVML_INFOROM_OEM = 0 NVML_INFOROM_ECC = 1 NVML_INFOROM_POWER = 2 - NVML_INFOROM_COUNT = 3 + NVML_INFOROM_DEN = 3 + NVML_INFOROM_COUNT = 4 +end + +const nvmlInforomObject_t = nvmlInforomObject_enum + +@cenum nvmlReturn_enum::UInt32 begin + NVML_SUCCESS = 0 + NVML_ERROR_UNINITIALIZED = 1 + NVML_ERROR_INVALID_ARGUMENT = 2 + NVML_ERROR_NOT_SUPPORTED = 3 + NVML_ERROR_NO_PERMISSION = 4 + NVML_ERROR_ALREADY_INITIALIZED = 5 + NVML_ERROR_NOT_FOUND = 6 + NVML_ERROR_INSUFFICIENT_SIZE = 7 + NVML_ERROR_INSUFFICIENT_POWER = 8 + NVML_ERROR_DRIVER_NOT_LOADED = 9 + NVML_ERROR_TIMEOUT = 10 + NVML_ERROR_IRQ_ISSUE = 11 + NVML_ERROR_LIBRARY_NOT_FOUND = 12 + NVML_ERROR_FUNCTION_NOT_FOUND = 13 + NVML_ERROR_CORRUPTED_INFOROM = 14 + NVML_ERROR_GPU_IS_LOST = 15 + NVML_ERROR_RESET_REQUIRED = 16 + NVML_ERROR_OPERATING_SYSTEM = 17 + NVML_ERROR_LIB_RM_VERSION_MISMATCH = 18 + NVML_ERROR_IN_USE = 19 + NVML_ERROR_MEMORY = 20 + NVML_ERROR_NO_DATA = 21 + NVML_ERROR_VGPU_ECC_NOT_SUPPORTED = 22 + NVML_ERROR_INSUFFICIENT_RESOURCES = 23 + NVML_ERROR_FREQ_NOT_SUPPORTED = 24 + NVML_ERROR_ARGUMENT_VERSION_MISMATCH = 25 + NVML_ERROR_DEPRECATED = 26 + NVML_ERROR_NOT_READY = 27 + NVML_ERROR_GPU_NOT_FOUND = 28 + NVML_ERROR_INVALID_STATE = 29 + NVML_ERROR_UNKNOWN = 999 end -const nvmlInforomObject_t = nvmlInforomObject_enum +const nvmlReturn_t = nvmlReturn_enum @cenum nvmlMemoryLocation_enum::UInt32 begin NVML_MEMORY_LOCATION_L1_CACHE = 0 @@ -999,6 +818,19 @@ end const nvmlEccSramErrorStatus_t = nvmlEccSramErrorStatus_v1_t +struct nvmlPlatformInfo_v1_t + version::Cuint + ibGuid::NTuple{16,Cuchar} + rackGuid::NTuple{16,Cuchar} + chassisPhysicalSlotNumber::Cuchar + computeSlotIndex::Cuchar + nodeIndex::Cuchar + peerType::Cuchar + moduleId::Cuchar +end + +const nvmlPlatformInfo_t = nvmlPlatformInfo_v1_t + const nvmlDeviceArchitecture_t = Cuint const nvmlBusType_t = Cuint @@ -1014,30 +846,12 @@ const nvmlPowerSource_t = Cuint NVML_GPU_UTILIZATION_DOMAIN_BUS = 3 end -struct var"##Ctag#344" +struct var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/nvml.h:1402:5)" bIsPresent::Cuint percentage::Cuint incThreshold::Cuint decThreshold::Cuint end -function Base.getproperty(x::Ptr{var"##Ctag#344"}, 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#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"##Ctag#344"}, f::Symbol, v) - return unsafe_store!(getproperty(x, f), v) -end struct nvmlGpuDynamicPstatesInfo_st data::NTuple{132,UInt8} @@ -1045,7 +859,9 @@ end function Base.getproperty(x::Ptr{nvmlGpuDynamicPstatesInfo_st}, f::Symbol) f === :flags && return Ptr{Cuint}(x + 0) - f === :utilization && return Ptr{NTuple{8,var"##Ctag#344"}}(x + 4) + f === :utilization && return Ptr{NTuple{8, + var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/nvml.h:1402:5)"}}(x + + 4) return getfield(x, f) end @@ -1062,6 +878,14 @@ end const nvmlGpuDynamicPstatesInfo_t = nvmlGpuDynamicPstatesInfo_st +const nvmlPowerScopeType_t = Cuchar + +struct nvmlPowerValue_v2_t + version::Cuint + powerScope::nvmlPowerScopeType_t + powerValueMw::Cuint +end + @cenum nvmlGpuVirtualizationMode::UInt32 begin NVML_GPU_VIRTUALIZATION_MODE_NONE = 0 NVML_GPU_VIRTUALIZATION_MODE_PASSTHROUGH = 1 @@ -1093,6 +917,15 @@ end const nvmlVgpuGuestInfoState_t = nvmlVgpuGuestInfoState_enum +@cenum nvmlGridLicenseFeatureCode_t::UInt32 begin + NVML_GRID_LICENSE_FEATURE_CODE_UNKNOWN = 0 + NVML_GRID_LICENSE_FEATURE_CODE_VGPU = 1 + NVML_GRID_LICENSE_FEATURE_CODE_NVIDIA_RTX = 2 + NVML_GRID_LICENSE_FEATURE_CODE_VWORKSTATION = 2 + NVML_GRID_LICENSE_FEATURE_CODE_GAMING = 3 + NVML_GRID_LICENSE_FEATURE_CODE_COMPUTE = 4 +end + @cenum nvmlVgpuCapability_enum::UInt32 begin NVML_VGPU_CAP_NVLINK_P2P = 0 NVML_VGPU_CAP_GPUDIRECT = 1 @@ -1122,13 +955,16 @@ const nvmlVgpuDriverCapability_t = nvmlVgpuDriverCapability_enum NVML_DEVICE_VGPU_CAP_MINI_QUARTER_GPU = 6 NVML_DEVICE_VGPU_CAP_COMPUTE_MEDIA_ENGINE_GPU = 7 NVML_DEVICE_VGPU_CAP_WARM_UPDATE = 8 - NVML_DEVICE_VGPU_CAP_COUNT = 9 + NVML_DEVICE_VGPU_CAP_HOMOGENEOUS_PLACEMENTS = 9 + NVML_DEVICE_VGPU_CAP_COUNT = 10 end const nvmlDeviceVgpuCapability_t = nvmlDeviceVgpuCapability_enum const nvmlVgpuTypeId_t = Cuint +const nvmlVgpuInstance_t = Cuint + struct nvmlVgpuHeterogeneousMode_v1_t version::Cuint mode::Cuint @@ -1150,7 +986,15 @@ struct nvmlVgpuPlacementList_v1_t placementIds::Ptr{Cuint} end -const nvmlVgpuPlacementList_t = nvmlVgpuPlacementList_v1_t +struct nvmlVgpuPlacementList_v2_t + version::Cuint + placementSize::Cuint + count::Cuint + placementIds::Ptr{Cuint} + mode::Cuint +end + +const nvmlVgpuPlacementList_t = nvmlVgpuPlacementList_v2_t struct nvmlVgpuTypeBar1Info_v1_t version::Cuint @@ -1226,13 +1070,24 @@ end const nvmlVgpuProcessesUtilizationInfo_t = nvmlVgpuProcessesUtilizationInfo_v1_t +struct nvmlVgpuRuntimeState_v1_t + version::Cuint + size::Culonglong +end + +const nvmlVgpuRuntimeState_t = nvmlVgpuRuntimeState_v1_t + struct nvmlVgpuSchedulerParams_t data::NTuple{8,UInt8} end function Base.getproperty(x::Ptr{nvmlVgpuSchedulerParams_t}, f::Symbol) - f === :vgpuSchedDataWithARR && return Ptr{var"##Ctag#341"}(x + 0) - f === :vgpuSchedData && return Ptr{var"##Ctag#342"}(x + 0) + f === :vgpuSchedDataWithARR && + return Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/nvml.h:1792:5)"}(x + + 0) + f === :vgpuSchedData && + return Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/nvml.h:1798:5)"}(x + + 0) return getfield(x, f) end @@ -1282,8 +1137,12 @@ struct nvmlVgpuSchedulerSetParams_t end function Base.getproperty(x::Ptr{nvmlVgpuSchedulerSetParams_t}, f::Symbol) - f === :vgpuSchedDataWithARR && return Ptr{var"##Ctag#346"}(x + 0) - f === :vgpuSchedData && return Ptr{var"##Ctag#347"}(x + 0) + f === :vgpuSchedDataWithARR && + return Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/nvml.h:1846:5)"}(x + + 0) + f === :vgpuSchedData && + return Ptr{var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/nvml.h:1852:5)"}(x + + 0) return getfield(x, f) end @@ -1319,6 +1178,67 @@ end const nvmlVgpuSchedulerCapabilities_t = nvmlVgpuSchedulerCapabilities_st +struct nvmlVgpuLicenseExpiry_st + year::Cuint + month::Cushort + day::Cushort + hour::Cushort + min::Cushort + sec::Cushort + status::Cuchar +end + +const nvmlVgpuLicenseExpiry_t = nvmlVgpuLicenseExpiry_st + +struct nvmlVgpuLicenseInfo_st + isLicensed::Cuchar + licenseExpiry::nvmlVgpuLicenseExpiry_t + currentState::Cuint +end + +const nvmlVgpuLicenseInfo_t = nvmlVgpuLicenseInfo_st + +struct nvmlGridLicenseExpiry_st + year::Cuint + month::Cushort + day::Cushort + hour::Cushort + min::Cushort + sec::Cushort + status::Cuchar +end + +const nvmlGridLicenseExpiry_t = nvmlGridLicenseExpiry_st + +struct nvmlGridLicensableFeature_st + featureCode::nvmlGridLicenseFeatureCode_t + featureState::Cuint + licenseInfo::NTuple{128,Cchar} + productName::NTuple{128,Cchar} + featureEnabled::Cuint + licenseExpiry::nvmlGridLicenseExpiry_t +end + +const nvmlGridLicensableFeature_t = nvmlGridLicensableFeature_st + +struct nvmlGridLicensableFeatures_st + isGridLicenseSupported::Cint + licensableFeaturesCount::Cuint + gridLicensableFeatures::NTuple{3,nvmlGridLicensableFeature_t} +end + +const nvmlGridLicensableFeatures_t = nvmlGridLicensableFeatures_st + +@cenum nvmlDeviceGpuRecoveryAction_s::UInt32 begin + NVML_GPU_RECOVERY_ACTION_NONE = 0 + NVML_GPU_RECOVERY_ACTION_GPU_RESET = 1 + NVML_GPU_RECOVERY_ACTION_NODE_REBOOT = 2 + NVML_GPU_RECOVERY_ACTION_DRAIN_P2P = 3 + NVML_GPU_RECOVERY_ACTION_DRAIN_AND_RESET = 4 +end + +const nvmlDeviceGpuRecoveryAction_t = nvmlDeviceGpuRecoveryAction_s + struct nvmlNvLinkPowerThres_st lowPwrThreshold::Cuint end @@ -1401,6 +1321,20 @@ end const nvmlUnitFanSpeeds_t = nvmlUnitFanSpeeds_st +mutable struct nvmlEventSet_st end + +const nvmlEventSet_t = Ptr{nvmlEventSet_st} + +struct nvmlEventData_st + device::nvmlDevice_t + eventType::Culonglong + eventData::Culonglong + gpuInstanceId::Cuint + computeInstanceId::Cuint +end + +const nvmlEventData_t = nvmlEventData_st + struct nvmlAccountingStats_st gpuUtilization::Cuint memoryUtilization::Cuint @@ -1470,6 +1404,20 @@ end const nvmlFBCSessionInfo_t = nvmlFBCSessionInfo_st +@cenum nvmlDetachGpuState_enum::UInt32 begin + NVML_DETACH_GPU_KEEP = 0 + NVML_DETACH_GPU_REMOVE = 1 +end + +const nvmlDetachGpuState_t = nvmlDetachGpuState_enum + +@cenum nvmlPcieLinkState_enum::UInt32 begin + NVML_PCIE_LINK_KEEP = 0 + NVML_PCIE_LINK_SHUT_DOWN = 1 +end + +const nvmlPcieLinkState_t = nvmlPcieLinkState_enum + struct nvmlConfComputeSystemCaps_st cpuCaps::Cuint gpusCaps::Cuint @@ -1560,12 +1508,8 @@ end const nvmlGpuFabricInfoV_t = nvmlGpuFabricInfo_v2_t -const nvmlPowerScopeType_t = Cuchar - -struct nvmlPowerValue_v2_t - version::Cuint - powerScope::nvmlPowerScopeType_t - powerValueMw::Cuint +@checked function nvmlInit_v2() + @gcsafe_ccall (libnvml()).nvmlInit_v2()::nvmlReturn_t end @checked function nvmlInitWithFlags(flags) @@ -1681,6 +1625,23 @@ end devices::Ptr{nvmlDevice_t})::nvmlReturn_t end +@checked function nvmlDeviceGetCount_v2(deviceCount) + initialize_context() + @gcsafe_ccall (libnvml()).nvmlDeviceGetCount_v2(deviceCount::Ptr{Cuint})::nvmlReturn_t +end + +@checked function nvmlDeviceGetAttributes_v2(device, attributes) + initialize_context() + @gcsafe_ccall (libnvml()).nvmlDeviceGetAttributes_v2(device::nvmlDevice_t, + attributes::Ptr{nvmlDeviceAttributes_t})::nvmlReturn_t +end + +@checked function nvmlDeviceGetHandleByIndex_v2(index, device) + initialize_context() + @gcsafe_ccall (libnvml()).nvmlDeviceGetHandleByIndex_v2(index::Cuint, + device::Ptr{nvmlDevice_t})::nvmlReturn_t +end + @checked function nvmlDeviceGetHandleBySerial(serial, device) initialize_context() @gcsafe_ccall (libnvml()).nvmlDeviceGetHandleBySerial(serial::Cstring, @@ -1693,6 +1654,12 @@ end device::Ptr{nvmlDevice_t})::nvmlReturn_t end +@checked function nvmlDeviceGetHandleByPciBusId_v2(pciBusId, device) + initialize_context() + @gcsafe_ccall (libnvml()).nvmlDeviceGetHandleByPciBusId_v2(pciBusId::Cstring, + device::Ptr{nvmlDevice_t})::nvmlReturn_t +end + @checked function nvmlDeviceGetName(device, name, length) initialize_context() @gcsafe_ccall (libnvml()).nvmlDeviceGetName(device::nvmlDevice_t, name::Cstring, @@ -1869,6 +1836,12 @@ end pci::Ptr{nvmlPciInfoExt_t})::nvmlReturn_t end +@checked function nvmlDeviceGetPciInfo_v3(device, pci) + initialize_context() + @gcsafe_ccall (libnvml()).nvmlDeviceGetPciInfo_v3(device::nvmlDevice_t, + pci::Ptr{nvmlPciInfo_t})::nvmlReturn_t +end + @checked function nvmlDeviceGetMaxPcieLinkGeneration(device, maxLinkGen) initialize_context() @gcsafe_ccall (libnvml()).nvmlDeviceGetMaxPcieLinkGeneration(device::nvmlDevice_t, @@ -1996,6 +1969,12 @@ end speed::Ptr{Cuint})::nvmlReturn_t end +@checked function nvmlDeviceGetFanSpeedRPM(device, fanSpeed) + initialize_context() + @gcsafe_ccall (libnvml()).nvmlDeviceGetFanSpeedRPM(device::nvmlDevice_t, + fanSpeed::Ptr{nvmlFanSpeedInfo_t})::nvmlReturn_t +end + @checked function nvmlDeviceGetTargetFanSpeed(device, fan, targetSpeed) initialize_context() @gcsafe_ccall (libnvml()).nvmlDeviceGetTargetFanSpeed(device::nvmlDevice_t, fan::Cuint, @@ -2029,6 +2008,26 @@ end temp::Ptr{Cuint})::nvmlReturn_t end +@checked function nvmlDeviceGetCoolerInfo(device, coolerInfo) + initialize_context() + @gcsafe_ccall (libnvml()).nvmlDeviceGetCoolerInfo(device::nvmlDevice_t, + coolerInfo::Ptr{nvmlCoolerInfo_t})::nvmlReturn_t +end + +struct nvmlTemperature_v1_t + version::Cuint + sensorType::nvmlTemperatureSensors_t + temperature::Cint +end + +const nvmlTemperature_t = nvmlTemperature_v1_t + +@checked function nvmlDeviceGetTemperatureV(device, temperature) + initialize_context() + @gcsafe_ccall (libnvml()).nvmlDeviceGetTemperatureV(device::nvmlDevice_t, + temperature::Ptr{nvmlTemperature_t})::nvmlReturn_t +end + @checked function nvmlDeviceGetTemperatureThreshold(device, thresholdType, temp) initialize_context() @gcsafe_ccall (libnvml()).nvmlDeviceGetTemperatureThreshold(device::nvmlDevice_t, @@ -2036,6 +2035,12 @@ end temp::Ptr{Cuint})::nvmlReturn_t end +@checked function nvmlDeviceGetMarginTemperature(device, marginTempInfo) + initialize_context() + @gcsafe_ccall (libnvml()).nvmlDeviceGetMarginTemperature(device::nvmlDevice_t, + marginTempInfo::Ptr{nvmlMarginTemperature_t})::nvmlReturn_t +end + @checked function nvmlDeviceGetThermalSettings(device, sensorIndex, pThermalSettings) initialize_context() @gcsafe_ccall (libnvml()).nvmlDeviceGetThermalSettings(device::nvmlDevice_t, @@ -2136,6 +2141,18 @@ end info::Ptr{nvmlClockOffset_t})::nvmlReturn_t end +@checked function nvmlDeviceGetPerformanceModes(device, perfModes) + initialize_context() + @gcsafe_ccall (libnvml()).nvmlDeviceGetPerformanceModes(device::nvmlDevice_t, + perfModes::Ptr{nvmlDevicePerfModes_t})::nvmlReturn_t +end + +@checked function nvmlDeviceGetCurrentClockFreqs(device, currentClockFreqs) + initialize_context() + @gcsafe_ccall (libnvml()).nvmlDeviceGetCurrentClockFreqs(device::nvmlDevice_t, + currentClockFreqs::Ptr{nvmlDeviceCurrentClockFreqs_t})::nvmlReturn_t +end + @checked function nvmlDeviceGetPowerManagementMode(device, mode) initialize_context() @gcsafe_ccall (libnvml()).nvmlDeviceGetPowerManagementMode(device::nvmlDevice_t, @@ -2211,6 +2228,19 @@ end minor::Ptr{Cint})::nvmlReturn_t end +@checked function nvmlDeviceGetDramEncryptionMode(device, current, pending) + initialize_context() + @gcsafe_ccall (libnvml()).nvmlDeviceGetDramEncryptionMode(device::nvmlDevice_t, + current::Ptr{nvmlDramEncryptionInfo_t}, + pending::Ptr{nvmlDramEncryptionInfo_t})::nvmlReturn_t +end + +@checked function nvmlDeviceSetDramEncryptionMode(device, dramEncryption) + initialize_context() + @gcsafe_ccall (libnvml()).nvmlDeviceSetDramEncryptionMode(device::nvmlDevice_t, + dramEncryption::Ptr{nvmlDramEncryptionInfo_t})::nvmlReturn_t +end + @checked function nvmlDeviceGetEccMode(device, current, pending) initialize_context() @gcsafe_ccall (libnvml()).nvmlDeviceGetEccMode(device::nvmlDevice_t, @@ -2332,6 +2362,13 @@ end sessionInfo::Ptr{nvmlFBCSessionInfo_t})::nvmlReturn_t end +@checked function nvmlDeviceGetDriverModel_v2(device, current, pending) + initialize_context() + @gcsafe_ccall (libnvml()).nvmlDeviceGetDriverModel_v2(device::nvmlDevice_t, + current::Ptr{nvmlDriverModel_t}, + pending::Ptr{nvmlDriverModel_t})::nvmlReturn_t +end + @checked function nvmlDeviceGetVbiosVersion(device, version, length) initialize_context() @gcsafe_ccall (libnvml()).nvmlDeviceGetVbiosVersion(device::nvmlDevice_t, @@ -2345,6 +2382,27 @@ end bridgeHierarchy::Ptr{nvmlBridgeChipHierarchy_t})::nvmlReturn_t end +@checked function nvmlDeviceGetComputeRunningProcesses_v3(device, infoCount, infos) + initialize_context() + @gcsafe_ccall (libnvml()).nvmlDeviceGetComputeRunningProcesses_v3(device::nvmlDevice_t, + infoCount::Ptr{Cuint}, + infos::Ptr{nvmlProcessInfo_t})::nvmlReturn_t +end + +@checked function nvmlDeviceGetGraphicsRunningProcesses_v3(device, infoCount, infos) + initialize_context() + @gcsafe_ccall (libnvml()).nvmlDeviceGetGraphicsRunningProcesses_v3(device::nvmlDevice_t, + infoCount::Ptr{Cuint}, + infos::Ptr{nvmlProcessInfo_t})::nvmlReturn_t +end + +@checked function nvmlDeviceGetMPSComputeRunningProcesses_v3(device, infoCount, infos) + initialize_context() + @gcsafe_ccall (libnvml()).nvmlDeviceGetMPSComputeRunningProcesses_v3(device::nvmlDevice_t, + infoCount::Ptr{Cuint}, + infos::Ptr{nvmlProcessInfo_t})::nvmlReturn_t +end + @checked function nvmlDeviceGetRunningProcessDetailList(device, plist) initialize_context() @gcsafe_ccall (libnvml()).nvmlDeviceGetRunningProcessDetailList(device::nvmlDevice_t, @@ -2437,28 +2495,16 @@ end type::Ptr{nvmlBusType_t})::nvmlReturn_t end -@checked function nvmlDeviceGetGpuFabricInfo(device, gpuFabricInfo) - initialize_context() - @gcsafe_ccall (libnvml()).nvmlDeviceGetGpuFabricInfo(device::nvmlDevice_t, - gpuFabricInfo::Ptr{nvmlGpuFabricInfo_t})::nvmlReturn_t -end - -@checked function nvmlDeviceGetGpuFabricInfoV(device, gpuFabricInfo) - initialize_context() - @gcsafe_ccall (libnvml()).nvmlDeviceGetGpuFabricInfoV(device::nvmlDevice_t, - gpuFabricInfo::Ptr{nvmlGpuFabricInfoV_t})::nvmlReturn_t -end - -@checked function nvmlDeviceSetPowerManagementLimit_v2(device, powerValue) +@checked function nvmlDeviceGetGpuFabricInfo(device, gpuFabricInfo) initialize_context() - @gcsafe_ccall (libnvml()).nvmlDeviceSetPowerManagementLimit_v2(device::nvmlDevice_t, - powerValue::Ptr{nvmlPowerValue_v2_t})::nvmlReturn_t + @gcsafe_ccall (libnvml()).nvmlDeviceGetGpuFabricInfo(device::nvmlDevice_t, + gpuFabricInfo::Ptr{nvmlGpuFabricInfo_t})::nvmlReturn_t end -@checked function nvmlDeviceGetSramEccErrorStatus(device, status) +@checked function nvmlDeviceGetGpuFabricInfoV(device, gpuFabricInfo) initialize_context() - @gcsafe_ccall (libnvml()).nvmlDeviceGetSramEccErrorStatus(device::nvmlDevice_t, - status::Ptr{nvmlEccSramErrorStatus_t})::nvmlReturn_t + @gcsafe_ccall (libnvml()).nvmlDeviceGetGpuFabricInfoV(device::nvmlDevice_t, + gpuFabricInfo::Ptr{nvmlGpuFabricInfoV_t})::nvmlReturn_t end @checked function nvmlSystemGetConfComputeCapabilities(capabilities) @@ -2539,6 +2585,12 @@ end defaultMode::Ptr{Cuint})::nvmlReturn_t end +@checked function nvmlDeviceGetSramEccErrorStatus(device, status) + initialize_context() + @gcsafe_ccall (libnvml()).nvmlDeviceGetSramEccErrorStatus(device::nvmlDevice_t, + status::Ptr{nvmlEccSramErrorStatus_t})::nvmlReturn_t +end + @checked function nvmlDeviceGetAccountingMode(device, mode) initialize_context() @gcsafe_ccall (libnvml()).nvmlDeviceGetAccountingMode(device::nvmlDevice_t, @@ -2631,6 +2683,12 @@ end procesesUtilInfo::Ptr{nvmlProcessesUtilizationInfo_t})::nvmlReturn_t end +@checked function nvmlDeviceGetPlatformInfo(device, platformInfo) + initialize_context() + @gcsafe_ccall (libnvml()).nvmlDeviceGetPlatformInfo(device::nvmlDevice_t, + platformInfo::Ptr{nvmlPlatformInfo_t})::nvmlReturn_t +end + @checked function nvmlUnitSetLedState(unit, color) initialize_context() @gcsafe_ccall (libnvml()).nvmlUnitSetLedState(unit::nvmlUnit_t, @@ -2793,6 +2851,36 @@ 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} + totalBwModes::Cuchar +end + +const nvmlNvlinkSupportedBwModes_t = nvmlNvlinkSupportedBwModes_v1_t + +struct nvmlNvlinkGetBwMode_v1_t + version::Cuint + bIsBest::Cuint + bwMode::Cuchar +end + +const nvmlNvlinkGetBwMode_t = nvmlNvlinkGetBwMode_v1_t + +struct nvmlNvlinkSetBwMode_v1_t + version::Cuint + bSetBest::Cuint + bwMode::Cuchar +end + +const nvmlNvlinkSetBwMode_t = nvmlNvlinkSetBwMode_v1_t + @checked function nvmlDeviceGetNvLinkState(device, link, isActive) initialize_context() @gcsafe_ccall (libnvml()).nvmlDeviceGetNvLinkState(device::nvmlDevice_t, link::Cuint, @@ -2813,6 +2901,13 @@ end capResult::Ptr{Cuint})::nvmlReturn_t end +@checked function nvmlDeviceGetNvLinkRemotePciInfo_v2(device, link, pci) + initialize_context() + @gcsafe_ccall (libnvml()).nvmlDeviceGetNvLinkRemotePciInfo_v2(device::nvmlDevice_t, + link::Cuint, + pci::Ptr{nvmlPciInfo_t})::nvmlReturn_t +end + @checked function nvmlDeviceGetNvLinkErrorCounter(device, link, counter, counterValue) initialize_context() @gcsafe_ccall (libnvml()).nvmlDeviceGetNvLinkErrorCounter(device::nvmlDevice_t, @@ -2893,6 +2988,24 @@ end @gcsafe_ccall (libnvml()).nvmlSystemGetNvlinkBwMode(nvlinkBwMode::Ptr{Cuint})::nvmlReturn_t end +@checked function nvmlDeviceGetNvlinkSupportedBwModes(device, supportedBwMode) + initialize_context() + @gcsafe_ccall (libnvml()).nvmlDeviceGetNvlinkSupportedBwModes(device::nvmlDevice_t, + supportedBwMode::Ptr{nvmlNvlinkSupportedBwModes_t})::nvmlReturn_t +end + +@checked function nvmlDeviceGetNvlinkBwMode(device, getBwMode) + initialize_context() + @gcsafe_ccall (libnvml()).nvmlDeviceGetNvlinkBwMode(device::nvmlDevice_t, + getBwMode::Ptr{nvmlNvlinkGetBwMode_t})::nvmlReturn_t +end + +@checked function nvmlDeviceSetNvlinkBwMode(device, setBwMode) + initialize_context() + @gcsafe_ccall (libnvml()).nvmlDeviceSetNvlinkBwMode(device::nvmlDevice_t, + setBwMode::Ptr{nvmlNvlinkSetBwMode_t})::nvmlReturn_t +end + @checked function nvmlEventSetCreate(set) initialize_context() @gcsafe_ccall (libnvml()).nvmlEventSetCreate(set::Ptr{nvmlEventSet_t})::nvmlReturn_t @@ -2911,6 +3024,13 @@ end eventTypes::Ptr{Culonglong})::nvmlReturn_t end +@checked function nvmlEventSetWait_v2(set, data, timeoutms) + initialize_context() + @gcsafe_ccall (libnvml()).nvmlEventSetWait_v2(set::nvmlEventSet_t, + data::Ptr{nvmlEventData_t}, + timeoutms::Cuint)::nvmlReturn_t +end + @checked function nvmlEventSetFree(set) initialize_context() @gcsafe_ccall (libnvml()).nvmlEventSetFree(set::nvmlEventSet_t)::nvmlReturn_t @@ -2928,6 +3048,13 @@ end currentState::Ptr{nvmlEnableState_t})::nvmlReturn_t end +@checked function nvmlDeviceRemoveGpu_v2(pciInfo, gpuState, linkState) + initialize_context() + @gcsafe_ccall (libnvml()).nvmlDeviceRemoveGpu_v2(pciInfo::Ptr{nvmlPciInfo_t}, + gpuState::nvmlDetachGpuState_t, + linkState::nvmlPcieLinkState_t)::nvmlReturn_t +end + @checked function nvmlDeviceDiscoverGpus(pciInfo) initialize_context() @gcsafe_ccall (libnvml()).nvmlDeviceDiscoverGpus(pciInfo::Ptr{nvmlPciInfo_t})::nvmlReturn_t @@ -3011,6 +3138,12 @@ end fbReservation::Ptr{Culonglong})::nvmlReturn_t end +@checked function nvmlVgpuInstanceGetRuntimeStateSize(vgpuInstance, pState) + initialize_context() + @gcsafe_ccall (libnvml()).nvmlVgpuInstanceGetRuntimeStateSize(vgpuInstance::nvmlVgpuInstance_t, + pState::Ptr{nvmlVgpuRuntimeState_t})::nvmlReturn_t +end + @checked function nvmlDeviceSetVgpuCapabilities(device, capability, state) initialize_context() @gcsafe_ccall (libnvml()).nvmlDeviceSetVgpuCapabilities(device::nvmlDevice_t, @@ -3018,6 +3151,12 @@ end state::nvmlEnableState_t)::nvmlReturn_t end +@checked function nvmlDeviceGetGridLicensableFeatures_v4(device, pGridLicensableFeatures) + initialize_context() + @gcsafe_ccall (libnvml()).nvmlDeviceGetGridLicensableFeatures_v4(device::nvmlDevice_t, + pGridLicensableFeatures::Ptr{nvmlGridLicensableFeatures_t})::nvmlReturn_t +end + @checked function nvmlGetVgpuDriverCapabilities(capability, capResult) initialize_context() @gcsafe_ccall (libnvml()).nvmlGetVgpuDriverCapabilities(capability::nvmlVgpuDriverCapability_t, @@ -3433,6 +3572,37 @@ end @gcsafe_ccall (libnvml()).nvmlVgpuInstanceClearAccountingPids(vgpuInstance::nvmlVgpuInstance_t)::nvmlReturn_t end +@checked function nvmlVgpuInstanceGetLicenseInfo_v2(vgpuInstance, licenseInfo) + initialize_context() + @gcsafe_ccall (libnvml()).nvmlVgpuInstanceGetLicenseInfo_v2(vgpuInstance::nvmlVgpuInstance_t, + licenseInfo::Ptr{nvmlVgpuLicenseInfo_t})::nvmlReturn_t +end + +struct nvmlExcludedDeviceInfo_st + pciInfo::nvmlPciInfo_t + uuid::NTuple{80,Cchar} +end + +const nvmlExcludedDeviceInfo_t = nvmlExcludedDeviceInfo_st + +@checked function nvmlGetExcludedDeviceCount(deviceCount) + initialize_context() + @gcsafe_ccall (libnvml()).nvmlGetExcludedDeviceCount(deviceCount::Ptr{Cuint})::nvmlReturn_t +end + +@checked function nvmlGetExcludedDeviceInfoByIndex(index, info) + initialize_context() + @gcsafe_ccall (libnvml()).nvmlGetExcludedDeviceInfoByIndex(index::Cuint, + info::Ptr{nvmlExcludedDeviceInfo_t})::nvmlReturn_t +end + +struct nvmlGpuInstancePlacement_st + start::Cuint + size::Cuint +end + +const nvmlGpuInstancePlacement_t = nvmlGpuInstancePlacement_st + struct nvmlGpuInstanceProfileInfo_st id::Cuint isP2pSupported::Cuint @@ -3494,6 +3664,17 @@ end const nvmlGpuInstanceInfo_t = nvmlGpuInstanceInfo_st +mutable struct nvmlGpuInstance_st end + +const nvmlGpuInstance_t = Ptr{nvmlGpuInstance_st} + +struct nvmlComputeInstancePlacement_st + start::Cuint + size::Cuint +end + +const nvmlComputeInstancePlacement_t = nvmlComputeInstancePlacement_st + struct nvmlComputeInstanceProfileInfo_st id::Cuint sliceCount::Cuint @@ -3541,6 +3722,20 @@ end const nvmlComputeInstanceProfileInfo_v3_t = nvmlComputeInstanceProfileInfo_v3_st +struct nvmlComputeInstanceInfo_st + device::nvmlDevice_t + gpuInstance::nvmlGpuInstance_t + id::Cuint + profileId::Cuint + placement::nvmlComputeInstancePlacement_t +end + +const nvmlComputeInstanceInfo_t = nvmlComputeInstanceInfo_st + +mutable struct nvmlComputeInstance_st end + +const nvmlComputeInstance_t = Ptr{nvmlComputeInstance_st} + @checked function nvmlDeviceSetMigMode(device, mode, activationStatus) initialize_context() @gcsafe_ccall (libnvml()).nvmlDeviceSetMigMode(device::nvmlDevice_t, mode::Cuint, @@ -3568,6 +3763,15 @@ end info::Ptr{nvmlGpuInstanceProfileInfo_v2_t})::nvmlReturn_t end +@checked function nvmlDeviceGetGpuInstancePossiblePlacements_v2(device, profileId, + placements, count) + initialize_context() + @gcsafe_ccall (libnvml()).nvmlDeviceGetGpuInstancePossiblePlacements_v2(device::nvmlDevice_t, + profileId::Cuint, + placements::Ptr{nvmlGpuInstancePlacement_t}, + count::Ptr{Cuint})::nvmlReturn_t +end + @checked function nvmlDeviceGetGpuInstanceRemainingCapacity(device, profileId, count) initialize_context() @gcsafe_ccall (libnvml()).nvmlDeviceGetGpuInstanceRemainingCapacity(device::nvmlDevice_t, @@ -3691,6 +3895,12 @@ end computeInstance::Ptr{nvmlComputeInstance_t})::nvmlReturn_t end +@checked function nvmlComputeInstanceGetInfo_v2(computeInstance, info) + initialize_context() + @gcsafe_ccall (libnvml()).nvmlComputeInstanceGetInfo_v2(computeInstance::nvmlComputeInstance_t, + info::Ptr{nvmlComputeInstanceInfo_t})::nvmlReturn_t +end + @checked function nvmlDeviceIsMigDeviceHandle(device, isMigDevice) initialize_context() @gcsafe_ccall (libnvml()).nvmlDeviceIsMigDeviceHandle(device::nvmlDevice_t, @@ -3806,202 +4016,387 @@ mutable struct nvmlGpmSample_st end const nvmlGpmSample_t = Ptr{nvmlGpmSample_st} -struct var"##Ctag#343" +struct var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/nvml.h:11771:5)" shortName::Cstring longName::Cstring unit::Cstring end -function Base.getproperty(x::Ptr{var"##Ctag#343"}, f::Symbol) - f === :shortName && return Ptr{Cstring}(x + 0) - f === :longName && return Ptr{Cstring}(x + 8) - f === :unit && return Ptr{Cstring}(x + 16) + +struct nvmlGpmMetric_t + data::NTuple{40,UInt8} +end + +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/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/nvml.h:11771:5)"}(x + + 16) 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.getproperty(x::nvmlGpmMetric_t, f::Symbol) + r = Ref{nvmlGpmMetric_t}(x) + ptr = Base.unsafe_convert(Ptr{nvmlGpmMetric_t}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +function Base.setproperty!(x::Ptr{nvmlGpmMetric_t}, f::Symbol, v) + return unsafe_store!(getproperty(x, f), v) +end + +struct nvmlGpmMetricsGet_t + version::Cuint + numMetrics::Cuint + sample1::nvmlGpmSample_t + sample2::nvmlGpmSample_t + metrics::NTuple{98,nvmlGpmMetric_t} +end + +struct nvmlGpmSupport_t + version::Cuint + isSupportedDevice::Cuint +end + +@checked function nvmlGpmMetricsGet(metricsGet) + initialize_context() + @gcsafe_ccall (libnvml()).nvmlGpmMetricsGet(metricsGet::Ptr{nvmlGpmMetricsGet_t})::nvmlReturn_t +end + +@checked function nvmlGpmSampleFree(gpmSample) + initialize_context() + @gcsafe_ccall (libnvml()).nvmlGpmSampleFree(gpmSample::nvmlGpmSample_t)::nvmlReturn_t +end + +@checked function nvmlGpmSampleAlloc(gpmSample) + initialize_context() + @gcsafe_ccall (libnvml()).nvmlGpmSampleAlloc(gpmSample::Ptr{nvmlGpmSample_t})::nvmlReturn_t +end + +@checked function nvmlGpmSampleGet(device, gpmSample) + initialize_context() + @gcsafe_ccall (libnvml()).nvmlGpmSampleGet(device::nvmlDevice_t, + gpmSample::nvmlGpmSample_t)::nvmlReturn_t +end + +@checked function nvmlGpmMigSampleGet(device, gpuInstanceId, gpmSample) + initialize_context() + @gcsafe_ccall (libnvml()).nvmlGpmMigSampleGet(device::nvmlDevice_t, + gpuInstanceId::Cuint, + gpmSample::nvmlGpmSample_t)::nvmlReturn_t +end + +@checked function nvmlGpmQueryDeviceSupport(device, gpmSupport) + initialize_context() + @gcsafe_ccall (libnvml()).nvmlGpmQueryDeviceSupport(device::nvmlDevice_t, + gpmSupport::Ptr{nvmlGpmSupport_t})::nvmlReturn_t +end + +@checked function nvmlGpmQueryIfStreamingEnabled(device, state) + initialize_context() + @gcsafe_ccall (libnvml()).nvmlGpmQueryIfStreamingEnabled(device::nvmlDevice_t, + state::Ptr{Cuint})::nvmlReturn_t +end + +@checked function nvmlGpmSetStreamingEnabled(device, state) + initialize_context() + @gcsafe_ccall (libnvml()).nvmlGpmSetStreamingEnabled(device::nvmlDevice_t, + state::Cuint)::nvmlReturn_t +end + +struct nvmlDeviceCapabilities_v1_t + version::Cuint + capMask::Cuint +end + +const nvmlDeviceCapabilities_t = nvmlDeviceCapabilities_v1_t + +@checked function nvmlDeviceGetCapabilities(device, caps) + initialize_context() + @gcsafe_ccall (libnvml()).nvmlDeviceGetCapabilities(device::nvmlDevice_t, + caps::Ptr{nvmlDeviceCapabilities_t})::nvmlReturn_t +end + +struct nvmlMask255_t + mask::NTuple{8,Cuint} +end + +@cenum nvmlPowerProfileType_t::UInt32 begin + NVML_POWER_PROFILE_MAX_P = 0 + NVML_POWER_PROFILE_MAX_Q = 1 + NVML_POWER_PROFILE_COMPUTE = 2 + NVML_POWER_PROFILE_MEMORY_BOUND = 3 + NVML_POWER_PROFILE_NETWORK = 4 + NVML_POWER_PROFILE_BALANCED = 5 + NVML_POWER_PROFILE_LLM_INFERENCE = 6 + NVML_POWER_PROFILE_LLM_TRAINING = 7 + NVML_POWER_PROFILE_RBM = 8 + NVML_POWER_PROFILE_DCPCIE = 9 + NVML_POWER_PROFILE_HMMA_SPARSE = 10 + NVML_POWER_PROFILE_HMMA_DENSE = 11 + NVML_POWER_PROFILE_SYNC_BALANCED = 12 + NVML_POWER_PROFILE_HPC = 13 + NVML_POWER_PROFILE_MIG = 14 + NVML_POWER_PROFILE_MAX = 15 +end + +struct nvmlWorkloadPowerProfileInfo_v1_t + version::Cuint + profileId::Cuint + priority::Cuint + conflictingMask::nvmlMask255_t +end + +const nvmlWorkloadPowerProfileInfo_t = nvmlWorkloadPowerProfileInfo_v1_t + +struct nvmlWorkloadPowerProfileProfilesInfo_v1_t + version::Cuint + perfProfilesMask::nvmlMask255_t + perfProfile::NTuple{255,nvmlWorkloadPowerProfileInfo_t} +end + +const nvmlWorkloadPowerProfileProfilesInfo_t = nvmlWorkloadPowerProfileProfilesInfo_v1_t + +struct nvmlWorkloadPowerProfileCurrentProfiles_v1_t + version::Cuint + perfProfilesMask::nvmlMask255_t + requestedProfilesMask::nvmlMask255_t + enforcedProfilesMask::nvmlMask255_t +end + +const nvmlWorkloadPowerProfileCurrentProfiles_t = nvmlWorkloadPowerProfileCurrentProfiles_v1_t -function Base.setproperty!(x::Ptr{var"##Ctag#343"}, f::Symbol, v) - return unsafe_store!(getproperty(x, f), v) +struct nvmlWorkloadPowerProfileRequestedProfiles_v1_t + version::Cuint + requestedProfilesMask::nvmlMask255_t end -struct nvmlGpmMetric_t - data::NTuple{40,UInt8} +const nvmlWorkloadPowerProfileRequestedProfiles_t = nvmlWorkloadPowerProfileRequestedProfiles_v1_t + +@checked function nvmlDeviceWorkloadPowerProfileGetProfilesInfo(device, profilesInfo) + initialize_context() + @gcsafe_ccall (libnvml()).nvmlDeviceWorkloadPowerProfileGetProfilesInfo(device::nvmlDevice_t, + profilesInfo::Ptr{nvmlWorkloadPowerProfileProfilesInfo_t})::nvmlReturn_t end -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"##Ctag#343"}(x + 16) - return getfield(x, f) +@checked function nvmlDeviceWorkloadPowerProfileGetCurrentProfiles(device, currentProfiles) + initialize_context() + @gcsafe_ccall (libnvml()).nvmlDeviceWorkloadPowerProfileGetCurrentProfiles(device::nvmlDevice_t, + currentProfiles::Ptr{nvmlWorkloadPowerProfileCurrentProfiles_t})::nvmlReturn_t end -function Base.getproperty(x::nvmlGpmMetric_t, f::Symbol) - r = Ref{nvmlGpmMetric_t}(x) - ptr = Base.unsafe_convert(Ptr{nvmlGpmMetric_t}, r) - fptr = getproperty(ptr, f) - GC.@preserve r unsafe_load(fptr) +@checked function nvmlDeviceWorkloadPowerProfileSetRequestedProfiles(device, + requestedProfiles) + initialize_context() + @gcsafe_ccall (libnvml()).nvmlDeviceWorkloadPowerProfileSetRequestedProfiles(device::nvmlDevice_t, + requestedProfiles::Ptr{nvmlWorkloadPowerProfileRequestedProfiles_t})::nvmlReturn_t end -function Base.setproperty!(x::Ptr{nvmlGpmMetric_t}, f::Symbol, v) - return unsafe_store!(getproperty(x, f), v) +@checked function nvmlDeviceWorkloadPowerProfileClearRequestedProfiles(device, + requestedProfiles) + initialize_context() + @gcsafe_ccall (libnvml()).nvmlDeviceWorkloadPowerProfileClearRequestedProfiles(device::nvmlDevice_t, + requestedProfiles::Ptr{nvmlWorkloadPowerProfileRequestedProfiles_t})::nvmlReturn_t end -struct nvmlGpmMetricsGet_t +struct nvmlPowerSmoothingProfile_v1_t version::Cuint - numMetrics::Cuint - sample1::nvmlGpmSample_t - sample2::nvmlGpmSample_t - metrics::NTuple{98,nvmlGpmMetric_t} + profileId::Cuint + paramId::Cuint + value::Cdouble end -struct nvmlGpmSupport_t +const nvmlPowerSmoothingProfile_t = nvmlPowerSmoothingProfile_v1_t + +struct nvmlPowerSmoothingState_v1_t version::Cuint - isSupportedDevice::Cuint + state::nvmlEnableState_t end -@checked function nvmlGpmMetricsGet(metricsGet) +const nvmlPowerSmoothingState_t = nvmlPowerSmoothingState_v1_t + +@checked function nvmlDevicePowerSmoothingActivatePresetProfile(device, profile) initialize_context() - @gcsafe_ccall (libnvml()).nvmlGpmMetricsGet(metricsGet::Ptr{nvmlGpmMetricsGet_t})::nvmlReturn_t + @gcsafe_ccall (libnvml()).nvmlDevicePowerSmoothingActivatePresetProfile(device::nvmlDevice_t, + profile::Ptr{nvmlPowerSmoothingProfile_t})::nvmlReturn_t end -@checked function nvmlGpmSampleFree(gpmSample) +@checked function nvmlDevicePowerSmoothingUpdatePresetProfileParam(device, profile) initialize_context() - @gcsafe_ccall (libnvml()).nvmlGpmSampleFree(gpmSample::nvmlGpmSample_t)::nvmlReturn_t + @gcsafe_ccall (libnvml()).nvmlDevicePowerSmoothingUpdatePresetProfileParam(device::nvmlDevice_t, + profile::Ptr{nvmlPowerSmoothingProfile_t})::nvmlReturn_t end -@checked function nvmlGpmSampleAlloc(gpmSample) +@checked function nvmlDevicePowerSmoothingSetState(device, state) initialize_context() - @gcsafe_ccall (libnvml()).nvmlGpmSampleAlloc(gpmSample::Ptr{nvmlGpmSample_t})::nvmlReturn_t + @gcsafe_ccall (libnvml()).nvmlDevicePowerSmoothingSetState(device::nvmlDevice_t, + state::Ptr{nvmlPowerSmoothingState_t})::nvmlReturn_t end -@checked function nvmlGpmSampleGet(device, gpmSample) +@checked function nvmlInit() + @gcsafe_ccall (libnvml()).nvmlInit()::nvmlReturn_t +end + +@checked function nvmlDeviceGetCount(deviceCount) initialize_context() - @gcsafe_ccall (libnvml()).nvmlGpmSampleGet(device::nvmlDevice_t, - gpmSample::nvmlGpmSample_t)::nvmlReturn_t + @gcsafe_ccall (libnvml()).nvmlDeviceGetCount(deviceCount::Ptr{Cuint})::nvmlReturn_t end -@checked function nvmlGpmMigSampleGet(device, gpuInstanceId, gpmSample) +@checked function nvmlDeviceGetHandleByIndex(index, device) initialize_context() - @gcsafe_ccall (libnvml()).nvmlGpmMigSampleGet(device::nvmlDevice_t, - gpuInstanceId::Cuint, - gpmSample::nvmlGpmSample_t)::nvmlReturn_t + @gcsafe_ccall (libnvml()).nvmlDeviceGetHandleByIndex(index::Cuint, + device::Ptr{nvmlDevice_t})::nvmlReturn_t end -@checked function nvmlGpmQueryDeviceSupport(device, gpmSupport) +@checked function nvmlDeviceGetHandleByPciBusId(pciBusId, device) initialize_context() - @gcsafe_ccall (libnvml()).nvmlGpmQueryDeviceSupport(device::nvmlDevice_t, - gpmSupport::Ptr{nvmlGpmSupport_t})::nvmlReturn_t + @gcsafe_ccall (libnvml()).nvmlDeviceGetHandleByPciBusId(pciBusId::Cstring, + device::Ptr{nvmlDevice_t})::nvmlReturn_t end -@checked function nvmlGpmQueryIfStreamingEnabled(device, state) +@checked function nvmlDeviceGetPciInfo(device, pci) initialize_context() - @gcsafe_ccall (libnvml()).nvmlGpmQueryIfStreamingEnabled(device::nvmlDevice_t, - state::Ptr{Cuint})::nvmlReturn_t + @gcsafe_ccall (libnvml()).nvmlDeviceGetPciInfo(device::nvmlDevice_t, + pci::Ptr{nvmlPciInfo_t})::nvmlReturn_t end -@checked function nvmlGpmSetStreamingEnabled(device, state) +@checked function nvmlDeviceGetPciInfo_v2(device, pci) initialize_context() - @gcsafe_ccall (libnvml()).nvmlGpmSetStreamingEnabled(device::nvmlDevice_t, - state::Cuint)::nvmlReturn_t + @gcsafe_ccall (libnvml()).nvmlDeviceGetPciInfo_v2(device::nvmlDevice_t, + pci::Ptr{nvmlPciInfo_t})::nvmlReturn_t end -struct nvmlDeviceCapabilities_v1_t - version::Cuint - capMask::Cuint +@checked function nvmlDeviceGetNvLinkRemotePciInfo(device, link, pci) + initialize_context() + @gcsafe_ccall (libnvml()).nvmlDeviceGetNvLinkRemotePciInfo(device::nvmlDevice_t, + link::Cuint, + pci::Ptr{nvmlPciInfo_t})::nvmlReturn_t end -const nvmlDeviceCapabilities_t = nvmlDeviceCapabilities_v1_t +@checked function nvmlDeviceGetGridLicensableFeatures(device, pGridLicensableFeatures) + initialize_context() + @gcsafe_ccall (libnvml()).nvmlDeviceGetGridLicensableFeatures(device::nvmlDevice_t, + pGridLicensableFeatures::Ptr{nvmlGridLicensableFeatures_t})::nvmlReturn_t +end -@checked function nvmlDeviceGetCapabilities(device, caps) +@checked function nvmlDeviceGetGridLicensableFeatures_v2(device, pGridLicensableFeatures) initialize_context() - @gcsafe_ccall (libnvml()).nvmlDeviceGetCapabilities(device::nvmlDevice_t, - caps::Ptr{nvmlDeviceCapabilities_t})::nvmlReturn_t + @gcsafe_ccall (libnvml()).nvmlDeviceGetGridLicensableFeatures_v2(device::nvmlDevice_t, + pGridLicensableFeatures::Ptr{nvmlGridLicensableFeatures_t})::nvmlReturn_t end -struct var"##Ctag#341" - avgFactor::Cuint - timeslice::Cuint +@checked function nvmlDeviceGetGridLicensableFeatures_v3(device, pGridLicensableFeatures) + initialize_context() + @gcsafe_ccall (libnvml()).nvmlDeviceGetGridLicensableFeatures_v3(device::nvmlDevice_t, + pGridLicensableFeatures::Ptr{nvmlGridLicensableFeatures_t})::nvmlReturn_t end -function Base.getproperty(x::Ptr{var"##Ctag#341"}, f::Symbol) - f === :avgFactor && return Ptr{Cuint}(x + 0) - f === :timeslice && return Ptr{Cuint}(x + 4) - return getfield(x, f) + +@checked function nvmlDeviceRemoveGpu(pciInfo) + initialize_context() + @gcsafe_ccall (libnvml()).nvmlDeviceRemoveGpu(pciInfo::Ptr{nvmlPciInfo_t})::nvmlReturn_t end -function Base.getproperty(x::var"##Ctag#341", f::Symbol) - r = Ref{var"##Ctag#341"}(x) - ptr = Base.unsafe_convert(Ptr{var"##Ctag#341"}, r) - fptr = getproperty(ptr, f) - GC.@preserve r unsafe_load(fptr) +@checked function nvmlEventSetWait(set, data, timeoutms) + initialize_context() + @gcsafe_ccall (libnvml()).nvmlEventSetWait(set::nvmlEventSet_t, + data::Ptr{nvmlEventData_t}, + timeoutms::Cuint)::nvmlReturn_t end -function Base.setproperty!(x::Ptr{var"##Ctag#341"}, f::Symbol, v) - return unsafe_store!(getproperty(x, f), v) +@checked function nvmlDeviceGetAttributes(device, attributes) + initialize_context() + @gcsafe_ccall (libnvml()).nvmlDeviceGetAttributes(device::nvmlDevice_t, + attributes::Ptr{nvmlDeviceAttributes_t})::nvmlReturn_t end -struct var"##Ctag#342" - timeslice::Cuint +@checked function nvmlComputeInstanceGetInfo(computeInstance, info) + initialize_context() + @gcsafe_ccall (libnvml()).nvmlComputeInstanceGetInfo(computeInstance::nvmlComputeInstance_t, + info::Ptr{nvmlComputeInstanceInfo_t})::nvmlReturn_t end -function Base.getproperty(x::Ptr{var"##Ctag#342"}, f::Symbol) - f === :timeslice && return Ptr{Cuint}(x + 0) - return getfield(x, f) + +@checked function nvmlDeviceGetComputeRunningProcesses(device, infoCount, infos) + initialize_context() + @gcsafe_ccall (libnvml()).nvmlDeviceGetComputeRunningProcesses(device::nvmlDevice_t, + infoCount::Ptr{Cuint}, + infos::Ptr{nvmlProcessInfo_v1_t})::nvmlReturn_t end -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) +@checked function nvmlDeviceGetComputeRunningProcesses_v2(device, infoCount, infos) + initialize_context() + @gcsafe_ccall (libnvml()).nvmlDeviceGetComputeRunningProcesses_v2(device::nvmlDevice_t, + infoCount::Ptr{Cuint}, + infos::Ptr{nvmlProcessInfo_v2_t})::nvmlReturn_t end -function Base.setproperty!(x::Ptr{var"##Ctag#342"}, f::Symbol, v) - return unsafe_store!(getproperty(x, f), v) +@checked function nvmlDeviceGetGraphicsRunningProcesses(device, infoCount, infos) + initialize_context() + @gcsafe_ccall (libnvml()).nvmlDeviceGetGraphicsRunningProcesses(device::nvmlDevice_t, + infoCount::Ptr{Cuint}, + infos::Ptr{nvmlProcessInfo_v1_t})::nvmlReturn_t end -struct var"##Ctag#346" - avgFactor::Cuint - frequency::Cuint +@checked function nvmlDeviceGetGraphicsRunningProcesses_v2(device, infoCount, infos) + initialize_context() + @gcsafe_ccall (libnvml()).nvmlDeviceGetGraphicsRunningProcesses_v2(device::nvmlDevice_t, + infoCount::Ptr{Cuint}, + infos::Ptr{nvmlProcessInfo_v2_t})::nvmlReturn_t end -function Base.getproperty(x::Ptr{var"##Ctag#346"}, f::Symbol) - f === :avgFactor && return Ptr{Cuint}(x + 0) - f === :frequency && return Ptr{Cuint}(x + 4) - return getfield(x, f) + +@checked function nvmlDeviceGetMPSComputeRunningProcesses(device, infoCount, infos) + initialize_context() + @gcsafe_ccall (libnvml()).nvmlDeviceGetMPSComputeRunningProcesses(device::nvmlDevice_t, + infoCount::Ptr{Cuint}, + infos::Ptr{nvmlProcessInfo_v1_t})::nvmlReturn_t end -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) +@checked function nvmlDeviceGetMPSComputeRunningProcesses_v2(device, infoCount, infos) + initialize_context() + @gcsafe_ccall (libnvml()).nvmlDeviceGetMPSComputeRunningProcesses_v2(device::nvmlDevice_t, + infoCount::Ptr{Cuint}, + infos::Ptr{nvmlProcessInfo_v2_t})::nvmlReturn_t end -function Base.setproperty!(x::Ptr{var"##Ctag#346"}, f::Symbol, v) - return unsafe_store!(getproperty(x, f), v) +@checked function nvmlDeviceGetGpuInstancePossiblePlacements(device, profileId, placements, + count) + initialize_context() + @gcsafe_ccall (libnvml()).nvmlDeviceGetGpuInstancePossiblePlacements(device::nvmlDevice_t, + profileId::Cuint, + placements::Ptr{nvmlGpuInstancePlacement_t}, + count::Ptr{Cuint})::nvmlReturn_t +end + +@checked function nvmlVgpuInstanceGetLicenseInfo(vgpuInstance, licenseInfo) + initialize_context() + @gcsafe_ccall (libnvml()).nvmlVgpuInstanceGetLicenseInfo(vgpuInstance::nvmlVgpuInstance_t, + licenseInfo::Ptr{nvmlVgpuLicenseInfo_t})::nvmlReturn_t +end + +@checked function nvmlDeviceGetDriverModel(device, current, pending) + initialize_context() + @gcsafe_ccall (libnvml()).nvmlDeviceGetDriverModel(device::nvmlDevice_t, + current::Ptr{nvmlDriverModel_t}, + pending::Ptr{nvmlDriverModel_t})::nvmlReturn_t end -struct var"##Ctag#347" +struct var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/nvml.h:1792:5)" + avgFactor::Cuint timeslice::Cuint end -function Base.getproperty(x::Ptr{var"##Ctag#347"}, f::Symbol) - f === :timeslice && return Ptr{Cuint}(x + 0) - return getfield(x, f) + +struct var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/nvml.h:1798:5)" + timeslice::Cuint 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) +struct var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/nvml.h:1846:5)" + avgFactor::Cuint + frequency::Cuint end -function Base.setproperty!(x::Ptr{var"##Ctag#347"}, f::Symbol, v) - return unsafe_store!(getproperty(x, f), v) +struct var"struct (unnamed at /home/tim/.julia/artifacts/7bb30495a30b7f05ebd34ec477e37dcd24990bef/cuda/include/nvml.h:1852:5)" + timeslice::Cuint end const NVML_API_VERSION = 12 @@ -4014,6 +4409,18 @@ const NVML_DEVICE_PCI_BUS_ID_BUFFER_SIZE = 32 const NVML_DEVICE_PCI_BUS_ID_BUFFER_V2_SIZE = 16 +const nvmlPciInfoExt_v1 = @NVML_STRUCT_VERSION(PciInfoExt, 1) + +const NVML_DEVICE_PCI_BUS_ID_LEGACY_FMT = "%04X:%02X:%02X.0" + +const NVML_DEVICE_PCI_BUS_ID_FMT = "%08X:%02X:%02X.0" + +const nvmlMemory_v2 = @NVML_STRUCT_VERSION(Memory, 2) + +const nvmlProcessDetailList_v1 = @NVML_STRUCT_VERSION(ProcessDetailList, 1) + +const nvmlC2cModeInfo_v1 = @NVML_STRUCT_VERSION(C2cModeInfo, 1) + const NVML_NVLINK_MAX_LINKS = 18 const NVML_TOPOLOGY_CPU = NVML_TOPOLOGY_NODE @@ -4022,10 +4429,16 @@ const NVML_MAX_PHYSICAL_BRIDGE = 128 const NVML_MAX_THERMAL_SENSORS_PER_GPU = 3 +const nvmlCoolerInfo_v1 = @NVML_STRUCT_VERSION(CoolerInfo, 1) + const nvmlFlagDefault = 0x00 const nvmlFlagForce = 0x01 +const nvmlDramEncryptionInfo_v1 = @NVML_STRUCT_VERSION(DramEncryptionInfo, 1) + +const nvmlMarginTemperature_v1 = @NVML_STRUCT_VERSION(MarginTemperature, 1) + const MAX_CLK_DOMAINS = 32 const NVML_SINGLE_BIT_ECC = NVML_MEMORY_ERROR_TYPE_CORRECTED @@ -4034,6 +4447,22 @@ const NVML_DOUBLE_BIT_ECC = NVML_MEMORY_ERROR_TYPE_UNCORRECTED const NVML_MAX_GPU_PERF_PSTATES = 16 +const nvmlClockOffset_v1 = @NVML_STRUCT_VERSION(ClockOffset, 1) + +const nvmlFanSpeedInfo_v1 = @NVML_STRUCT_VERSION(FanSpeedInfo, 1) + +const NVML_PERF_MODES_BUFFER_SIZE = 2048 + +const nvmlDevicePerfModes_v1 = @NVML_STRUCT_VERSION(DevicePerfModes, 1) + +const nvmlDeviceCurrentClockFreqs_v1 = @NVML_STRUCT_VERSION(DeviceCurrentClockFreqs, 1) + +const nvmlProcessesUtilizationInfo_v1 = @NVML_STRUCT_VERSION(ProcessesUtilizationInfo, 1) + +const nvmlEccSramErrorStatus_v1 = @NVML_STRUCT_VERSION(EccSramErrorStatus, 1) + +const nvmlPlatformInfo_v1 = @NVML_STRUCT_VERSION(PlatformInfo, 1) + const NVML_GSP_FIRMWARE_VERSION_BUF_SIZE = 0x40 const NVML_DEVICE_ARCH_KEPLER = 2 @@ -4114,6 +4543,14 @@ const NVML_PCIE_ATOMICS_CAP_CAS128 = 0x40 const NVML_PCIE_ATOMICS_OPS_MAX = 7 +const NVML_POWER_SCOPE_GPU = Cuint(0) + +const NVML_POWER_SCOPE_MODULE = Cuint(1) + +const NVML_POWER_SCOPE_MEMORY = Cuint(2) + +const nvmlPowerValue_v2 = @NVML_STRUCT_VERSION(PowerValue, 2) + const NVML_GRID_LICENSE_EXPIRY_NOT_AVAILABLE = 0 const NVML_GRID_LICENSE_EXPIRY_INVALID = 1 @@ -4148,6 +4585,28 @@ const NVML_VGPU_PGPU_VIRTUALIZATION_CAP_MIGRATION_NO = 0x00 const NVML_VGPU_PGPU_VIRTUALIZATION_CAP_MIGRATION_YES = 0x01 +const NVML_VGPU_PGPU_HETEROGENEOUS_MODE = 0 + +const NVML_VGPU_PGPU_HOMOGENEOUS_MODE = 1 + +const nvmlVgpuHeterogeneousMode_v1 = @NVML_STRUCT_VERSION(VgpuHeterogeneousMode, 1) + +const nvmlVgpuPlacementId_v1 = @NVML_STRUCT_VERSION(VgpuPlacementId, 1) + +const nvmlVgpuPlacementList_v1 = @NVML_STRUCT_VERSION(VgpuPlacementList, 1) + +const nvmlVgpuPlacementList_v2 = @NVML_STRUCT_VERSION(VgpuPlacementList, 2) + +const nvmlVgpuTypeBar1Info_v1 = @NVML_STRUCT_VERSION(VgpuTypeBar1Info, 1) + +const nvmlVgpuInstancesUtilizationInfo_v1 = @NVML_STRUCT_VERSION(VgpuInstancesUtilizationInfo, + 1) + +const nvmlVgpuProcessesUtilizationInfo_v1 = @NVML_STRUCT_VERSION(VgpuProcessesUtilizationInfo, + 1) + +const nvmlVgpuRuntimeState_v1 = @NVML_STRUCT_VERSION(VgpuRuntimeState, 1) + const NVML_VGPU_SCHEDULER_POLICY_UNKNOWN = 0 const NVML_VGPU_SCHEDULER_POLICY_BEST_EFFORT = 1 @@ -4574,9 +5033,9 @@ const NVML_FI_DEV_PCIE_COUNT_TX_BYTES = 197 const NVML_FI_DEV_PCIE_COUNT_RX_BYTES = 198 -const NVML_FI_DEV_NVLINK_GET_POWER_THRESHOLD_MAX = 199 +const NVML_FI_DEV_IS_MIG_MODE_INDEPENDENT_MIG_QUERY_CAPABLE = 199 -const NVML_FI_DEV_IS_MIG_MODE_INDEPENDENT_MIG_QUERY_CAPABLE = 200 +const NVML_FI_DEV_NVLINK_GET_POWER_THRESHOLD_MAX = 200 const NVML_FI_DEV_NVLINK_COUNT_XMIT_PACKETS = 201 @@ -4636,7 +5095,77 @@ const NVML_FI_DEV_PCIE_OUTBOUND_ATOMICS_MASK = 228 const NVML_FI_DEV_PCIE_INBOUND_ATOMICS_MASK = 229 -const NVML_FI_MAX = 230 +const NVML_FI_DEV_GET_GPU_RECOVERY_ACTION = 230 + +const NVML_FI_DEV_NVLINK_COUNT_FEC_HISTORY_0 = 235 + +const NVML_FI_DEV_NVLINK_COUNT_FEC_HISTORY_1 = 236 + +const NVML_FI_DEV_NVLINK_COUNT_FEC_HISTORY_2 = 237 + +const NVML_FI_DEV_NVLINK_COUNT_FEC_HISTORY_3 = 238 + +const NVML_FI_DEV_NVLINK_COUNT_FEC_HISTORY_4 = 239 + +const NVML_FI_DEV_NVLINK_COUNT_FEC_HISTORY_5 = 240 + +const NVML_FI_DEV_NVLINK_COUNT_FEC_HISTORY_6 = 241 + +const NVML_FI_DEV_NVLINK_COUNT_FEC_HISTORY_7 = 242 + +const NVML_FI_DEV_NVLINK_COUNT_FEC_HISTORY_8 = 243 + +const NVML_FI_DEV_NVLINK_COUNT_FEC_HISTORY_9 = 244 + +const NVML_FI_DEV_NVLINK_COUNT_FEC_HISTORY_10 = 245 + +const NVML_FI_DEV_NVLINK_COUNT_FEC_HISTORY_11 = 246 + +const NVML_FI_DEV_NVLINK_COUNT_FEC_HISTORY_12 = 247 + +const NVML_FI_DEV_NVLINK_COUNT_FEC_HISTORY_13 = 248 + +const NVML_FI_DEV_NVLINK_COUNT_FEC_HISTORY_14 = 249 + +const NVML_FI_DEV_NVLINK_COUNT_FEC_HISTORY_15 = 250 + +const NVML_FI_PWR_SMOOTHING_ENABLED = 251 + +const NVML_FI_PWR_SMOOTHING_PRIV_LVL = 252 + +const NVML_FI_PWR_SMOOTHING_IMM_RAMP_DOWN_ENABLED = 253 + +const NVML_FI_PWR_SMOOTHING_APPLIED_TMP_CEIL = 254 + +const NVML_FI_PWR_SMOOTHING_APPLIED_TMP_FLOOR = 255 + +const NVML_FI_PWR_SMOOTHING_MAX_PERCENT_TMP_FLOOR_SETTING = 256 + +const NVML_FI_PWR_SMOOTHING_MIN_PERCENT_TMP_FLOOR_SETTING = 257 + +const NVML_FI_PWR_SMOOTHING_HW_CIRCUITRY_PERCENT_LIFETIME_REMAINING = 258 + +const NVML_FI_PWR_SMOOTHING_MAX_NUM_PRESET_PROFILES = 259 + +const NVML_FI_PWR_SMOOTHING_PROFILE_PERCENT_TMP_FLOOR = 260 + +const NVML_FI_PWR_SMOOTHING_PROFILE_RAMP_UP_RATE = 261 + +const NVML_FI_PWR_SMOOTHING_PROFILE_RAMP_DOWN_RATE = 262 + +const NVML_FI_PWR_SMOOTHING_PROFILE_RAMP_DOWN_HYST_VAL = 263 + +const NVML_FI_PWR_SMOOTHING_ACTIVE_PRESET_PROFILE = 264 + +const NVML_FI_PWR_SMOOTHING_ADMIN_OVERRIDE_PERCENT_TMP_FLOOR = 265 + +const NVML_FI_PWR_SMOOTHING_ADMIN_OVERRIDE_RAMP_UP_RATE = 266 + +const NVML_FI_PWR_SMOOTHING_ADMIN_OVERRIDE_RAMP_DOWN_RATE = 267 + +const NVML_FI_PWR_SMOOTHING_ADMIN_OVERRIDE_RAMP_DOWN_HYST_VAL = 268 + +const NVML_FI_MAX = 269 const NVML_NVLINK_LOW_POWER_THRESHOLD_UNIT_100US = 0x00 @@ -4680,14 +5209,20 @@ const nvmlEventTypeNonFatalPoisonError = Clonglong(0x0000000000001000) const nvmlEventTypeFatalPoisonError = Clonglong(0x0000000000002000) -const nvmlEventTypeAll = (((((((((((nvmlEventTypeNone | nvmlEventTypeSingleBitEccError) | - nvmlEventTypeDoubleBitEccError) | nvmlEventTypePState) | - nvmlEventTypeClock) | nvmlEventTypeXidCriticalError) | - nvmlEventTypePowerSourceChange) | nvmlEventMigConfigChange) | - nvmlEventTypeSingleBitEccErrorStorm) | - nvmlEventTypeDramRetirementEvent) | - nvmlEventTypeDramRetirementFailure) | - nvmlEventTypeNonFatalPoisonError) | nvmlEventTypeFatalPoisonError +const nvmlEventTypeGpuUnavailableError = Clonglong(0x0000000000004000) + +const nvmlEventTypeGpuRecoveryAction = Clonglong(0x0000000000008000) + +const nvmlEventTypeAll = (((((((((((((nvmlEventTypeNone | nvmlEventTypeSingleBitEccError) | + nvmlEventTypeDoubleBitEccError) | nvmlEventTypePState) | + nvmlEventTypeClock) | nvmlEventTypeXidCriticalError) | + nvmlEventTypePowerSourceChange) | nvmlEventMigConfigChange) | + nvmlEventTypeSingleBitEccErrorStorm) | + nvmlEventTypeDramRetirementEvent) | + nvmlEventTypeDramRetirementFailure) | + nvmlEventTypeNonFatalPoisonError) | + nvmlEventTypeFatalPoisonError) | + nvmlEventTypeGpuUnavailableError) | nvmlEventTypeGpuRecoveryAction const nvmlClocksEventReasonGpuIdle = Clonglong(0x0000000000000001) @@ -4728,6 +5263,10 @@ const NVML_CC_SYSTEM_CPU_CAPS_AMD_SEV = 1 const NVML_CC_SYSTEM_CPU_CAPS_INTEL_TDX = 2 +const NVML_CC_SYSTEM_CPU_CAPS_AMD_SEV_SNP = 3 + +const NVML_CC_SYSTEM_CPU_CAPS_AMD_SNP_VTOM = 4 + const NVML_CC_SYSTEM_GPUS_CC_NOT_CAPABLE = 0 const NVML_CC_SYSTEM_GPUS_CC_CAPABLE = 1 @@ -4750,6 +5289,8 @@ const NVML_CC_SYSTEM_MULTIGPU_NONE = 0 const NVML_CC_SYSTEM_MULTIGPU_PROTECTED_PCIE = 1 +const nvmlSystemConfComputeSettings_v1 = @NVML_STRUCT_VERSION(SystemConfComputeSettings, 1) + const NVML_CC_ACCEPTING_CLIENT_REQUESTS_FALSE = 0 const NVML_CC_ACCEPTING_CLIENT_REQUESTS_TRUE = 1 @@ -4770,7 +5311,13 @@ const NVML_CC_CEC_ATTESTATION_REPORT_PRESENT = 1 const NVML_CC_KEY_ROTATION_THRESHOLD_ATTACKER_ADVANTAGE_MIN = 50 -const NVML_CC_KEY_ROTATION_THRESHOLD_ATTACKER_ADVANTAGE_MAX = 75 +const NVML_CC_KEY_ROTATION_THRESHOLD_ATTACKER_ADVANTAGE_MAX = 65 + +const nvmlConfComputeSetKeyRotationThresholdInfo_v1 = @NVML_STRUCT_VERSION(ConfComputeSetKeyRotationThresholdInfo, + 1) + +const nvmlConfComputeGetKeyRotationThresholdInfo_v1 = @NVML_STRUCT_VERSION(ConfComputeGetKeyRotationThresholdInfo, + 1) const NVML_GPU_FABRIC_UUID_LEN = 16 @@ -4790,13 +5337,39 @@ const NVML_GPU_FABRIC_HEALTH_MASK_DEGRADED_BW_FALSE = 2 const NVML_GPU_FABRIC_HEALTH_MASK_SHIFT_DEGRADED_BW = 0 -const NVML_GPU_FABRIC_HEALTH_MASK_WIDTH_DEGRADED_BW = 0x11 +const NVML_GPU_FABRIC_HEALTH_MASK_WIDTH_DEGRADED_BW = 0x03 -const NVML_POWER_SCOPE_GPU = Cuint(0) +const NVML_GPU_FABRIC_HEALTH_MASK_ROUTE_RECOVERY_NOT_SUPPORTED = 0 -const NVML_POWER_SCOPE_MODULE = Cuint(1) +const NVML_GPU_FABRIC_HEALTH_MASK_ROUTE_RECOVERY_TRUE = 1 -const NVML_POWER_SCOPE_MEMORY = Cuint(2) +const NVML_GPU_FABRIC_HEALTH_MASK_ROUTE_RECOVERY_FALSE = 2 + +const NVML_GPU_FABRIC_HEALTH_MASK_SHIFT_ROUTE_RECOVERY = 2 + +const NVML_GPU_FABRIC_HEALTH_MASK_WIDTH_ROUTE_RECOVERY = 0x03 + +const NVML_GPU_FABRIC_HEALTH_MASK_ROUTE_UNHEALTHY_NOT_SUPPORTED = 0 + +const NVML_GPU_FABRIC_HEALTH_MASK_ROUTE_UNHEALTHY_TRUE = 1 + +const NVML_GPU_FABRIC_HEALTH_MASK_ROUTE_UNHEALTHY_FALSE = 2 + +const NVML_GPU_FABRIC_HEALTH_MASK_SHIFT_ROUTE_UNHEALTHY = 4 + +const NVML_GPU_FABRIC_HEALTH_MASK_WIDTH_ROUTE_UNHEALTHY = 0x03 + +const NVML_GPU_FABRIC_HEALTH_MASK_ACCESS_TIMEOUT_RECOVERY_NOT_SUPPORTED = 0 + +const NVML_GPU_FABRIC_HEALTH_MASK_ACCESS_TIMEOUT_RECOVERY_TRUE = 1 + +const NVML_GPU_FABRIC_HEALTH_MASK_ACCESS_TIMEOUT_RECOVERY_FALSE = 2 + +const NVML_GPU_FABRIC_HEALTH_MASK_SHIFT_ACCESS_TIMEOUT_RECOVERY = 6 + +const NVML_GPU_FABRIC_HEALTH_MASK_WIDTH_ACCESS_TIMEOUT_RECOVERY = 0x03 + +const nvmlGpuFabricInfo_v2 = @NVML_STRUCT_VERSION(GpuFabricInfo, 2) const NVML_INIT_FLAG_NO_GPUS = 1 @@ -4822,10 +5395,36 @@ const NVML_DEVICE_SERIAL_BUFFER_SIZE = 30 const NVML_DEVICE_VBIOS_VERSION_BUFFER_SIZE = 32 +const nvmlSystemDriverBranchInfo_v1 = @NVML_STRUCT_VERSION(SystemDriverBranchInfo, 1) + const NVML_AFFINITY_SCOPE_NODE = 0 const NVML_AFFINITY_SCOPE_SOCKET = 1 +const nvmlTemperature_v1 = @NVML_STRUCT_VERSION(Temperature, 1) + +const NVML_NVLINK_BER_MANTISSA_SHIFT = 8 + +const NVML_NVLINK_BER_MANTISSA_WIDTH = 0x0f + +const NVML_NVLINK_BER_EXP_SHIFT = 0 + +const NVML_NVLINK_BER_EXP_WIDTH = 0xff + +const NVML_NVLINK_STATE_INACTIVE = 0x00 + +const NVML_NVLINK_STATE_ACTIVE = 0x01 + +const NVML_NVLINK_STATE_SLEEP = 0x02 + +const NVML_NVLINK_TOTAL_SUPPORTED_BW_MODES = 23 + +const nvmlNvlinkSupportedBwModes_v1 = @NVML_STRUCT_VERSION(NvlinkSupportedBwModes, 1) + +const nvmlNvlinkGetBwMode_v1 = @NVML_STRUCT_VERSION(NvlinkGetBwMode, 1) + +const nvmlNvlinkSetBwMode_v1 = @NVML_STRUCT_VERSION(NvlinkSetBwMode, 1) + const NVML_DEVICE_MIG_DISABLE = 0x00 const NVML_DEVICE_MIG_ENABLE = 0x01 @@ -4850,10 +5449,26 @@ const NVML_GPU_INSTANCE_PROFILE_2_SLICE_REV1 = 0x08 const NVML_GPU_INSTANCE_PROFILE_1_SLICE_REV2 = 0x09 -const NVML_GPU_INSTANCE_PROFILE_COUNT = 0x0a +const NVML_GPU_INSTANCE_PROFILE_1_SLICE_GFX = 0x0a + +const NVML_GPU_INSTANCE_PROFILE_2_SLICE_GFX = 0x0b + +const NVML_GPU_INSTANCE_PROFILE_4_SLICE_GFX = 0x0c + +const NVML_GPU_INSTANCE_PROFILE_COUNT = 0x0d + +const NVML_GPU_INSTANCE_PROFILE_CAPS_P2P = 0x01 const NVML_GPU_INTSTANCE_PROFILE_CAPS_P2P = 0x01 +const NVML_GPU_INSTANCE_PROFILE_CAPS_GFX = 0x02 + +const NVML_COMPUTE_INSTANCE_PROFILE_CAPS_GFX = 0x01 + +const nvmlGpuInstanceProfileInfo_v2 = @NVML_STRUCT_VERSION(GpuInstanceProfileInfo, 2) + +const nvmlGpuInstanceProfileInfo_v3 = @NVML_STRUCT_VERSION(GpuInstanceProfileInfo, 3) + const NVML_COMPUTE_INSTANCE_PROFILE_1_SLICE = 0x00 const NVML_COMPUTE_INSTANCE_PROFILE_2_SLICE = 0x01 @@ -4876,8 +5491,51 @@ const NVML_COMPUTE_INSTANCE_ENGINE_PROFILE_SHARED = 0x00 const NVML_COMPUTE_INSTANCE_ENGINE_PROFILE_COUNT = 0x01 +const nvmlComputeInstanceProfileInfo_v2 = @NVML_STRUCT_VERSION(ComputeInstanceProfileInfo, + 2) + +const nvmlComputeInstanceProfileInfo_v3 = @NVML_STRUCT_VERSION(ComputeInstanceProfileInfo, + 3) + const NVML_GPM_METRICS_GET_VERSION = 1 const NVML_GPM_SUPPORT_VERSION = 1 const NVML_DEV_CAP_EGM = 1 << 0 + +const nvmlDeviceCapabilities_v1 = @NVML_STRUCT_VERSION(DeviceCapabilities, 1) + +const NVML_255_MASK_BITS_PER_ELEM = 32 + +const NVML_255_MASK_NUM_ELEMS = 8 + +const NVML_WORKLOAD_POWER_MAX_PROFILES = 255 + +const nvmlWorkloadPowerProfileInfo_v1 = @NVML_STRUCT_VERSION(WorkloadPowerProfileInfo, 1) + +const nvmlWorkloadPowerProfileProfilesInfo_v1 = @NVML_STRUCT_VERSION(WorkloadPowerProfileProfilesInfo, + 1) + +const nvmlWorkloadPowerProfileCurrentProfiles_v1 = @NVML_STRUCT_VERSION(WorkloadPowerProfileCurrentProfiles, + 1) + +const nvmlWorkloadPowerProfileRequestedProfiles_v1 = @NVML_STRUCT_VERSION(WorkloadPowerProfileRequestedProfiles, + 1) + +const NVML_POWER_SMOOTHING_MAX_NUM_PROFILES = 5 + +const NVML_POWER_SMOOTHING_NUM_PROFILE_PARAMS = 4 + +const NVML_POWER_SMOOTHING_ADMIN_OVERRIDE_NOT_SET = Cuint(0xffffffff) + +const NVML_POWER_SMOOTHING_PROFILE_PARAM_PERCENT_TMP_FLOOR = 0 + +const NVML_POWER_SMOOTHING_PROFILE_PARAM_RAMP_UP_RATE = 1 + +const NVML_POWER_SMOOTHING_PROFILE_PARAM_RAMP_DOWN_RATE = 2 + +const NVML_POWER_SMOOTHING_PROFILE_PARAM_RAMP_DOWN_HYSTERESIS = 3 + +const nvmlPowerSmoothingProfile_v1 = @NVML_STRUCT_VERSION(PowerSmoothingProfile, 1) + +const nvmlPowerSmoothingState_v1 = @NVML_STRUCT_VERSION(PowerSmoothingState, 1) diff --git a/lib/nvml/libnvml_deprecated.jl b/lib/nvml/libnvml_deprecated.jl index 0ae1795524..e69de29bb2 100644 --- a/lib/nvml/libnvml_deprecated.jl +++ b/lib/nvml/libnvml_deprecated.jl @@ -1,60 +0,0 @@ -## Deprecated in CUDA 11.1 - -struct nvmlDeviceAttributesV1_st - multiprocessorCount::UInt32 - sharedCopyEngineCount::UInt32 - sharedDecoderCount::UInt32 - sharedEncoderCount::UInt32 - sharedJpegCount::UInt32 - sharedOfaCount::UInt32 -end - -const nvmlDeviceAttributesV1_t = nvmlDeviceAttributesV1_st - -@checked function nvmlDeviceGetAttributes(device, attributes) - initialize_context() - ccall((:nvmlDeviceGetAttributes, libnvml()), nvmlReturn_t, - (nvmlDevice_t, Ptr{nvmlDeviceAttributesV1_t}), - device, attributes) -end - -struct nvmlProcessInfoV1_st - pid::UInt32 - usedGpuMemory::Culonglong -end - -const nvmlProcessInfoV1_t = nvmlProcessInfoV1_st - -@checked function nvmlDeviceGetComputeRunningProcesses(device, infoCount, infos) - initialize_context() - ccall((:nvmlDeviceGetComputeRunningProcesses, libnvml()), nvmlReturn_t, - (nvmlDevice_t, Ptr{UInt32}, Ptr{nvmlProcessInfoV1_t}), - device, infoCount, infos) -end - -@checked function nvmlDeviceGetGraphicsRunningProcesses(device, infoCount, infos) - initialize_context() - ccall((:nvmlDeviceGetGraphicsRunningProcesses, libnvml()), nvmlReturn_t, - (nvmlDevice_t, Ptr{UInt32}, Ptr{nvmlProcessInfoV1_t}), - device, infoCount, infos) -end - -## Superseded in CUDA 11.2 - -struct nvmlComputeInstanceInfoV1_st - device::nvmlDevice_t - gpuInstance::nvmlGpuInstance_t - id::UInt32 - profileId::UInt32 -end - -const nvmlComputeInstanceInfoV1_t = nvmlComputeInstanceInfoV1_st - -@checked function nvmlComputeInstanceGetInfo(computeInstance, info) - initialize_context() - ccall((:nvmlComputeInstanceGetInfo, libnvml()), nvmlReturn_t, - (nvmlComputeInstance_t, Ptr{nvmlComputeInstanceInfoV1_t}), - computeInstance, info) -end - -## diff --git a/res/wrap/Manifest.toml b/res/wrap/Manifest.toml index 51310575f0..2aa2274a46 100644 --- a/res/wrap/Manifest.toml +++ b/res/wrap/Manifest.toml @@ -1,18 +1,20 @@ # This file is machine-generated - editing it directly is not advised -julia_version = "1.10.5" +julia_version = "1.11.3" manifest_format = "2.0" -project_hash = "7763ff99d9da256926f73cbb823e95c9a86611ff" +project_hash = "5b3c7158524d47009a2aa20dc74e938a8cbc2050" [[deps.ArgTools]] uuid = "0dad84c5-d112-42e6-8d28-ef12dabb789f" -version = "1.1.1" +version = "1.1.2" [[deps.Artifacts]] uuid = "56f22d72-fd6d-98f1-02f0-08ddc0907c33" +version = "1.11.0" [[deps.Base64]] uuid = "2a0f44e3-6c83-55bd-87e4-b1978d98bd5f" +version = "1.11.0" [[deps.CEnum]] git-tree-sha1 = "389ad5c84de1ae7cf0e28e381131c98ea87d54fc" @@ -27,27 +29,27 @@ version = "3.4.3" [[deps.CUDA_Driver_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "e2d9695d60b647e8803f1b5771412a7bf980e971" +git-tree-sha1 = "7cc4ec34bbd15c0381ed0d81b28efed3027c7bca" uuid = "4ee394cb-3365-5eb0-8335-949819d2adfc" -version = "0.10.2+0" +version = "0.12.0+0" [[deps.CUDA_Runtime_jll]] deps = ["Artifacts", "CUDA_Driver_jll", "JLLWrappers", "LazyArtifacts", "Libdl", "TOML"] -git-tree-sha1 = "1dce783060fb871658a6a4852c853293126eef8c" +git-tree-sha1 = "7bb29cf2aa97ee0877a4f305f8b73f96c5066db0" uuid = "76a88914-d11a-5bdc-97e0-2f5a05c973a2" -version = "0.15.2+0" +version = "0.16.0+0" [[deps.CUDA_SDK_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "40846c37236c010b8e78c8e8feb2cc5ef95cc584" +git-tree-sha1 = "c3daec92879eb395120d90e581a53eac5a119b49" uuid = "6cbf2f2e-7e60-5632-ac76-dca2274e0be0" -version = "12.6.2+0" +version = "12.8.0+0" [[deps.CUDNN_jll]] deps = ["Artifacts", "CUDA_Runtime_jll", "JLLWrappers", "LazyArtifacts", "Libdl", "TOML"] -git-tree-sha1 = "f286c44edd5f86a5429425b568e52f49dd5ce38f" +git-tree-sha1 = "9851af16a2f357a793daa0f13634c82bc7e40419" uuid = "62b44479-cb7b-5706-934f-f13b2eb2e645" -version = "9.1.1+0" +version = "9.4.0+0" [[deps.CUTENSOR_jll]] deps = ["Artifacts", "CUDA_Runtime_jll", "CompilerSupportLibraries_jll", "JLLWrappers", "LazyArtifacts", "Libdl", "TOML"] @@ -63,15 +65,15 @@ version = "0.18.3" [[deps.Clang_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "TOML", "Zlib_jll", "libLLVM_jll"] -git-tree-sha1 = "de2204d98741f57e7ddb9a6a738db74ba8a608cb" +git-tree-sha1 = "0dc9bd89383fd6fffed127e03fc42ed409cc865b" uuid = "0ee61d77-7f21-5576-8119-9fcc46b10100" -version = "15.0.7+10" +version = "16.0.6+4" [[deps.CommonMark]] -deps = ["Crayons", "JSON", "PrecompileTools", "URIs"] -git-tree-sha1 = "532c4185d3c9037c0237546d817858b23cf9e071" +deps = ["Crayons", "PrecompileTools"] +git-tree-sha1 = "3faae67b8899797592335832fccf4b3c80bb04fa" uuid = "a80b9123-70ca-4bc0-993e-6e3bcb318db6" -version = "0.8.12" +version = "0.8.15" [[deps.Compat]] deps = ["TOML", "UUIDs"] @@ -105,6 +107,7 @@ version = "0.18.20" [[deps.Dates]] deps = ["Printf"] uuid = "ade2ca70-3891-5945-98fb-dc099432e06a" +version = "1.11.0" [[deps.Downloads]] deps = ["ArgTools", "FileWatching", "LibCURL", "NetworkOptions"] @@ -113,6 +116,7 @@ version = "1.6.0" [[deps.FileWatching]] uuid = "7b1f6079-737a-58dc-b8bc-7a2ca5c1b5ee" +version = "1.11.0" [[deps.Glob]] git-tree-sha1 = "97285bbd5230dd766e9ef6749b80fc617126d496" @@ -122,28 +126,24 @@ version = "1.3.1" [[deps.InteractiveUtils]] deps = ["Markdown"] uuid = "b77e0a4c-d291-57a0-90e8-8db25a27a240" +version = "1.11.0" [[deps.JLLWrappers]] deps = ["Artifacts", "Preferences"] -git-tree-sha1 = "f389674c99bfcde17dc57454011aa44d5a260a40" +git-tree-sha1 = "a007feb38b422fbdab534406aeca1b86823cb4d6" uuid = "692b3bcd-3c85-4b1f-b108-f13ce0eb3210" -version = "1.6.0" - -[[deps.JSON]] -deps = ["Dates", "Mmap", "Parsers", "Unicode"] -git-tree-sha1 = "31e996f0a15c7b280ba9f76636b3ff9e2ae58c9a" -uuid = "682c06a0-de6a-54ab-a142-c8b1cf79cde6" -version = "0.21.4" +version = "1.7.0" [[deps.JuliaFormatter]] deps = ["CSTParser", "CommonMark", "DataStructures", "Glob", "PrecompileTools", "TOML", "Tokenize"] -git-tree-sha1 = "bb4696471330275adfd6c78c6173f276e8c067aa" +git-tree-sha1 = "59cf7ad64f1b0708a4fa4369879d33bad3239b56" uuid = "98e50ef6-434e-11e9-1051-2b60c6c9e899" -version = "1.0.60" +version = "1.0.62" [[deps.LazyArtifacts]] deps = ["Artifacts", "Pkg"] uuid = "4af54fe1-eca0-43a8-85a7-787d91b784e3" +version = "1.11.0" [[deps.LibCURL]] deps = ["LibCURL_jll", "MozillaCACerts_jll"] @@ -153,16 +153,17 @@ version = "0.6.4" [[deps.LibCURL_jll]] deps = ["Artifacts", "LibSSH2_jll", "Libdl", "MbedTLS_jll", "Zlib_jll", "nghttp2_jll"] uuid = "deac9b47-8bc7-5906-a0fe-35ac56dc84c0" -version = "8.4.0+0" +version = "8.6.0+0" [[deps.LibGit2]] deps = ["Base64", "LibGit2_jll", "NetworkOptions", "Printf", "SHA"] uuid = "76f85450-5226-5b5a-8eaa-529ad045b433" +version = "1.11.0" [[deps.LibGit2_jll]] deps = ["Artifacts", "LibSSH2_jll", "Libdl", "MbedTLS_jll"] uuid = "e37daf67-58a4-590a-8e99-b0245dd2ffc5" -version = "1.6.4+0" +version = "1.7.2+0" [[deps.LibSSH2_jll]] deps = ["Artifacts", "Libdl", "MbedTLS_jll"] @@ -171,69 +172,69 @@ version = "1.11.0+1" [[deps.Libdl]] uuid = "8f399da3-3557-5675-b5ff-fb832c97cbdb" +version = "1.11.0" [[deps.Libgcrypt_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Libgpg_error_jll"] -git-tree-sha1 = "9fd170c4bbfd8b935fdc5f8b7aa33532c991a673" +git-tree-sha1 = "8be878062e0ffa2c3f67bb58a595375eda5de80b" uuid = "d4300ac3-e22c-5743-9152-c294e39db1e4" -version = "1.8.11+0" +version = "1.11.0+0" [[deps.Libglvnd_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libX11_jll", "Xorg_libXext_jll"] -git-tree-sha1 = "6f73d1dd803986947b2c750138528a999a6c7733" +deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_libX11_jll", "Xorg_libXext_jll"] +git-tree-sha1 = "ff3b4b9d35de638936a525ecd36e86a8bb919d11" uuid = "7e76a0d4-f3c7-5321-8279-8d96eeed0f29" -version = "1.6.0+0" +version = "1.7.0+0" [[deps.Libgpg_error_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "fbb1f2bef882392312feb1ede3615ddc1e9b99ed" +git-tree-sha1 = "df37206100d39f79b3376afb6b9cee4970041c61" uuid = "7add5ba3-2f88-524e-9cd5-f83b8a55f7b8" -version = "1.49.0+0" +version = "1.51.1+0" [[deps.Libiconv_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "f9557a255370125b405568f9767d6d195822a175" +git-tree-sha1 = "be484f5c92fad0bd8acfef35fe017900b0b73809" uuid = "94ce4f54-9a6c-5748-9c1c-f9c7231a4531" -version = "1.17.0+0" +version = "1.18.0+0" [[deps.Logging]] uuid = "56ddb016-857b-54e1-b83d-db4d58db5568" +version = "1.11.0" [[deps.Markdown]] deps = ["Base64"] uuid = "d6f4376e-aef5-505a-96c1-9c027394607a" +version = "1.11.0" [[deps.MbedTLS_jll]] deps = ["Artifacts", "Libdl"] uuid = "c8ffd9c3-330d-5841-b78e-0817d7145fa1" -version = "2.28.2+1" - -[[deps.Mmap]] -uuid = "a63ad114-7e13-5084-954f-fe012c677804" +version = "2.28.6+0" [[deps.MozillaCACerts_jll]] uuid = "14a3606d-f60d-562e-9121-12d972cd8159" -version = "2023.1.10" +version = "2023.12.12" [[deps.NetworkOptions]] uuid = "ca575930-c2e3-43a9-ace4-1e988b2c1908" version = "1.2.0" [[deps.OrderedCollections]] -git-tree-sha1 = "dfdf5519f235516220579f949664f1bf44e741c5" +git-tree-sha1 = "12f1439c4f986bb868acda6ea33ebc78e19b95ad" uuid = "bac558e1-5e72-5ebc-8fee-abe8a469f55d" -version = "1.6.3" - -[[deps.Parsers]] -deps = ["Dates", "PrecompileTools", "UUIDs"] -git-tree-sha1 = "8489905bcdbcfac64d1daa51ca07c0d8f0283821" -uuid = "69de0a69-1ddd-5017-9359-2bf0b02dc9f0" -version = "2.8.1" +version = "1.7.0" [[deps.Pkg]] -deps = ["Artifacts", "Dates", "Downloads", "FileWatching", "LibGit2", "Libdl", "Logging", "Markdown", "Printf", "REPL", "Random", "SHA", "Serialization", "TOML", "Tar", "UUIDs", "p7zip_jll"] +deps = ["Artifacts", "Dates", "Downloads", "FileWatching", "LibGit2", "Libdl", "Logging", "Markdown", "Printf", "Random", "SHA", "TOML", "Tar", "UUIDs", "p7zip_jll"] uuid = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f" -version = "1.10.0" +version = "1.11.0" + + [deps.Pkg.extensions] + REPLExt = "REPL" + + [deps.Pkg.weakdeps] + REPL = "3fa0cd96-eef1-5676-8a61-b3b8758bbffb" [[deps.PrecompileTools]] deps = ["Preferences"] @@ -250,25 +251,17 @@ version = "1.4.3" [[deps.Printf]] deps = ["Unicode"] uuid = "de0858da-6303-5e67-8744-51eddeeeb8d7" - -[[deps.REPL]] -deps = ["InteractiveUtils", "Markdown", "Sockets", "Unicode"] -uuid = "3fa0cd96-eef1-5676-8a61-b3b8758bbffb" +version = "1.11.0" [[deps.Random]] deps = ["SHA"] uuid = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c" +version = "1.11.0" [[deps.SHA]] uuid = "ea8e919c-243c-51af-8825-aaa63cd721ce" version = "0.7.0" -[[deps.Serialization]] -uuid = "9e88b42a-f829-5b0c-bbe9-9e923198166b" - -[[deps.Sockets]] -uuid = "6462fe0b-24de-5631-8697-dd941f90decc" - [[deps.TOML]] deps = ["Dates"] uuid = "fa267f1f-6049-4f14-aa54-33bafae1ed76" @@ -284,71 +277,68 @@ git-tree-sha1 = "468b4685af4abe0e9fd4d7bf495a6554a6276e75" uuid = "0796e94c-ce3b-5d07-9a54-7f471281c624" version = "0.5.29" -[[deps.URIs]] -git-tree-sha1 = "67db6cc7b3821e19ebe75791a9dd19c9b1188f2b" -uuid = "5c2747f8-b7ea-4ff2-ba2e-563bfd36b1d4" -version = "1.5.1" - [[deps.UUIDs]] deps = ["Random", "SHA"] uuid = "cf7118a7-6976-5b1a-9a39-7adc72f591a4" +version = "1.11.0" [[deps.Unicode]] uuid = "4ec0a83e-493e-50e2-b9ac-8f72acf5a8f5" +version = "1.11.0" [[deps.XML2_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Libiconv_jll", "Zlib_jll"] -git-tree-sha1 = "1165b0443d0eca63ac1e32b8c0eb69ed2f4f8127" +git-tree-sha1 = "a2fccc6559132927d4c5dc183e3e01048c6dcbd6" uuid = "02c8fc9c-b97f-50b9-bbe4-9be30ff0a78a" -version = "2.13.3+0" +version = "2.13.5+0" [[deps.XSLT_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Libgcrypt_jll", "Libgpg_error_jll", "Libiconv_jll", "XML2_jll", "Zlib_jll"] -git-tree-sha1 = "a54ee957f4c86b526460a720dbc882fa5edcbefc" +git-tree-sha1 = "7d1671acbe47ac88e981868a078bd6b4e27c5191" uuid = "aed1982a-8fda-507f-9586-7b0439959a61" -version = "1.1.41+0" +version = "1.1.42+0" [[deps.Xorg_libX11_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_libxcb_jll", "Xorg_xtrans_jll"] -git-tree-sha1 = "afead5aba5aa507ad5a3bf01f58f82c8d1403495" +git-tree-sha1 = "9dafcee1d24c4f024e7edc92603cedba72118283" uuid = "4f6342f7-b3d2-589e-9d20-edeb45f2b2bc" -version = "1.8.6+0" +version = "1.8.6+3" [[deps.Xorg_libXau_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "6035850dcc70518ca32f012e46015b9beeda49d8" +git-tree-sha1 = "e9216fdcd8514b7072b43653874fd688e4c6c003" uuid = "0c0b7dd1-d40b-584c-a123-a41640f87eec" -version = "1.0.11+0" +version = "1.0.12+0" [[deps.Xorg_libXdmcp_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "34d526d318358a859d7de23da945578e8e8727b7" +git-tree-sha1 = "89799ae67c17caa5b3b5a19b8469eeee474377db" uuid = "a3789734-cfe1-5b06-b2d0-1dd0d9d62d05" -version = "1.1.4+0" +version = "1.1.5+0" [[deps.Xorg_libXext_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_libX11_jll"] -git-tree-sha1 = "d2d1a5c49fae4ba39983f63de6afcbea47194e85" +git-tree-sha1 = "d7155fea91a4123ef59f42c4afb5ab3b4ca95058" uuid = "1082639a-0dae-5f34-9b06-72781eeb8cb3" -version = "1.3.6+0" +version = "1.3.6+3" [[deps.Xorg_libpthread_stubs_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "8fdda4c692503d44d04a0603d9ac0982054635f9" +git-tree-sha1 = "c57201109a9e4c0585b208bb408bc41d205ac4e9" uuid = "14d82f49-176c-5ed1-bb49-ad3f5cbd8c74" -version = "0.1.1+0" +version = "0.1.2+0" [[deps.Xorg_libxcb_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "XSLT_jll", "Xorg_libXau_jll", "Xorg_libXdmcp_jll", "Xorg_libpthread_stubs_jll"] -git-tree-sha1 = "bcd466676fef0878338c61e655629fa7bbc69d8e" +git-tree-sha1 = "1a74296303b6524a0472a8cb12d3d87a78eb3612" uuid = "c7cfdc94-dc32-55de-ac96-5a1b8d977c5b" -version = "1.17.0+0" +version = "1.17.0+3" [[deps.Xorg_xtrans_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "e92a1a012a10506618f10b7047e478403a046c77" +git-tree-sha1 = "6dba04dbfb72ae3ebe5418ba33d087ba8aa8cb00" uuid = "c5fb5394-a638-5e4d-96e5-b29de1b5cf10" -version = "1.5.0+0" +version = "1.5.1+0" [[deps.Zlib_jll]] deps = ["Libdl"] @@ -364,12 +354,12 @@ version = "24.3.0+0" [[deps.libLLVM_jll]] deps = ["Artifacts", "Libdl"] uuid = "8f36deef-c2a5-5394-99ed-8e07531fb29a" -version = "15.0.7+10" +version = "16.0.6+4" [[deps.nghttp2_jll]] deps = ["Artifacts", "Libdl"] uuid = "8e850ede-7688-5339-a07c-302acd2aaf8d" -version = "1.52.0+1" +version = "1.59.0+0" [[deps.p7zip_jll]] deps = ["Artifacts", "Libdl"] diff --git a/res/wrap/cudnn.toml b/res/wrap/cudnn.toml index 3ca7595a03..62269e457a 100644 --- a/res/wrap/cudnn.toml +++ b/res/wrap/cudnn.toml @@ -500,6 +500,9 @@ needs_context = false [api.cudnnGetCTCLossWorkspaceSize.argtypes] 9 = "Ref{Csize_t}" +[api.cudnnGetCTCLossWorkspaceSize_v8.argtypes] +6 = "Ref{Csize_t}" + [api.cudnnSetFusedOpsVariantParamPackAttribute.argtypes] 3 = "PtrOrCuPtr{Cvoid}"