Repository navigation
Initial support for CUDA 13.2. - #3053
Merged
Merged
Conversation
Contributor
|
Your PR requires formatting changes to meet the project's style guidelines. Click here to view the suggested changes.diff --git a/lib/cudadrv/libcuda.jl b/lib/cudadrv/libcuda.jl
index bf74cb777..7d73c64d4 100644
--- a/lib/cudadrv/libcuda.jl
+++ b/lib/cudadrv/libcuda.jl
@@ -2386,8 +2386,8 @@ function Base.propertynames(x::CUlaunchAttributeValue_union, private::Bool=false
:clusterSchedulingPolicyPreference, :programmaticStreamSerializationAllowed,
:programmaticEvent, :launchCompletionEvent, :priority, :memSyncDomainMap,
:memSyncDomain, :preferredClusterDim, :deviceUpdatableKernelNode,
- :sharedMemCarveout, :nvlinkUtilCentricScheduling, :portableClusterSizeMode,
- :sharedMemoryMode, if private
+ :sharedMemCarveout, :nvlinkUtilCentricScheduling, :portableClusterSizeMode,
+ :sharedMemoryMode, if private
fieldnames(typeof(x))
else
()
@@ -4355,8 +4355,10 @@ end
@checked function cuKernelGetParamCount(kernel, paramCount)
initialize_context()
- @gcsafe_ccall libcuda.cuKernelGetParamCount(kernel::CUkernel,
- paramCount::Ptr{Csize_t})::CUresult
+ @gcsafe_ccall libcuda.cuKernelGetParamCount(
+ kernel::CUkernel,
+ paramCount::Ptr{Csize_t}
+ )::CUresult
end
@checked function cuMemFreeHost(p)
@@ -4476,17 +4478,21 @@ end
@checked function cuMemcpyWithAttributesAsync(dst, src, size, attr, hStream)
initialize_context()
- @gcsafe_ccall libcuda.cuMemcpyWithAttributesAsync(dst::CUdeviceptr, src::CUdeviceptr,
- size::Csize_t,
- attr::Ptr{CUmemcpyAttributes},
- hStream::CUstream)::CUresult
+ @gcsafe_ccall libcuda.cuMemcpyWithAttributesAsync(
+ dst::CUdeviceptr, src::CUdeviceptr,
+ size::Csize_t,
+ attr::Ptr{CUmemcpyAttributes},
+ hStream::CUstream
+ )::CUresult
end
@checked function cuMemcpy3DWithAttributesAsync(op, flags, hStream)
initialize_context()
- @gcsafe_ccall libcuda.cuMemcpy3DWithAttributesAsync(op::Ptr{CUDA_MEMCPY3D_BATCH_OP},
- flags::Culonglong,
- hStream::CUstream)::CUresult
+ @gcsafe_ccall libcuda.cuMemcpy3DWithAttributesAsync(
+ op::Ptr{CUDA_MEMCPY3D_BATCH_OP},
+ flags::Culonglong,
+ hStream::CUstream
+ )::CUresult
end
@checked function cuMemsetD8Async(dstDevice, uc, N, hStream)
@@ -4971,8 +4977,10 @@ end
@checked function cuStreamBeginCaptureToCig(hStream, streamCigCaptureParams)
initialize_context()
- @gcsafe_ccall libcuda.cuStreamBeginCaptureToCig(hStream::CUstream,
- streamCigCaptureParams::Ptr{CUstreamCigCaptureParams})::CUresult
+ @gcsafe_ccall libcuda.cuStreamBeginCaptureToCig(
+ hStream::CUstream,
+ streamCigCaptureParams::Ptr{CUstreamCigCaptureParams}
+ )::CUresult
end
@checked function cuStreamEndCaptureToCig(hStream)
@@ -5204,8 +5212,10 @@ end
@checked function cuFuncGetParamCount(func, paramCount)
initialize_context()
- @gcsafe_ccall libcuda.cuFuncGetParamCount(func::CUfunction,
- paramCount::Ptr{Csize_t})::CUresult
+ @gcsafe_ccall libcuda.cuFuncGetParamCount(
+ func::CUfunction,
+ paramCount::Ptr{Csize_t}
+ )::CUresult
end
@cenum CUfunctionLoadingState_enum::UInt32 begin
@@ -5272,9 +5282,11 @@ end
@checked function cuLaunchHostFunc_v2(hStream, fn, userData, syncMode)
initialize_context()
- @gcsafe_ccall libcuda.cuLaunchHostFunc_v2(hStream::CUstream, fn::CUhostFn,
- userData::Ptr{Cvoid},
- syncMode::Cuint)::CUresult
+ @gcsafe_ccall libcuda.cuLaunchHostFunc_v2(
+ hStream::CUstream, fn::CUhostFn,
+ userData::Ptr{Cvoid},
+ syncMode::Cuint
+ )::CUresult
end
@checked function cuFuncSetBlockShape(hfunc, x, y, z)
@@ -5839,8 +5851,10 @@ end
@checked function cuGraphNodeGetParams(hNode, nodeParams)
initialize_context()
- @gcsafe_ccall libcuda.cuGraphNodeGetParams(hNode::CUgraphNode,
- nodeParams::Ptr{CUgraphNodeParams})::CUresult
+ @gcsafe_ccall libcuda.cuGraphNodeGetParams(
+ hNode::CUgraphNode,
+ nodeParams::Ptr{CUgraphNodeParams}
+ )::CUresult
end
@checked function cuGraphExecNodeSetParams(hGraphExec, hNode, nodeParams)
@@ -6339,16 +6353,20 @@ const CUcoredumpStatusCallback = Ptr{Cvoid}
@checked function cuCoredumpRegisterStartCallback(callback, userData, callbackOut)
initialize_context()
- @gcsafe_ccall libcuda.cuCoredumpRegisterStartCallback(callback::CUcoredumpStatusCallback,
- userData::Ptr{Cvoid},
- callbackOut::Ptr{CUcoredumpCallbackHandle})::CUresult
+ @gcsafe_ccall libcuda.cuCoredumpRegisterStartCallback(
+ callback::CUcoredumpStatusCallback,
+ userData::Ptr{Cvoid},
+ callbackOut::Ptr{CUcoredumpCallbackHandle}
+ )::CUresult
end
@checked function cuCoredumpRegisterCompleteCallback(callback, userData, callbackOut)
initialize_context()
- @gcsafe_ccall libcuda.cuCoredumpRegisterCompleteCallback(callback::CUcoredumpStatusCallback,
- userData::Ptr{Cvoid},
- callbackOut::Ptr{CUcoredumpCallbackHandle})::CUresult
+ @gcsafe_ccall libcuda.cuCoredumpRegisterCompleteCallback(
+ callback::CUcoredumpStatusCallback,
+ userData::Ptr{Cvoid},
+ callbackOut::Ptr{CUcoredumpCallbackHandle}
+ )::CUresult
end
@checked function cuCoredumpDeregisterStartCallback(callback)
diff --git a/lib/cupti/libcupti.jl b/lib/cupti/libcupti.jl
index 28febbf7a..a52206172 100644
--- a/lib/cupti/libcupti.jl
+++ b/lib/cupti/libcupti.jl
@@ -45,7 +45,7 @@ end
macro CUPTI_ACTIVITY_STRUCT_SIZE(type, lastfield)
type = esc(type)
lastfield = QuoteNode(lastfield)
- quote
+ return quote
$struct_size($type, $lastfield)
end
end
@@ -56,7 +56,7 @@ struct CUpti_SubscriberParams
oldSubscriberName::Cstring
oldSubscriberSize::Csize_t
allowMultipleSubscribers::UInt8
- padding::NTuple{7,UInt8}
+ padding::NTuple{7, UInt8}
end
struct CUpti_ActivityFieldSelection
@@ -378,14 +378,18 @@ end
cbid::CUpti_CallbackId)::CUptiResult
end
-@checked function cuptiGetEnabledCallbacks(subscriber, domain, buffer, bufferSize,
- enabledCallbacksCount)
+@checked function cuptiGetEnabledCallbacks(
+ subscriber, domain, buffer, bufferSize,
+ enabledCallbacksCount
+ )
initialize_context()
- @gcsafe_ccall libcupti.cuptiGetEnabledCallbacks(subscriber::CUpti_SubscriberHandle,
- domain::CUpti_CallbackDomain,
- buffer::Ptr{CUpti_CallbackId},
- bufferSize::Ptr{UInt32},
- enabledCallbacksCount::Ptr{UInt32})::CUptiResult
+ @gcsafe_ccall libcupti.cuptiGetEnabledCallbacks(
+ subscriber::CUpti_SubscriberHandle,
+ domain::CUpti_CallbackDomain,
+ buffer::Ptr{CUpti_CallbackId},
+ bufferSize::Ptr{UInt32},
+ enabledCallbacksCount::Ptr{UInt32}
+ )::CUptiResult
end
@checked function cuptiEnableCallback(enable, subscriber, domain, cbid)
@@ -2543,7 +2547,7 @@ function Base.propertynames(x::CUpti_ActivityBranch2, private::Bool=false)
end
struct CUpti_ActivityDevice6
- data::NTuple{192,UInt8}
+ data::NTuple{192, UInt8}
end
function Base.getproperty(x::Ptr{CUpti_ActivityDevice6}, f::Symbol)
@@ -2601,7 +2605,7 @@ function Base.setproperty!(x::Ptr{CUpti_ActivityDevice6}, f::Symbol, v)
return unsafe_store!(getproperty(x, f), v)
end
-function Base.propertynames(x::CUpti_ActivityDevice6, private::Bool=false)
+function Base.propertynames(x::CUpti_ActivityDevice6, private::Bool = false)
return (:kind, :flags, :globalMemoryBandwidth, :globalMemorySize, :constantMemorySize,
:l2CacheSize, :numThreadsPerWarp, :coreClockRate, :numMemcpyEngines,
:numMultiprocessors, :maxIPC, :maxWarpsPerMultiprocessor,
@@ -2610,8 +2614,8 @@ function Base.propertynames(x::CUpti_ActivityDevice6, private::Bool=false)
:maxThreadsPerBlock, :maxBlockDimX, :maxBlockDimY, :maxBlockDimZ, :maxGridDimX,
:maxGridDimY, :maxGridDimZ, :computeCapabilityMajor, :computeCapabilityMinor,
:id, :eccEnabled, :uuid, :name, :isCudaVisible, :isMigEnabled, :reserved,
- :gpuInstanceId, :computeInstanceId, :migUuid, :isNumaNode, :numaId, :numTpcs,
- :reserved0, if private
+ :gpuInstanceId, :computeInstanceId, :migUuid, :isNumaNode, :numaId, :numTpcs,
+ :reserved0, if private
fieldnames(typeof(x))
else
()
@@ -3912,7 +3916,7 @@ function Base.setproperty!(x::Ptr{var"##Ctag#445"}, f::Symbol, v)
return unsafe_store!(getproperty(x, f), v)
end
-function Base.propertynames(x::var"##Ctag#445", private::Bool=false)
+function Base.propertynames(x::var"##Ctag#445", private::Bool = false)
return (:uuidDev, :npu, if private
fieldnames(typeof(x))
else
@@ -3941,7 +3945,7 @@ function Base.setproperty!(x::Ptr{var"##Ctag#447"}, f::Symbol, v)
return unsafe_store!(getproperty(x, f), v)
end
-function Base.propertynames(x::var"##Ctag#447", private::Bool=false)
+function Base.propertynames(x::var"##Ctag#447", private::Bool = false)
return (:uuidDev, :npu, if private
fieldnames(typeof(x))
else
@@ -3950,7 +3954,7 @@ function Base.propertynames(x::var"##Ctag#447", private::Bool=false)
end
struct CUpti_ActivityNvLink5
- data::NTuple{88,UInt8}
+ data::NTuple{88, UInt8}
end
function Base.getproperty(x::Ptr{CUpti_ActivityNvLink5}, f::Symbol)
@@ -3966,7 +3970,7 @@ function Base.getproperty(x::Ptr{CUpti_ActivityNvLink5}, f::Symbol)
f === :portDev1 && return Ptr{Ptr{UInt32}}(x + 64)
f === :bandwidth && return Ptr{UInt64}(x + 72)
f === :nvswitchConnected && return Ptr{UInt8}(x + 80)
- f === :pad && return Ptr{NTuple{7,UInt8}}(x + 81)
+ f === :pad && return Ptr{NTuple{7, UInt8}}(x + 81)
return getfield(x, f)
end
@@ -3981,7 +3985,7 @@ function Base.setproperty!(x::Ptr{CUpti_ActivityNvLink5}, f::Symbol, v)
return unsafe_store!(getproperty(x, f), v)
end
-function Base.propertynames(x::CUpti_ActivityNvLink5, private::Bool=false)
+function Base.propertynames(x::CUpti_ActivityNvLink5, private::Bool = false)
return (:kind, :nvlinkVersion, :typeDev0, :typeDev1, :idDev0, :idDev1, :flag,
:physicalNvLinkCount, :portDev0, :portDev1, :bandwidth, :nvswitchConnected,
:pad, if private
@@ -4542,7 +4546,7 @@ end
end
struct CUpti_ActivityGreenContext
- data::NTuple{152,UInt8}
+ data::NTuple{152, UInt8}
end
function Base.getproperty(x::Ptr{CUpti_ActivityGreenContext}, f::Symbol)
@@ -4554,7 +4558,7 @@ function Base.getproperty(x::Ptr{CUpti_ActivityGreenContext}, f::Symbol)
f === :numMultiprocessors && return Ptr{UInt16}(x + 20)
f === :logicalTpcMaskSize && return Ptr{UInt8}(x + 22)
f === :padding && return Ptr{UInt8}(x + 23)
- f === :logicalTpcMask && return Ptr{NTuple{32,UInt32}}(x + 24)
+ f === :logicalTpcMask && return Ptr{NTuple{32, UInt32}}(x + 24)
return getfield(x, f)
end
@@ -4562,20 +4566,22 @@ function Base.getproperty(x::CUpti_ActivityGreenContext, f::Symbol)
r = Ref{CUpti_ActivityGreenContext}(x)
ptr = Base.unsafe_convert(Ptr{CUpti_ActivityGreenContext}, r)
fptr = getproperty(ptr, f)
- GC.@preserve r unsafe_load(fptr)
+ return GC.@preserve r unsafe_load(fptr)
end
function Base.setproperty!(x::Ptr{CUpti_ActivityGreenContext}, f::Symbol, v)
return unsafe_store!(getproperty(x, f), v)
end
-function Base.propertynames(x::CUpti_ActivityGreenContext, private::Bool=false)
- return (:kind, :contextId, :parentContextId, :deviceId, :numTpcs, :numMultiprocessors,
- :logicalTpcMaskSize, :padding, :logicalTpcMask, if private
- fieldnames(typeof(x))
- else
- ()
- end...)
+function Base.propertynames(x::CUpti_ActivityGreenContext, private::Bool = false)
+ return (
+ :kind, :contextId, :parentContextId, :deviceId, :numTpcs, :numMultiprocessors,
+ :logicalTpcMaskSize, :padding, :logicalTpcMask, if private
+ fieldnames(typeof(x))
+ else
+ ()
+ end...,
+ )
end
@cenum CUpti_ActivityGreenContextFieldIds::UInt32 begin
@@ -4689,39 +4695,51 @@ end
@checked function cuptiActivityEnable_v2(subscriber, kind, pActivityConfig)
initialize_context()
- @gcsafe_ccall libcupti.cuptiActivityEnable_v2(subscriber::CUpti_SubscriberHandle,
- kind::CUpti_ActivityKind,
- pActivityConfig::Ptr{CUpti_ActivityConfig})::CUptiResult
+ @gcsafe_ccall libcupti.cuptiActivityEnable_v2(
+ subscriber::CUpti_SubscriberHandle,
+ kind::CUpti_ActivityKind,
+ pActivityConfig::Ptr{CUpti_ActivityConfig}
+ )::CUptiResult
end
@checked function cuptiActivityDisable_v2(subscriber, kind, pActivityConfig)
initialize_context()
- @gcsafe_ccall libcupti.cuptiActivityDisable_v2(subscriber::CUpti_SubscriberHandle,
- kind::CUpti_ActivityKind,
- pActivityConfig::Ptr{CUpti_ActivityConfig})::CUptiResult
+ @gcsafe_ccall libcupti.cuptiActivityDisable_v2(
+ subscriber::CUpti_SubscriberHandle,
+ kind::CUpti_ActivityKind,
+ pActivityConfig::Ptr{CUpti_ActivityConfig}
+ )::CUptiResult
end
@checked function cuptiActivityEnableAndDump_v2(subscriber, kind, activityConfig)
initialize_context()
- @gcsafe_ccall libcupti.cuptiActivityEnableAndDump_v2(subscriber::CUpti_SubscriberHandle,
- kind::CUpti_ActivityKind,
- activityConfig::Ptr{CUpti_ActivityConfig})::CUptiResult
+ @gcsafe_ccall libcupti.cuptiActivityEnableAndDump_v2(
+ subscriber::CUpti_SubscriberHandle,
+ kind::CUpti_ActivityKind,
+ activityConfig::Ptr{CUpti_ActivityConfig}
+ )::CUptiResult
end
-@checked function cuptiActivityGetEnabledKinds(subscriber, buffer, bufferSize,
- enabledKindsCount)
+@checked function cuptiActivityGetEnabledKinds(
+ subscriber, buffer, bufferSize,
+ enabledKindsCount
+ )
initialize_context()
- @gcsafe_ccall libcupti.cuptiActivityGetEnabledKinds(subscriber::CUpti_SubscriberHandle,
- buffer::Ptr{CUpti_ActivityKind},
- bufferSize::Ptr{UInt32},
- enabledKindsCount::Ptr{UInt32})::CUptiResult
+ @gcsafe_ccall libcupti.cuptiActivityGetEnabledKinds(
+ subscriber::CUpti_SubscriberHandle,
+ buffer::Ptr{CUpti_ActivityKind},
+ bufferSize::Ptr{UInt32},
+ enabledKindsCount::Ptr{UInt32}
+ )::CUptiResult
end
@checked function cuptiActivityGetStructSize(activityKind, version, activityStructSize)
initialize_context()
- @gcsafe_ccall libcupti.cuptiActivityGetStructSize(activityKind::CUpti_ActivityKind,
- version::UInt32,
- activityStructSize::Ptr{Csize_t})::CUptiResult
+ @gcsafe_ccall libcupti.cuptiActivityGetStructSize(
+ activityKind::CUpti_ActivityKind,
+ version::UInt32,
+ activityStructSize::Ptr{Csize_t}
+ )::CUptiResult
end
@checked function cuptiIsTracingSessionRunning(isRunning)
@@ -4784,12 +4802,16 @@ end
# typedef void ( CUPTIAPI * CUpti_BuffersCallbackCompleteFunc_v2 ) ( uint8_t * buffer , size_t size , size_t validSize , CUpti_BufferCallbackCompleteInfo * pBufferCompleteInfo )
const CUpti_BuffersCallbackCompleteFunc_v2 = Ptr{Cvoid}
-@checked function cuptiActivityRegisterCallbacks_v2(subscriber, funcBufferRequested,
- funcBufferCompleted)
+@checked function cuptiActivityRegisterCallbacks_v2(
+ subscriber, funcBufferRequested,
+ funcBufferCompleted
+ )
initialize_context()
- @gcsafe_ccall libcupti.cuptiActivityRegisterCallbacks_v2(subscriber::CUpti_SubscriberHandle,
- funcBufferRequested::CUpti_BuffersCallbackRequestFunc_v2,
- funcBufferCompleted::CUpti_BuffersCallbackCompleteFunc_v2)::CUptiResult
+ @gcsafe_ccall libcupti.cuptiActivityRegisterCallbacks_v2(
+ subscriber::CUpti_SubscriberHandle,
+ funcBufferRequested::CUpti_BuffersCallbackRequestFunc_v2,
+ funcBufferCompleted::CUpti_BuffersCallbackCompleteFunc_v2
+ )::CUptiResult
end
@checked function cuptiActivityFlush(context, streamId, flag)
@@ -4812,10 +4834,12 @@ end
@checked function cuptiActivityGetAttribute_v2(subscriber, attr, valueSize, value)
initialize_context()
- @gcsafe_ccall libcupti.cuptiActivityGetAttribute_v2(subscriber::CUpti_SubscriberHandle,
- attr::CUpti_ActivityAttribute,
- valueSize::Ptr{Csize_t},
- value::Ptr{Cvoid})::CUptiResult
+ @gcsafe_ccall libcupti.cuptiActivityGetAttribute_v2(
+ subscriber::CUpti_SubscriberHandle,
+ attr::CUpti_ActivityAttribute,
+ valueSize::Ptr{Csize_t},
+ value::Ptr{Cvoid}
+ )::CUptiResult
end
@checked function cuptiActivitySetAttribute(attr, valueSize, value)
@@ -4827,10 +4851,12 @@ end
@checked function cuptiActivitySetAttribute_v2(subscriber, attr, valueSize, value)
initialize_context()
- @gcsafe_ccall libcupti.cuptiActivitySetAttribute_v2(subscriber::CUpti_SubscriberHandle,
- attr::CUpti_ActivityAttribute,
- valueSize::Ptr{Csize_t},
- value::Ptr{Cvoid})::CUptiResult
+ @gcsafe_ccall libcupti.cuptiActivitySetAttribute_v2(
+ subscriber::CUpti_SubscriberHandle,
+ attr::CUpti_ActivityAttribute,
+ valueSize::Ptr{Csize_t},
+ value::Ptr{Cvoid}
+ )::CUptiResult
end
@checked function cuptiActivityConfigureUnifiedMemoryCounter(config, count)
@@ -5301,7 +5327,7 @@ function Base.propertynames(x::CUpti_ActivityDevice4, private::Bool=false)
end
struct CUpti_ActivityDevice5
- data::NTuple{184,UInt8}
+ data::NTuple{184, UInt8}
end
function Base.getproperty(x::Ptr{CUpti_ActivityDevice5}, f::Symbol)
@@ -5337,7 +5363,7 @@ function Base.getproperty(x::Ptr{CUpti_ActivityDevice5}, f::Symbol)
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 === :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)
@@ -5350,28 +5376,30 @@ 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)
+ return 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
-function Base.propertynames(x::CUpti_ActivityDevice5, private::Bool=false)
- return (:kind, :flags, :globalMemoryBandwidth, :globalMemorySize, :constantMemorySize,
- :l2CacheSize, :numThreadsPerWarp, :coreClockRate, :numMemcpyEngines,
- :numMultiprocessors, :maxIPC, :maxWarpsPerMultiprocessor,
- :maxBlocksPerMultiprocessor, :maxSharedMemoryPerMultiprocessor,
- :maxRegistersPerMultiprocessor, :maxRegistersPerBlock, :maxSharedMemoryPerBlock,
- :maxThreadsPerBlock, :maxBlockDimX, :maxBlockDimY, :maxBlockDimZ, :maxGridDimX,
- :maxGridDimY, :maxGridDimZ, :computeCapabilityMajor, :computeCapabilityMinor,
- :id, :eccEnabled, :uuid, :name, :isCudaVisible, :isMigEnabled, :reserved,
- :gpuInstanceId, :computeInstanceId, :migUuid, :isNumaNode, :numaId,
- if private
- fieldnames(typeof(x))
- else
- ()
- end...)
+function Base.propertynames(x::CUpti_ActivityDevice5, private::Bool = false)
+ return (
+ :kind, :flags, :globalMemoryBandwidth, :globalMemorySize, :constantMemorySize,
+ :l2CacheSize, :numThreadsPerWarp, :coreClockRate, :numMemcpyEngines,
+ :numMultiprocessors, :maxIPC, :maxWarpsPerMultiprocessor,
+ :maxBlocksPerMultiprocessor, :maxSharedMemoryPerMultiprocessor,
+ :maxRegistersPerMultiprocessor, :maxRegistersPerBlock, :maxSharedMemoryPerBlock,
+ :maxThreadsPerBlock, :maxBlockDimX, :maxBlockDimY, :maxBlockDimZ, :maxGridDimX,
+ :maxGridDimY, :maxGridDimZ, :computeCapabilityMajor, :computeCapabilityMinor,
+ :id, :eccEnabled, :uuid, :name, :isCudaVisible, :isMigEnabled, :reserved,
+ :gpuInstanceId, :computeInstanceId, :migUuid, :isNumaNode, :numaId,
+ if private
+ fieldnames(typeof(x))
+ else
+ ()
+ end...,
+ )
end
struct CUpti_ActivityKernel
@@ -7511,7 +7539,7 @@ function Base.propertynames(x::var"##Ctag#349", private::Bool=false)
end
struct CUpti_ActivityNvLink2
- data::NTuple{96,UInt8}
+ data::NTuple{96, UInt8}
end
function Base.getproperty(x::Ptr{CUpti_ActivityNvLink2}, f::Symbol)
@@ -7523,8 +7551,8 @@ function Base.getproperty(x::Ptr{CUpti_ActivityNvLink2}, f::Symbol)
f === :idDev1 && return Ptr{var"##Ctag#349"}(x + 32)
f === :flag && return Ptr{UInt32}(x + 48)
f === :physicalNvLinkCount && return Ptr{UInt32}(x + 52)
- f === :portDev0 && return Ptr{NTuple{16,Int8}}(x + 56)
- f === :portDev1 && return Ptr{NTuple{16,Int8}}(x + 72)
+ f === :portDev0 && return Ptr{NTuple{16, Int8}}(x + 56)
+ f === :portDev1 && return Ptr{NTuple{16, Int8}}(x + 72)
f === :bandwidth && return Ptr{UInt64}(x + 88)
return getfield(x, f)
end
@@ -7609,7 +7637,7 @@ function Base.propertynames(x::var"##Ctag#343", private::Bool=false)
end
struct CUpti_ActivityNvLink3
- data::NTuple{104,UInt8}
+ data::NTuple{104, UInt8}
end
function Base.getproperty(x::Ptr{CUpti_ActivityNvLink3}, f::Symbol)
@@ -7621,11 +7649,11 @@ function Base.getproperty(x::Ptr{CUpti_ActivityNvLink3}, f::Symbol)
f === :idDev1 && return Ptr{var"##Ctag#343"}(x + 32)
f === :flag && return Ptr{UInt32}(x + 48)
f === :physicalNvLinkCount && return Ptr{UInt32}(x + 52)
- f === :portDev0 && return Ptr{NTuple{16,Int8}}(x + 56)
- f === :portDev1 && return Ptr{NTuple{16,Int8}}(x + 72)
+ f === :portDev0 && return Ptr{NTuple{16, Int8}}(x + 56)
+ f === :portDev1 && return Ptr{NTuple{16, Int8}}(x + 72)
f === :bandwidth && return Ptr{UInt64}(x + 88)
f === :nvswitchConnected && return Ptr{UInt8}(x + 96)
- f === :pad && return Ptr{NTuple{7,UInt8}}(x + 97)
+ f === :pad && return Ptr{NTuple{7, UInt8}}(x + 97)
return getfield(x, f)
end
@@ -7651,7 +7679,7 @@ function Base.propertynames(x::CUpti_ActivityNvLink3, private::Bool=false)
end
struct var"##Ctag#393"
- data::NTuple{16,UInt8}
+ data::NTuple{16, UInt8}
end
function Base.getproperty(x::Ptr{var"##Ctag#393"}, f::Symbol)
@@ -7664,23 +7692,25 @@ function Base.getproperty(x::var"##Ctag#393", f::Symbol)
r = Ref{var"##Ctag#393"}(x)
ptr = Base.unsafe_convert(Ptr{var"##Ctag#393"}, r)
fptr = getproperty(ptr, f)
- GC.@preserve r unsafe_load(fptr)
+ return GC.@preserve r unsafe_load(fptr)
end
function Base.setproperty!(x::Ptr{var"##Ctag#393"}, f::Symbol, v)
return unsafe_store!(getproperty(x, f), v)
end
-function Base.propertynames(x::var"##Ctag#393", private::Bool=false)
- return (:uuidDev, :npu, if private
- fieldnames(typeof(x))
- else
- ()
- end...)
+function Base.propertynames(x::var"##Ctag#393", private::Bool = false)
+ return (
+ :uuidDev, :npu, if private
+ fieldnames(typeof(x))
+ else
+ ()
+ end...,
+ )
end
struct var"##Ctag#395"
- data::NTuple{16,UInt8}
+ data::NTuple{16, UInt8}
end
function Base.getproperty(x::Ptr{var"##Ctag#395"}, f::Symbol)
@@ -7693,23 +7723,25 @@ function Base.getproperty(x::var"##Ctag#395", f::Symbol)
r = Ref{var"##Ctag#395"}(x)
ptr = Base.unsafe_convert(Ptr{var"##Ctag#395"}, r)
fptr = getproperty(ptr, f)
- GC.@preserve r unsafe_load(fptr)
+ return GC.@preserve r unsafe_load(fptr)
end
function Base.setproperty!(x::Ptr{var"##Ctag#395"}, f::Symbol, v)
return unsafe_store!(getproperty(x, f), v)
end
-function Base.propertynames(x::var"##Ctag#395", private::Bool=false)
- return (:uuidDev, :npu, if private
- fieldnames(typeof(x))
- else
- ()
- end...)
+function Base.propertynames(x::var"##Ctag#395", private::Bool = false)
+ return (
+ :uuidDev, :npu, if private
+ fieldnames(typeof(x))
+ else
+ ()
+ end...,
+ )
end
struct CUpti_ActivityNvLink4
- data::NTuple{136,UInt8}
+ data::NTuple{136, UInt8}
end
function Base.getproperty(x::Ptr{CUpti_ActivityNvLink4}, f::Symbol)
@@ -7721,11 +7753,11 @@ function Base.getproperty(x::Ptr{CUpti_ActivityNvLink4}, f::Symbol)
f === :idDev1 && return Ptr{var"##Ctag#395"}(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)
- f === :portDev1 && return Ptr{NTuple{32,Int8}}(x + 88)
+ f === :portDev0 && return Ptr{NTuple{32, Int8}}(x + 56)
+ f === :portDev1 && return Ptr{NTuple{32, Int8}}(x + 88)
f === :bandwidth && return Ptr{UInt64}(x + 120)
f === :nvswitchConnected && return Ptr{UInt8}(x + 128)
- f === :pad && return Ptr{NTuple{7,UInt8}}(x + 129)
+ f === :pad && return Ptr{NTuple{7, UInt8}}(x + 129)
return getfield(x, f)
end
@@ -7733,21 +7765,23 @@ function Base.getproperty(x::CUpti_ActivityNvLink4, f::Symbol)
r = Ref{CUpti_ActivityNvLink4}(x)
ptr = Base.unsafe_convert(Ptr{CUpti_ActivityNvLink4}, r)
fptr = getproperty(ptr, f)
- GC.@preserve r unsafe_load(fptr)
+ return GC.@preserve r unsafe_load(fptr)
end
function Base.setproperty!(x::Ptr{CUpti_ActivityNvLink4}, f::Symbol, v)
return unsafe_store!(getproperty(x, f), v)
end
-function Base.propertynames(x::CUpti_ActivityNvLink4, private::Bool=false)
- return (:kind, :nvlinkVersion, :typeDev0, :typeDev1, :idDev0, :idDev1, :flag,
- :physicalNvLinkCount, :portDev0, :portDev1, :bandwidth, :nvswitchConnected,
- :pad, if private
- fieldnames(typeof(x))
- else
- ()
- end...)
+function Base.propertynames(x::CUpti_ActivityNvLink4, private::Bool = false)
+ return (
+ :kind, :nvlinkVersion, :typeDev0, :typeDev1, :idDev0, :idDev1, :flag,
+ :physicalNvLinkCount, :portDev0, :portDev1, :bandwidth, :nvswitchConnected,
+ :pad, if private
+ fieldnames(typeof(x))
+ else
+ ()
+ end...,
+ )
end
struct CUpti_ActivityGraphTrace
@@ -10438,7 +10472,7 @@ function Base.getproperty(x::var"##Ctag#446", f::Symbol)
r = Ref{var"##Ctag#446"}(x)
ptr = Base.unsafe_convert(Ptr{var"##Ctag#446"}, r)
fptr = getproperty(ptr, f)
- GC.@preserve r unsafe_load(fptr)
+ return GC.@preserve r unsafe_load(fptr)
end
function Base.setproperty!(x::Ptr{var"##Ctag#446"}, f::Symbol, v)
@@ -10459,7 +10493,7 @@ function Base.getproperty(x::var"##Ctag#448", f::Symbol)
r = Ref{var"##Ctag#448"}(x)
ptr = Base.unsafe_convert(Ptr{var"##Ctag#448"}, r)
fptr = getproperty(ptr, f)
- GC.@preserve r unsafe_load(fptr)
+ return GC.@preserve r unsafe_load(fptr)
end
function Base.setproperty!(x::Ptr{var"##Ctag#448"}, f::Symbol, v)
@@ -10471,7 +10505,8 @@ const CUPTI_SUBSCRIBER_NAME_MAX_LEN = 53
const CUPTI_OLD_SUBSCRIBER_NAME_MIN_LEN = 64
const CUpti_SubscriberParams_STRUCT_SIZE = @CUPTI_CALLBACK_STRUCT_SIZE(CUpti_SubscriberParams,
- padding)
+ padding
+)
const CUPTI_EVENT_OVERFLOW = uint64_t(Culonglong(0xffffffffffffffff))
@@ -10517,8 +10552,10 @@ const CUPTI_DECOMPRESSED_BYTES_UNKNOWN = Clonglong(0)
const CUPTI_MAX_GPUS = 32
-const CUpti_ActivityConfig_STRUCT_SIZE = @CUPTI_ACTIVITY_STRUCT_SIZE(CUpti_ActivityConfig,
- fieldSelection)
+const CUpti_ActivityConfig_STRUCT_SIZE = @CUPTI_ACTIVITY_STRUCT_SIZE(
+ CUpti_ActivityConfig,
+ fieldSelection
+)
const CUPTI_MAX_NVLINK_PORTS = 256
diff --git a/lib/cusolver/libcusolver.jl b/lib/cusolver/libcusolver.jl
index 063a51588..43a59e9d0 100644
--- a/lib/cusolver/libcusolver.jl
+++ b/lib/cusolver/libcusolver.jl
@@ -239,54 +239,78 @@ end
@checked function cusolverDnSetFixedPointEmulationMantissaControl(handle, control)
initialize_context()
- @gcsafe_ccall libcusolver.cusolverDnSetFixedPointEmulationMantissaControl(handle::cusolverDnHandle_t,
- control::cudaEmulationMantissaControl_t)::cusolverStatus_t
+ @gcsafe_ccall libcusolver.cusolverDnSetFixedPointEmulationMantissaControl(
+ handle::cusolverDnHandle_t,
+ control::cudaEmulationMantissaControl_t
+ )::cusolverStatus_t
end
@checked function cusolverDnGetFixedPointEmulationMantissaControl(handle, control)
initialize_context()
- @gcsafe_ccall libcusolver.cusolverDnGetFixedPointEmulationMantissaControl(handle::cusolverDnHandle_t,
- control::Ptr{cudaEmulationMantissaControl_t})::cusolverStatus_t
+ @gcsafe_ccall libcusolver.cusolverDnGetFixedPointEmulationMantissaControl(
+ handle::cusolverDnHandle_t,
+ control::Ptr{cudaEmulationMantissaControl_t}
+ )::cusolverStatus_t
end
-@checked function cusolverDnSetFixedPointEmulationMaxMantissaBitCount(handle,
- mantissaBitCount)
+@checked function cusolverDnSetFixedPointEmulationMaxMantissaBitCount(
+ handle,
+ mantissaBitCount
+ )
initialize_context()
- @gcsafe_ccall libcusolver.cusolverDnSetFixedPointEmulationMaxMantissaBitCount(handle::cusolverDnHandle_t,
- mantissaBitCount::Cint)::cusolverStatus_t
+ @gcsafe_ccall libcusolver.cusolverDnSetFixedPointEmulationMaxMantissaBitCount(
+ handle::cusolverDnHandle_t,
+ mantissaBitCount::Cint
+ )::cusolverStatus_t
end
-@checked function cusolverDnGetFixedPointEmulationMaxMantissaBitCount(handle,
- mantissaBitCount)
+@checked function cusolverDnGetFixedPointEmulationMaxMantissaBitCount(
+ handle,
+ mantissaBitCount
+ )
initialize_context()
- @gcsafe_ccall libcusolver.cusolverDnGetFixedPointEmulationMaxMantissaBitCount(handle::cusolverDnHandle_t,
- mantissaBitCount::Ptr{Cint})::cusolverStatus_t
+ @gcsafe_ccall libcusolver.cusolverDnGetFixedPointEmulationMaxMantissaBitCount(
+ handle::cusolverDnHandle_t,
+ mantissaBitCount::Ptr{Cint}
+ )::cusolverStatus_t
end
-@checked function cusolverDnSetFixedPointEmulationMantissaBitOffset(handle,
- mantissaBitOffset)
+@checked function cusolverDnSetFixedPointEmulationMantissaBitOffset(
+ handle,
+ mantissaBitOffset
+ )
initialize_context()
- @gcsafe_ccall libcusolver.cusolverDnSetFixedPointEmulationMantissaBitOffset(handle::cusolverDnHandle_t,
- mantissaBitOffset::Cint)::cusolverStatus_t
+ @gcsafe_ccall libcusolver.cusolverDnSetFixedPointEmulationMantissaBitOffset(
+ handle::cusolverDnHandle_t,
+ mantissaBitOffset::Cint
+ )::cusolverStatus_t
end
-@checked function cusolverDnGetFixedPointEmulationMantissaBitOffset(handle,
- mantissaBitOffset)
+@checked function cusolverDnGetFixedPointEmulationMantissaBitOffset(
+ handle,
+ mantissaBitOffset
+ )
initialize_context()
- @gcsafe_ccall libcusolver.cusolverDnGetFixedPointEmulationMantissaBitOffset(handle::cusolverDnHandle_t,
- mantissaBitOffset::Ptr{Cint})::cusolverStatus_t
+ @gcsafe_ccall libcusolver.cusolverDnGetFixedPointEmulationMantissaBitOffset(
+ handle::cusolverDnHandle_t,
+ mantissaBitOffset::Ptr{Cint}
+ )::cusolverStatus_t
end
@checked function cusolverDnSetEmulationSpecialValuesSupport(handle, mask)
initialize_context()
- @gcsafe_ccall libcusolver.cusolverDnSetEmulationSpecialValuesSupport(handle::cusolverDnHandle_t,
- mask::cudaEmulationSpecialValuesSupport_t)::cusolverStatus_t
+ @gcsafe_ccall libcusolver.cusolverDnSetEmulationSpecialValuesSupport(
+ handle::cusolverDnHandle_t,
+ mask::cudaEmulationSpecialValuesSupport_t
+ )::cusolverStatus_t
end
@checked function cusolverDnGetEmulationSpecialValuesSupport(handle, mask)
initialize_context()
- @gcsafe_ccall libcusolver.cusolverDnGetEmulationSpecialValuesSupport(handle::cusolverDnHandle_t,
- mask::Ptr{cudaEmulationSpecialValuesSupport_t})::cusolverStatus_t
+ @gcsafe_ccall libcusolver.cusolverDnGetEmulationSpecialValuesSupport(
+ handle::cusolverDnHandle_t,
+ mask::Ptr{cudaEmulationSpecialValuesSupport_t}
+ )::cusolverStatus_t
end
@checked function cusolverDnIRSParamsCreate(params_ptr)
@@ -3520,98 +3544,114 @@ end
info::CuPtr{Cint})::cusolverStatus_t
end
-@checked function cusolverDnXsygvd_bufferSize(handle, params, itype, jobz, uplo, n,
- dataTypeA, d_A, lda, dataTypeB, d_B, ldb,
- dataTypeW, d_W, computeType,
- workspaceInBytesOnDevice,
- workspaceInBytesOnHost)
- initialize_context()
- @gcsafe_ccall libcusolver.cusolverDnXsygvd_bufferSize(handle::cusolverDnHandle_t,
- params::cusolverDnParams_t,
- itype::cusolverEigType_t,
- jobz::cusolverEigMode_t,
- uplo::cublasFillMode_t, n::Int64,
- dataTypeA::cudaDataType,
- d_A::Ptr{Cvoid}, lda::Int64,
- dataTypeB::cudaDataType,
- d_B::Ptr{Cvoid}, ldb::Int64,
- dataTypeW::cudaDataType,
- d_W::Ptr{Cvoid},
- computeType::cudaDataType,
- workspaceInBytesOnDevice::Ptr{Csize_t},
- workspaceInBytesOnHost::Ptr{Csize_t})::cusolverStatus_t
-end
-
-@checked function cusolverDnXsygvd(handle, params, itype, jobz, uplo, n, dataTypeA, d_A,
- lda, dataTypeB, d_B, ldb, dataTypeW, d_W, computeType,
- bufferOnDevice, workspaceInBytesOnDevice, bufferOnHost,
- workspaceInBytesOnHost, d_info)
- initialize_context()
- @gcsafe_ccall libcusolver.cusolverDnXsygvd(handle::cusolverDnHandle_t,
- params::cusolverDnParams_t,
- itype::cusolverEigType_t,
- jobz::cusolverEigMode_t,
- uplo::cublasFillMode_t, n::Int64,
- dataTypeA::cudaDataType, d_A::Ptr{Cvoid},
- lda::Int64, dataTypeB::cudaDataType,
- d_B::Ptr{Cvoid}, ldb::Int64,
- dataTypeW::cudaDataType, d_W::Ptr{Cvoid},
- computeType::cudaDataType,
- bufferOnDevice::Ptr{Cvoid},
- workspaceInBytesOnDevice::Csize_t,
- bufferOnHost::Ptr{Cvoid},
- workspaceInBytesOnHost::Csize_t,
- d_info::Ptr{Cint})::cusolverStatus_t
-end
-
-@checked function cusolverDnXsygvdx_bufferSize(handle, params, itype, jobz, uplo, n,
- dataTypeA, d_A, lda, dataTypeB, d_B, ldb, vl,
- vu, il, iu, meig, dataTypeW, d_W,
- computeType, workspaceInBytesOnDevice,
- workspaceInBytesOnHost)
- initialize_context()
- @gcsafe_ccall libcusolver.cusolverDnXsygvdx_bufferSize(handle::cusolverDnHandle_t,
- params::cusolverDnParams_t,
- itype::cusolverEigType_t,
- jobz::cusolverEigMode_t,
- uplo::cublasFillMode_t, n::Int64,
- dataTypeA::cudaDataType,
- d_A::Ptr{Cvoid}, lda::Int64,
- dataTypeB::cudaDataType,
- d_B::Ptr{Cvoid}, ldb::Int64,
- vl::Ptr{Cvoid}, vu::Ptr{Cvoid},
- il::Int64, iu::Int64,
- meig::Ptr{Int64},
- dataTypeW::cudaDataType,
- d_W::Ptr{Cvoid},
- computeType::cudaDataType,
- workspaceInBytesOnDevice::Ptr{Csize_t},
- workspaceInBytesOnHost::Ptr{Csize_t})::cusolverStatus_t
-end
-
-@checked function cusolverDnXsygvdx(handle, params, itype, jobz, range, uplo, n, dataTypeA,
- d_A, lda, dataTypeB, d_B, ldb, vl, vu, il, iu, meig,
- dataTypeW, d_W, computeType, bufferOnDevice,
- workspaceInBytesOnDevice, bufferOnHost,
- workspaceInBytesOnHost, d_info)
- initialize_context()
- @gcsafe_ccall libcusolver.cusolverDnXsygvdx(handle::cusolverDnHandle_t,
- params::cusolverDnParams_t,
- itype::cusolverEigType_t,
- jobz::cusolverEigMode_t,
- range::cusolverEigRange_t,
- uplo::cublasFillMode_t, n::Int64,
- dataTypeA::cudaDataType, d_A::Ptr{Cvoid},
- lda::Int64, dataTypeB::cudaDataType,
- d_B::Ptr{Cvoid}, ldb::Int64, vl::Ptr{Cvoid},
- vu::Ptr{Cvoid}, il::Int64, iu::Int64,
- meig::Ptr{Int64}, dataTypeW::cudaDataType,
- d_W::Ptr{Cvoid}, computeType::cudaDataType,
- bufferOnDevice::Ptr{Cvoid},
- workspaceInBytesOnDevice::Csize_t,
- bufferOnHost::Ptr{Cvoid},
- workspaceInBytesOnHost::Csize_t,
- d_info::Ptr{Cint})::cusolverStatus_t
+@checked function cusolverDnXsygvd_bufferSize(
+ handle, params, itype, jobz, uplo, n,
+ dataTypeA, d_A, lda, dataTypeB, d_B, ldb,
+ dataTypeW, d_W, computeType,
+ workspaceInBytesOnDevice,
+ workspaceInBytesOnHost
+ )
+ initialize_context()
+ @gcsafe_ccall libcusolver.cusolverDnXsygvd_bufferSize(
+ handle::cusolverDnHandle_t,
+ params::cusolverDnParams_t,
+ itype::cusolverEigType_t,
+ jobz::cusolverEigMode_t,
+ uplo::cublasFillMode_t, n::Int64,
+ dataTypeA::cudaDataType,
+ d_A::Ptr{Cvoid}, lda::Int64,
+ dataTypeB::cudaDataType,
+ d_B::Ptr{Cvoid}, ldb::Int64,
+ dataTypeW::cudaDataType,
+ d_W::Ptr{Cvoid},
+ computeType::cudaDataType,
+ workspaceInBytesOnDevice::Ptr{Csize_t},
+ workspaceInBytesOnHost::Ptr{Csize_t}
+ )::cusolverStatus_t
+end
+
+@checked function cusolverDnXsygvd(
+ handle, params, itype, jobz, uplo, n, dataTypeA, d_A,
+ lda, dataTypeB, d_B, ldb, dataTypeW, d_W, computeType,
+ bufferOnDevice, workspaceInBytesOnDevice, bufferOnHost,
+ workspaceInBytesOnHost, d_info
+ )
+ initialize_context()
+ @gcsafe_ccall libcusolver.cusolverDnXsygvd(
+ handle::cusolverDnHandle_t,
+ params::cusolverDnParams_t,
+ itype::cusolverEigType_t,
+ jobz::cusolverEigMode_t,
+ uplo::cublasFillMode_t, n::Int64,
+ dataTypeA::cudaDataType, d_A::Ptr{Cvoid},
+ lda::Int64, dataTypeB::cudaDataType,
+ d_B::Ptr{Cvoid}, ldb::Int64,
+ dataTypeW::cudaDataType, d_W::Ptr{Cvoid},
+ computeType::cudaDataType,
+ bufferOnDevice::Ptr{Cvoid},
+ workspaceInBytesOnDevice::Csize_t,
+ bufferOnHost::Ptr{Cvoid},
+ workspaceInBytesOnHost::Csize_t,
+ d_info::Ptr{Cint}
+ )::cusolverStatus_t
+end
+
+@checked function cusolverDnXsygvdx_bufferSize(
+ handle, params, itype, jobz, uplo, n,
+ dataTypeA, d_A, lda, dataTypeB, d_B, ldb, vl,
+ vu, il, iu, meig, dataTypeW, d_W,
+ computeType, workspaceInBytesOnDevice,
+ workspaceInBytesOnHost
+ )
+ initialize_context()
+ @gcsafe_ccall libcusolver.cusolverDnXsygvdx_bufferSize(
+ handle::cusolverDnHandle_t,
+ params::cusolverDnParams_t,
+ itype::cusolverEigType_t,
+ jobz::cusolverEigMode_t,
+ uplo::cublasFillMode_t, n::Int64,
+ dataTypeA::cudaDataType,
+ d_A::Ptr{Cvoid}, lda::Int64,
+ dataTypeB::cudaDataType,
+ d_B::Ptr{Cvoid}, ldb::Int64,
+ vl::Ptr{Cvoid}, vu::Ptr{Cvoid},
+ il::Int64, iu::Int64,
+ meig::Ptr{Int64},
+ dataTypeW::cudaDataType,
+ d_W::Ptr{Cvoid},
+ computeType::cudaDataType,
+ workspaceInBytesOnDevice::Ptr{Csize_t},
+ workspaceInBytesOnHost::Ptr{Csize_t}
+ )::cusolverStatus_t
+end
+
+@checked function cusolverDnXsygvdx(
+ handle, params, itype, jobz, range, uplo, n, dataTypeA,
+ d_A, lda, dataTypeB, d_B, ldb, vl, vu, il, iu, meig,
+ dataTypeW, d_W, computeType, bufferOnDevice,
+ workspaceInBytesOnDevice, bufferOnHost,
+ workspaceInBytesOnHost, d_info
+ )
+ initialize_context()
+ @gcsafe_ccall libcusolver.cusolverDnXsygvdx(
+ handle::cusolverDnHandle_t,
+ params::cusolverDnParams_t,
+ itype::cusolverEigType_t,
+ jobz::cusolverEigMode_t,
+ range::cusolverEigRange_t,
+ uplo::cublasFillMode_t, n::Int64,
+ dataTypeA::cudaDataType, d_A::Ptr{Cvoid},
+ lda::Int64, dataTypeB::cudaDataType,
+ d_B::Ptr{Cvoid}, ldb::Int64, vl::Ptr{Cvoid},
+ vu::Ptr{Cvoid}, il::Int64, iu::Int64,
+ meig::Ptr{Int64}, dataTypeW::cudaDataType,
+ d_W::Ptr{Cvoid}, computeType::cudaDataType,
+ bufferOnDevice::Ptr{Cvoid},
+ workspaceInBytesOnDevice::Csize_t,
+ bufferOnHost::Ptr{Cvoid},
+ workspaceInBytesOnHost::Csize_t,
+ d_info::Ptr{Cint}
+ )::cusolverStatus_t
end
@checked function cusolverDnCreateSyevjInfo(info)
diff --git a/lib/nvml/libnvml.jl b/lib/nvml/libnvml.jl
index 1ea71656d..6d49114e2 100644
--- a/lib/nvml/libnvml.jl
+++ b/lib/nvml/libnvml.jl
@@ -1754,7 +1754,7 @@ struct nvmlVgpuSchedulerLogInfo_v2_t
avgFactor::Cuint
timeslice::Cuint
entriesCount::Cuint
- logEntries::NTuple{200,nvmlVgpuSchedulerLogEntry_v2_t}
+ logEntries::NTuple{200, nvmlVgpuSchedulerLogEntry_v2_t}
end
struct nvmlVgpuSchedulerState_v2_t
@@ -4158,38 +4158,50 @@ end
@checked function nvmlDeviceGetVgpuSchedulerState_v2(device, pSchedulerStateInfo)
initialize_context()
- @gcsafe_ccall libnvml.nvmlDeviceGetVgpuSchedulerState_v2(device::nvmlDevice_t,
- pSchedulerStateInfo::Ptr{nvmlVgpuSchedulerStateInfo_v2_t})::nvmlReturn_t
+ @gcsafe_ccall libnvml.nvmlDeviceGetVgpuSchedulerState_v2(
+ device::nvmlDevice_t,
+ pSchedulerStateInfo::Ptr{nvmlVgpuSchedulerStateInfo_v2_t}
+ )::nvmlReturn_t
end
@checked function nvmlGpuInstanceGetVgpuSchedulerState_v2(gpuInstance, pSchedulerStateInfo)
initialize_context()
- @gcsafe_ccall libnvml.nvmlGpuInstanceGetVgpuSchedulerState_v2(gpuInstance::nvmlGpuInstance_t,
- pSchedulerStateInfo::Ptr{nvmlVgpuSchedulerStateInfo_v2_t})::nvmlReturn_t
+ @gcsafe_ccall libnvml.nvmlGpuInstanceGetVgpuSchedulerState_v2(
+ gpuInstance::nvmlGpuInstance_t,
+ pSchedulerStateInfo::Ptr{nvmlVgpuSchedulerStateInfo_v2_t}
+ )::nvmlReturn_t
end
@checked function nvmlDeviceGetVgpuSchedulerLog_v2(device, pSchedulerLogInfo)
initialize_context()
- @gcsafe_ccall libnvml.nvmlDeviceGetVgpuSchedulerLog_v2(device::nvmlDevice_t,
- pSchedulerLogInfo::Ptr{nvmlVgpuSchedulerLogInfo_v2_t})::nvmlReturn_t
+ @gcsafe_ccall libnvml.nvmlDeviceGetVgpuSchedulerLog_v2(
+ device::nvmlDevice_t,
+ pSchedulerLogInfo::Ptr{nvmlVgpuSchedulerLogInfo_v2_t}
+ )::nvmlReturn_t
end
@checked function nvmlGpuInstanceGetVgpuSchedulerLog_v2(gpuInstance, pSchedulerLogInfo)
initialize_context()
- @gcsafe_ccall libnvml.nvmlGpuInstanceGetVgpuSchedulerLog_v2(gpuInstance::nvmlGpuInstance_t,
- pSchedulerLogInfo::Ptr{nvmlVgpuSchedulerLogInfo_v2_t})::nvmlReturn_t
+ @gcsafe_ccall libnvml.nvmlGpuInstanceGetVgpuSchedulerLog_v2(
+ gpuInstance::nvmlGpuInstance_t,
+ pSchedulerLogInfo::Ptr{nvmlVgpuSchedulerLogInfo_v2_t}
+ )::nvmlReturn_t
end
@checked function nvmlDeviceSetVgpuSchedulerState_v2(device, pSchedulerState)
initialize_context()
- @gcsafe_ccall libnvml.nvmlDeviceSetVgpuSchedulerState_v2(device::nvmlDevice_t,
- pSchedulerState::Ptr{nvmlVgpuSchedulerState_v2_t})::nvmlReturn_t
+ @gcsafe_ccall libnvml.nvmlDeviceSetVgpuSchedulerState_v2(
+ device::nvmlDevice_t,
+ pSchedulerState::Ptr{nvmlVgpuSchedulerState_v2_t}
+ )::nvmlReturn_t
end
@checked function nvmlGpuInstanceSetVgpuSchedulerState_v2(gpuInstance, pSchedulerState)
initialize_context()
- @gcsafe_ccall libnvml.nvmlGpuInstanceSetVgpuSchedulerState_v2(gpuInstance::nvmlGpuInstance_t,
- pSchedulerState::Ptr{nvmlVgpuSchedulerState_v2_t})::nvmlReturn_t
+ @gcsafe_ccall libnvml.nvmlGpuInstanceSetVgpuSchedulerState_v2(
+ gpuInstance::nvmlGpuInstance_t,
+ pSchedulerState::Ptr{nvmlVgpuSchedulerState_v2_t}
+ )::nvmlReturn_t
end
struct nvmlVgpuVersion_st
@@ -4302,8 +4314,10 @@ end
@checked function nvmlDeviceGetVgpuSchedulerCapabilities(device, pCapabilities)
initialize_context()
- @gcsafe_ccall libnvml.nvmlDeviceGetVgpuSchedulerCapabilities(device::nvmlDevice_t,
- pCapabilities::Ptr{nvmlVgpuSchedulerCapabilities_t})::nvmlReturn_t
+ @gcsafe_ccall libnvml.nvmlDeviceGetVgpuSchedulerCapabilities(
+ device::nvmlDevice_t,
+ pCapabilities::Ptr{nvmlVgpuSchedulerCapabilities_t}
+ )::nvmlReturn_t
end
@checked function nvmlGetVgpuVersion(supported, current)
@@ -5169,7 +5183,7 @@ struct nvmlGpmMetricsGet_t
numMetrics::Cuint
sample1::nvmlGpmSample_t
sample2::nvmlGpmSample_t
- metrics::NTuple{333,nvmlGpmMetric_t}
+ metrics::NTuple{333, nvmlGpmMetric_t}
end
struct nvmlGpmSupport_t
diff --git a/res/wrap/libcupti_prologue.jl b/res/wrap/libcupti_prologue.jl
index 172e3f18a..2becb80b2 100644
--- a/res/wrap/libcupti_prologue.jl
+++ b/res/wrap/libcupti_prologue.jl
@@ -40,7 +40,7 @@ end
macro CUPTI_ACTIVITY_STRUCT_SIZE(type, lastfield)
type = esc(type)
lastfield = QuoteNode(lastfield)
- quote
+ return quote
$struct_size($type, $lastfield)
end
end |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #3053 +/- ##
=======================================
Coverage 89.48% 89.48%
=======================================
Files 148 148
Lines 13043 13043
=======================================
Hits 11671 11671
Misses 1372 1372 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
Contributor
There was a problem hiding this comment.
CUDA.jl Benchmarks
Details
| Benchmark suite | Current: 05694f6 | Previous: 5472295 | Ratio |
|---|---|---|---|
latency/precompile |
44878102916 ns |
43893707632 ns |
1.02 |
latency/ttfp |
12758490692 ns |
12909648613 ns |
0.99 |
latency/import |
3524041496 ns |
3506340040 ns |
1.01 |
integration/volumerhs |
9439008.5 ns |
9441122 ns |
1.00 |
integration/byval/slices=1 |
146055 ns |
145704 ns |
1.00 |
integration/byval/slices=3 |
423122 ns |
422873 ns |
1.00 |
integration/byval/reference |
144023 ns |
143887 ns |
1.00 |
integration/byval/slices=2 |
284786 ns |
284218 ns |
1.00 |
integration/cudadevrt |
102763 ns |
102447 ns |
1.00 |
kernel/indexing |
13414 ns |
13397 ns |
1.00 |
kernel/indexing_checked |
14393 ns |
14106 ns |
1.02 |
kernel/occupancy |
703.9444444444445 ns |
642.1951219512196 ns |
1.10 |
kernel/launch |
2187.6666666666665 ns |
2182.9444444444443 ns |
1.00 |
kernel/rand |
14604 ns |
15509 ns |
0.94 |
array/reverse/1d |
18961 ns |
19015.5 ns |
1.00 |
array/reverse/2dL_inplace |
66426.5 ns |
66294 ns |
1.00 |
array/reverse/1dL |
69544 ns |
69264 ns |
1.00 |
array/reverse/2d |
21634 ns |
21406 ns |
1.01 |
array/reverse/1d_inplace |
10667.666666666666 ns |
10627.666666666666 ns |
1.00 |
array/reverse/2d_inplace |
11869 ns |
10996 ns |
1.08 |
array/reverse/2dL |
73446 ns |
73336 ns |
1.00 |
array/reverse/1dL_inplace |
66416 ns |
66391 ns |
1.00 |
array/copy |
19077 ns |
18444 ns |
1.03 |
array/iteration/findall/int |
149537 ns |
145423 ns |
1.03 |
array/iteration/findall/bool |
132658.5 ns |
130731 ns |
1.01 |
array/iteration/findfirst/int |
85545 ns |
84638 ns |
1.01 |
array/iteration/findfirst/bool |
83890.5 ns |
81595 ns |
1.03 |
array/iteration/scalar |
67628 ns |
67259 ns |
1.01 |
array/iteration/logical |
203835.5 ns |
200755.5 ns |
1.02 |
array/iteration/findmin/1d |
89373.5 ns |
86165.5 ns |
1.04 |
array/iteration/findmin/2d |
117357 ns |
117304.5 ns |
1.00 |
array/reductions/reduce/Int64/1d |
43944 ns |
39371 ns |
1.12 |
array/reductions/reduce/Int64/dims=1 |
43934 ns |
44367 ns |
0.99 |
array/reductions/reduce/Int64/dims=2 |
60143 ns |
59429 ns |
1.01 |
array/reductions/reduce/Int64/dims=1L |
87775 ns |
87550 ns |
1.00 |
array/reductions/reduce/Int64/dims=2L |
85497 ns |
85113.5 ns |
1.00 |
array/reductions/reduce/Float32/1d |
35344 ns |
34268 ns |
1.03 |
array/reductions/reduce/Float32/dims=1 |
40458 ns |
48865.5 ns |
0.83 |
array/reductions/reduce/Float32/dims=2 |
57602 ns |
56196 ns |
1.03 |
array/reductions/reduce/Float32/dims=1L |
52299 ns |
51777 ns |
1.01 |
array/reductions/reduce/Float32/dims=2L |
70784 ns |
69644 ns |
1.02 |
array/reductions/mapreduce/Int64/1d |
43556 ns |
39157 ns |
1.11 |
array/reductions/mapreduce/Int64/dims=1 |
45540 ns |
51282.5 ns |
0.89 |
array/reductions/mapreduce/Int64/dims=2 |
59987 ns |
59191 ns |
1.01 |
array/reductions/mapreduce/Int64/dims=1L |
87840 ns |
87450 ns |
1.00 |
array/reductions/mapreduce/Int64/dims=2L |
85605 ns |
85108.5 ns |
1.01 |
array/reductions/mapreduce/Float32/1d |
35372 ns |
33989 ns |
1.04 |
array/reductions/mapreduce/Float32/dims=1 |
50072 ns |
48728 ns |
1.03 |
array/reductions/mapreduce/Float32/dims=2 |
57281 ns |
56178 ns |
1.02 |
array/reductions/mapreduce/Float32/dims=1L |
51971 ns |
51465 ns |
1.01 |
array/reductions/mapreduce/Float32/dims=2L |
70070 ns |
68877 ns |
1.02 |
array/broadcast |
20527.5 ns |
20339 ns |
1.01 |
array/copyto!/gpu_to_gpu |
11496 ns |
10634.166666666668 ns |
1.08 |
array/copyto!/cpu_to_gpu |
215766.5 ns |
215032 ns |
1.00 |
array/copyto!/gpu_to_cpu |
285003 ns |
283345.5 ns |
1.01 |
array/accumulate/Int64/1d |
119468 ns |
118179 ns |
1.01 |
array/accumulate/Int64/dims=1 |
80729 ns |
79470 ns |
1.02 |
array/accumulate/Int64/dims=2 |
156842 ns |
155613 ns |
1.01 |
array/accumulate/Int64/dims=1L |
1706713 ns |
1694158 ns |
1.01 |
array/accumulate/Int64/dims=2L |
962085.5 ns |
960865 ns |
1.00 |
array/accumulate/Float32/1d |
101524 ns |
100641.5 ns |
1.01 |
array/accumulate/Float32/dims=1 |
76994.5 ns |
76173 ns |
1.01 |
array/accumulate/Float32/dims=2 |
144324 ns |
144217.5 ns |
1.00 |
array/accumulate/Float32/dims=1L |
1585843 ns |
1584446 ns |
1.00 |
array/accumulate/Float32/dims=2L |
657976 ns |
656699 ns |
1.00 |
array/construct |
1324.8 ns |
1306.3 ns |
1.01 |
array/random/randn/Float32 |
39376 ns |
41156 ns |
0.96 |
array/random/randn!/Float32 |
31914 ns |
30029 ns |
1.06 |
array/random/rand!/Int64 |
34666 ns |
34605 ns |
1.00 |
array/random/rand!/Float32 |
8638.333333333334 ns |
8182.25 ns |
1.06 |
array/random/rand/Int64 |
37468 ns |
32316 ns |
1.16 |
array/random/rand/Float32 |
13268 ns |
12466 ns |
1.06 |
array/permutedims/4d |
52218.5 ns |
50943 ns |
1.03 |
array/permutedims/2d |
52889 ns |
52373 ns |
1.01 |
array/permutedims/3d |
53701 ns |
52694 ns |
1.02 |
array/sorting/1d |
2736242 ns |
2734863 ns |
1.00 |
array/sorting/by |
3305275 ns |
3304190.5 ns |
1.00 |
array/sorting/2d |
1076755 ns |
1068173 ns |
1.01 |
cuda/synchronization/stream/auto |
1033.2 ns |
1039.7692307692307 ns |
0.99 |
cuda/synchronization/stream/nonblocking |
8173.5 ns |
7691.4 ns |
1.06 |
cuda/synchronization/stream/blocking |
823.1547619047619 ns |
818.6910112359551 ns |
1.01 |
cuda/synchronization/context/auto |
1169.9 ns |
1142.4 ns |
1.02 |
cuda/synchronization/context/nonblocking |
7652 ns |
7606.8 ns |
1.01 |
cuda/synchronization/context/blocking |
919.2857142857143 ns |
888.9473684210526 ns |
1.03 |
This comment was automatically generated by workflow using github-action-benchmark.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.