Ok, it appears fusion optimization is fragile

“from jts import *” breaks it, “import jts” works
creating views inside jitted function breaks it

You can check this with torch.jit.last_executed_optimized_graph(), after warmup this graph should contain TensorExprGroup (or FusionGroup with legacy jit) block.
for the moment, it can be better to use legacy fuser:
torch._C._jit_set_profiling_mode(False)
torch._C._jit_set_profiling_executor(False)