# CuArrays: error calling CuArray() (ERROR\_INVALID\_DEVICE)

**URL:** <https://discourse.julialang.org/t/cuarrays-error-calling-cuarray-error-invalid-device/18654>\
**Category:** GPU\
**Tags:** question\
**Created:** [December 14, 2018, 10:56am UTC](https://discourse.julialang.org/t/cuarrays-error-calling-cuarray-error-invalid-device/18654 "2018-12-14T10:56:09Z")\
**Posts on this page:** 1\
**Showing post:** 3

<div class="post-metadata">

**Author:** ![samo](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/samo/32/35398_2.png) [@samo](https://discourse.julialang.org/u/samo)\
**Post date:** [December 14, 2018, 11:28am UTC](https://discourse.julialang.org/t/cuarrays-error-calling-cuarray-error-invalid-device/18654/3 "2018-12-14T11:28:32Z")

</div>

Thanks for your immediate reply @maleadt! Calling `CUDAnative.device!(0)` gives the same error:

```julia
julia> using CUDAnative, CUDAdrv, CuArrays

julia> CUDAnative.device!(0)
ERROR: CUDA error: invalid device ordinal (code #101, ERROR_INVALID_DEVICE)
Stacktrace:
 [1] macro expansion at /users/omlins/.julia/packages/CUDAdrv/LC5XS/src/base.jl:147 [inlined]
 [2] CuContext(::CuDevice, ::CUDAdrv.CUctx_flags) at /users/omlins/.julia/packages/CUDAdrv/LC5XS/src/context.jl:112
 [3] Type at /users/omlins/.julia/packages/CUDAdrv/LC5XS/src/context.jl:111 [inlined]
 [4] device!(::CuDevice) at /users/omlins/.julia/packages/CUDAnative/AGfq2/src/init.jl:68
 [5] device!(::Int64) at /users/omlins/.julia/packages/CUDAnative/AGfq2/src/init.jl:75
 [6] top-level scope at none:0

```

However, for some reason, calling `CUDAdrv.CuDevice(0)` solves the problem for the call to `CuArrays.CuArray()` (but not for the call to `CUDAnative.device!()`):

```julia
julia> using CUDAnative, CUDAdrv, CuArrays

julia> CUDAdrv.CuDevice(0)
CuDevice(0): Tesla P100-PCIE-16GB

julia> CUDAnative.device!(0)
ERROR: CUDA error: invalid device ordinal (code #101, ERROR_INVALID_DEVICE)
Stacktrace:
 [1] macro expansion at /users/omlins/.julia/packages/CUDAdrv/LC5XS/src/base.jl:147 [inlined]
 [2] CuContext(::CuDevice, ::CUDAdrv.CUctx_flags) at /users/omlins/.julia/packages/CUDAdrv/LC5XS/src/context.jl:112
 [3] Type at /users/omlins/.julia/packages/CUDAdrv/LC5XS/src/context.jl:111 [inlined]
 [4] device!(::CuDevice) at /users/omlins/.julia/packages/CUDAnative/AGfq2/src/init.jl:68
 [5] device!(::Int64) at /users/omlins/.julia/packages/CUDAnative/AGfq2/src/init.jl:75
 [6] top-level scope at none:0

julia> B = ones(10_000) ./ 2;

julia> cuB = CuArrays.CuArray(B);

julia> 

```

---

_[View the full topic](https://discourse.julialang.org/t/cuarrays-error-calling-cuarray-error-invalid-device/18654)._
