-
Notifications
You must be signed in to change notification settings - Fork 3
Closed
Description
I found that I can generate large CuArray, it seems that for generate value type, size of the array is limited below an Int32 number.
Here is a MWE.
using TropicalGEMM
using CUDA
CUDA.zeros(TropicalF32, 2^16, 2^16)Error message:
ERROR: InexactError: trunc(Int32, 4294967296)
Stacktrace:
[1] throw_inexacterror(::Symbol, ::Vararg{Any})
@ Core ./boot.jl:750
[2] checked_trunc_sint
@ ./boot.jl:764 [inlined]
[3] toInt32
@ ./boot.jl:801 [inlined]
[4] Int32
@ ./boot.jl:891 [inlined]
[5] convert
@ ./number.jl:7 [inlined]
[6] cconvert
@ ./essentials.jl:687 [inlined]
[7] macro expansion
@ ~/.julia/packages/CUDA/1kIOw/lib/utils/call.jl:222 [inlined]
[8] macro expansion
@ ~/.julia/packages/CUDA/1kIOw/lib/cudadrv/libcuda.jl:5139 [inlined]
[9] #735
@ ~/.julia/packages/CUDA/1kIOw/lib/utils/call.jl:35 [inlined]
[10] check
@ ~/.julia/packages/CUDA/1kIOw/lib/cudadrv/libcuda.jl:35 [inlined]
[11] cuOccupancyMaxPotentialBlockSize
@ ~/.julia/packages/CUDA/1kIOw/lib/utils/call.jl:34 [inlined]
[12] launch_configuration(fun::CuFunction; shmem::Int64, max_threads::Int64)
@ CUDA ~/.julia/packages/CUDA/1kIOw/lib/cudadrv/occupancy.jl:61
[13] launch_configuration
@ ~/.julia/packages/CUDA/1kIOw/lib/cudadrv/occupancy.jl:56 [inlined]
[14] (::KernelAbstractions.Kernel{…})(::CuArray{…}, ::Vararg{…}; ndrange::Tuple{…}, workgroupsize::Nothing)
@ CUDA.CUDAKernels ~/.julia/packages/CUDA/1kIOw/src/CUDAKernels.jl:107
[15] fill!(A::CuArray{Tropical{Float32}, 2, CUDA.DeviceMemory}, x::Tropical{Float32})
@ GPUArrays ~/.julia/packages/GPUArrays/uiVyU/src/host/construction.jl:22
[16] zeros(::Type, ::Int64, ::Vararg{Int64})
@ CUDA ~/.julia/packages/CUDA/1kIOw/src/array.jl:773
[17] top-level scope
@ REPL[14]:1
Some type information was truncated. Use `show(err)` to see complete types.notice that 4294967296 is exactly
Metadata
Metadata
Assignees
Labels
No labels