Bidirectional GRU implementation from scratch

I have already a (customized) implementation of GRU in Pytorch. Now, I wanted to implement the Bidirectional version of the GRU network.

I was wondering if I can just concatenate the pre-computed output of 2 different GRU. One standard GRU and with a sequence in the reverse order.
My doubt whether this is going to work smoothly during the backpropagation part.

Has anyone any suggestion about this?
Do you know about any implementation of Bidirectional GRU?

PS: I already know about this: Implementation of Multiplicative LSTM, but I haven’t found anything relevant for bidirectional networks.