  
  }
  }
- }+ }

    // dimension 4*nOut implies order it, ft, c't, ot
    // input gate, forget gate, new gate, output gate, input gate, forget gate, new gate, output gate
    // Note: our weights should be transposed and duplicated with C order to match cudnn ones
    // As returned memory addresses using cudnnGetRNNLinLayerMatrixParams linLayerID was contingiuous we will map directly
    NDArray inputWeightsT, recurrentWeightsT;
    uint8_t *inputWeightsData = nullptr;
    uint8_t *recurrentWeightsData = nullptr;

    // dimension 4*nOut implies order it, ft, c't, ot
    // input gate, forget gate, new gate, output gate, input gate, forget gate, new gate, output gate
    // Note: our weights should be transposed and duplicated with C order to match cudnn ones

    NDArray inputWeightsT, recurrentWeightsT;
    uint8_t *inputWeightsData = nullptr;
    uint8_t *recurrentWeightsData = nullptr;
