

If the customized operations are all element-wise, that's great because you can get the benefits of the PyTorch JIT's operator fusion automatically!


If you have more complex operations (e.g. reduce ops mixed with element-wise ops), consider grouping the reduce operations and element-wise ops separately in order to fuse the element-wise operations into a single fusion group. 


If you want to know about what has been fused in your custom RNN, you can inspect the operation's optimized graph by using graph_for . Using LSTMCell as an example:
```python
get inputs and states for LSTMCell
inputs = get_lstm_inputs()
instantiate a ScriptModule
cell = LSTMCell(input_size, hidden_size)
print the optimized graph using graph_for
out = cell(inputs)
print(cell.graph_for(inputs))
```
This will generate the optimized TorchScript graph (a.k.a PyTorch JIT IR) for the specialized inputs that you provides:
```
graph(%x : Float(, ),

