# Flux RNNs leak into CuRNNs

**URL:** https://discourse.julialang.org/t/flux-rnns-leak-into-curnns/25661
**Category:** Machine Learning
**Tags:** flux
**Created:** [June 25, 2019, 6:36pm UTC](https://discourse.julialang.org/t/flux-rnns-leak-into-curnns/25661 "2019-06-25T18:36:19Z")
**Posts on this page:** 3
**Page:** 1

<div class="post-metadata">

### Author: ![tanhevg](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tanhevg/32/12025_2.png) [@tanhevg](https://discourse.julialang.org/u/tanhevg)
#### Post date: [June 25, 2019, 6:36pm UTC](https://discourse.julialang.org/t/flux-rnns-leak-into-curnns/25661/1 "2019-06-25T18:36:19Z")

</div>

Hello,

has anyone encountered Flux RNNs invoking cudnn code, although none of the models from `Flux.CUDA` are used? My model is built on top of `Flux.LSTM` (not `CuLSTM`), but I get the following error:

```julia
ERROR: LoadError: CUDNNError(code 3, CUDNN_STATUS_BAD_PARAM)
Stacktrace:
 [1] macro expansion at /data/.julia/packages/CuArrays/PwSdF/src/dnn/error.jl:19 [inlined]
 [2] cudnnRNNBackwardData(::Flux.CUDA.RNNDesc{Float32}, ::Int64, ::Array{CuArrays.CUDNN.TensorDesc,1}, ::CuArr
ays.CuArray{Float32,2}, ::Array{CuArrays.CUDNN.TensorDesc,1}, ::CuArrays.CuArray{Float32,2}, ::CuArrays.CUDNN.TensorDesc, ::CuArrays.CuArray{Float32,2}, ::CuArrays.CUDNN.TensorDesc, ::CuArrays.CuArray{Float32,2}, ::CuArrays.CUDNN.FilterDesc, ::CuArrays.CuArray{Float32,1}, ::CuArrays.CUDNN.TensorDesc, ::CuArrays.CuArray{Float32,2}, ::CuArrays.CUDNN.TensorDesc, ::CuArrays.CuArray{Float32,2}, ::Array{CuArrays.CUDNN.TensorDesc,1}, ::CuArrays.CuArray{Float32,2}, ::CuArrays.CUDNN.TensorDesc, ::CuArrays.CuArray{Float32,2}, ::CuArrays.CUDNN.TensorDesc, ::CuArrays.CuArray{Float32,2}, ::CuArrays.CuArray{UInt8,1}, ::CuArrays.CuArray{UInt8,1}) at /data/.julia/packages/Flux/qXNjB/src/cuda/curnn.jl:170
...

```

The error itself might be due to driver version mismatch, but I was not expecting `cudnn` to be invoked at all. Am I missing something?

Thanks in advance.

---

<div class="post-metadata">

### Author: ![tanhevg](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tanhevg/32/12025_2.png) [@tanhevg](https://discourse.julialang.org/u/tanhevg)
#### Post date: [June 25, 2019, 10:15pm UTC](https://discourse.julialang.org/t/flux-rnns-leak-into-curnns/25661/2 "2019-06-25T22:15:51Z")

</div>

[https://github.com/FluxML/Flux.jl/issues/267](https://github.com/FluxML/Flux.jl/issues/267)

---

<div class="post-metadata">

### Author: ![tanhevg](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tanhevg/32/12025_2.png) [@tanhevg](https://discourse.julialang.org/u/tanhevg)
#### Post date: [June 26, 2019, 3:27pm UTC](https://discourse.julialang.org/t/flux-rnns-leak-into-curnns/25661/3 "2019-06-26T15:27:57Z")

</div>

Actually, I was wrong. Flux RNNs delegate to `cudnn` if it is installed.
