docstr: Clears the gradient of one variable as torch accumulates gradients by default.
  Arguments:
      p: the parameter.
docstr_tok: ["Clears","the","gradient","of","one","variable","as","torch","accumulates","gradients","by","default",".","Arguments",":","p",":","the","parameter","."]
code: def _zero_one_grad(self, p):
      """Clears the gradient of one variable as torch accumulates gradients by default.
      Arguments:
          p: the parameter.
      """
      if p.grad is not None:
          p.grad.detach_()
          p.grad.zero_()
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  from byteps.torch import _DistributedOptimizer
  from byteps.torch.compression import Compression
  from byteps.torch.ops import push_pull_async_inplace
  from byteps.torch.ops import push_pull
  from byteps.torch.ops import poll, synchronize, declare
  from byteps.torch.ops import init, shutdown
  from byteps.torch.ops import size, local_size, rank, local_rank
  import time
  import threading
  import torch
  import collections
label_desc: Use image node_id 11 for calling the _HalfPrecisionDistributedOptimizer obj's underlying member method code with example usage: obj._zero_one_grad(p) without return types