# \[CUDA\] Issue with cached\_memory() and Quadro RTX

**URL:** <https://discourse.julialang.org/t/cuda-issue-with-cached-memory-and-quadro-rtx/67102>\
**Category:** GPU\
**Created:** [August 27, 2021, 2:28pm UTC](https://discourse.julialang.org/t/cuda-issue-with-cached-memory-and-quadro-rtx/67102 "2021-08-27T14:28:06Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![RGerzaguet](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/rgerzaguet/32/45492_2.png) [@RGerzaguet](https://discourse.julialang.org/u/RGerzaguet)\
**Post date:** [August 27, 2021, 2:28pm UTC](https://discourse.julialang.org/t/cuda-issue-with-cached-memory-and-quadro-rtx/67102/1 "2021-08-27T14:28:06Z")

</div>

I have a new toy to play with (a Quadro RTX) and I want to use CUDA.jl with the GPU.

I get a quite simple yet annoying issue associated to the function `cached_memory`.  
The very simple MWE

```julia

julia> CUDA.versioninfo()
CUDA toolkit 11.4.1, artifact installation
CUDA driver 11.2.0
NVIDIA driver 460.91.3

Libraries: 
- CUBLAS: 11.5.4
- CURAND: 10.2.5
- CUFFT: 10.5.1
- CUSOLVER: 11.2.0
- CUSPARSE: 11.6.0
- CUPTI: 14.0.0
- NVML: 11.0.0+460.91.3
- CUDNN: 8.20.2 (for CUDA 11.4.0)
- CUTENSOR: 1.3.0 (for CUDA 11.2.0)

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, 7.0
- Device capability support: sm_35, sm_37, sm_50, sm_52, sm_53, sm_60, sm_61, sm_62, sm_70, sm_72, sm_75, sm_80

1 device:
  0: Quadro RTX 5000 (sm_75, 14.922 GiB / 15.738 GiB available)

julia> CUDA.cached_memory()
ERROR: CUDA error: invalid argument (code 1, ERROR_INVALID_VALUE)
Stacktrace:
 [1] throw_api_error(res::CUDA.cudaError_enum)
   @ CUDA ~/.julia/packages/CUDA/VGl9W/lib/cudadrv/error.jl:105
 [2] macro expansion
   @ ~/.julia/packages/CUDA/VGl9W/lib/cudadrv/error.jl:115 [inlined]
 [3] cuMemPoolGetAttribute(pool::CuMemoryPool, attr::CUDA.CUmemPool_attribute_enum, value::Base.RefValue{UInt64})
   @ CUDA ~/.julia/packages/CUDA/VGl9W/lib/utils/call.jl:26
 [4] attribute(X::Type, pool::CuMemoryPool, attr::CUDA.CUmemPool_attribute_enum)
   @ CUDA ~/.julia/packages/CUDA/VGl9W/lib/cudadrv/pool.jl:77
 [5] cached_memory()
   @ CUDA ~/.julia/packages/CUDA/VGl9W/src/pool.jl:532
 [6] top-level scope
   @ REPL[8]:100: 

```

The main issue is that the function `cached_memory()` is used several times (for instance for allocation) at several places (like in `cudnnFindConvolutionAlgorithmWorkspaceSize` for conv in GPU)

Any hints to address that ?

---

<div class="post-metadata">

**Author:** ![maleadt](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/maleadt/32/10097_2.png) [@maleadt](https://discourse.julialang.org/u/maleadt)\
**Post date:** [August 27, 2021, 2:35pm UTC](https://discourse.julialang.org/t/cuda-issue-with-cached-memory-and-quadro-rtx/67102/2 "2021-08-27T14:35:03Z")

</div>

Already fixed, [https://github.com/JuliaGPU/CUDA.jl/commit/e0d5b69e4386084fc10c3e1f463224d7268c0e39](https://github.com/JuliaGPU/CUDA.jl/commit/e0d5b69e4386084fc10c3e1f463224d7268c0e39), I’ll create a backport release.

---

<div class="post-metadata">

**Author:** ![RGerzaguet](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/rgerzaguet/32/45492_2.png) [@RGerzaguet](https://discourse.julialang.org/u/RGerzaguet)\
**Post date:** [August 27, 2021, 2:58pm UTC](https://discourse.julialang.org/t/cuda-issue-with-cached-memory-and-quadro-rtx/67102/3 "2021-08-27T14:58:31Z")

</div>

Wooo, that was fast 😃  
Thanks a lot !

---

<div class="post-metadata">

**Author:** ![maleadt](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/maleadt/32/10097_2.png) [@maleadt](https://discourse.julialang.org/u/maleadt)\
**Post date:** [August 27, 2021, 8:17pm UTC](https://discourse.julialang.org/t/cuda-issue-with-cached-memory-and-quadro-rtx/67102/4 "2021-08-27T20:17:48Z")

</div>

New version has been tagged: [https://github.com/JuliaRegistries/General/pull/43682](https://github.com/JuliaRegistries/General/pull/43682)
