If you want three different gradients computed, you will need to call backward 3 times I’m afraid 
Since they are dependent, each Node needs to be recomputed. So “running in parallel” would only run once a Node that is 3 times bigger. So not leading to any improvement.