Using Julia CuArrays on Jetson

I’m using Julia on the jetson, following the juliacon21-gpu_workshop
but having problems with CuArrays.

I’m not using the Jupyter notebooks, just entering code directly to REPL.

I found normal array element-wise operations work OK…Eg:

julia> aa = [1,2,3,4]’
1×4 adjoint(::Vector{Int64}) with eltype Int64:
1 2 3 4

julia> aa .+= 1
1×4 adjoint(::Vector{Int64}) with eltype Int64:
2 3 4 5

But element-wise operations with CuArrays fail…

julia> a = CuArray([1,2,3,4]’)
1×4 CuArray{Int64, 2}:
1 2 3 4

julia> a .+= 1
ERROR: UndefVarError: parameters not defined
Stacktrace:

Tried updating julia to V 1.6.2 and re-adding the CUDA package with no change.
Tried adding CuArrays alone…and got this
(@v1.6) pkg> add CuArrays
Resolving package versions…
ERROR: Unsatisfiable requirements detected for package CuArrays [3a865a2d]:
CuArrays [3a865a2d] log:
├─possible versions are: 0.2.1-2.2.2 or uninstalled
├─restricted to versions * by an explicit requirement, leaving only versions 0.2.1-2.2.2
└─restricted by julia compatibility requirements to versions: uninstalled — no versions left

So I’m wondering what the compatibility requirements are for CuArrays on Julia on the Jetson.

Here is the version info
julia> CUDA.versioninfo()
CUDA toolkit 10.2.89, local installation
CUDA driver 10.2.0

Libraries:

  • CUBLAS: 10.2.2
  • CURAND: 10.1.2
  • CUFFT: 10.1.2
  • CUSOLVER: 10.3.0
  • CUSPARSE: 10.3.1
  • CUPTI: 12.0.0
  • NVML: missing
  • CUDNN: 8.0.0 (for CUDA 10.2.0)
  • CUTENSOR: missing

Toolchain:

  • Julia: 1.6.2
  • LLVM: 11.0.1
  • PTX ISA support: 3.2, 4.0, 4.1, 4.2, 4.3, 5.0, 6.0, 6.1, 6.3, 6.4, 6.5
  • Device support: sm_30, sm_32, sm_35, sm_37, sm_50, sm_52, sm_53, sm_60, sm_61, sm_62, sm_70, sm_72, sm_75

1 device:
0: NVIDIA Tegra X1 (sm_53, 204.184 MiB / 3.864 GiB available)

Does anybody know what is stopping CuArrays?

Better to post this to Julia Discourse as CUDA.jl is mainly maintained by the Julia community and it’s not a part of CUDA.