code: def backward(ctx, dy):
      # assert dy.is_contiguous()
      dy = dy.contiguous()  # this happens!
      x_or_y_mat, gamma, mu, rsigma, beta = ctx.saved_tensors
      dymat = dy.view(x_or_y_mat.shape)
      dxmat, dgamma, dbeta, _, _ = fast_layer_norm.ln_bwd(
          dymat,
          x_or_y_mat,
          mu,
          rsigma,
          gamma,
          beta,
          ctx.memory_efficient,
      )
      dx = dxmat.view(ctx.x_shape)
      return dx, dgamma, dbeta, None, None
  
file_path: apex/apex/contrib/layer_norm/layer_norm.py
imports: import torch
  from torch.nn import init
  from apex._autocast_utils import _cast_if_autocast_enabled
  import fast_layer_norm
label_desc: Use image node_id 2 for calling the FastLayerNormFN obj's underlying member method code with example usage: obj.backward(ctx, dy) and returns: dx,  dgamma,  dbeta,  None,  None