class_docstr: Adapted from: https://github.com/NVIDIA/apex/blob/master/apex/parallel/sync_batchnorm.py
  
  Normalizes a NxD input over the first dimension and across all processes.
code: def forward(ctx, input, eps):
      with torch.no_grad():
          local_mean = torch.mean(input, 0)
          local_sqr_mean = torch.pow(input, 2).mean(0)
  
          # If running on a distributed setting, perform mean reduction of tensors over
          # all processes.
          mean = all_reduce_mean(local_mean)
          sqr_mean = all_reduce_mean(local_sqr_mean)
  
          # var(x) = E (( x - mean_x ) ** 2)
          #        = 1 / N * sum ( x - mean_x ) ** 2
          #        = 1 / N * sum (x**2) - mean_x**2
          var = sqr_mean - mean.pow(2)
  
      ctx.save_for_backward(input, mean, var)
      ctx.eps = eps
  
      return (input - mean) / torch.sqrt(var + eps)
  
imports: import torch
  from classy_vision.generic.distributed_util import all_reduce_mean
  from torch.autograd import Function
label_desc: Use image node_id 1 for calling the SyncNormalizeFunction obj's underlying member method code with example usage: obj.forward(ctx, input, eps) and returns: unknown