code: def set_config(self, name, value=True, **kwargs):
      if name == "allreduce_grad_dtype":
          if value is not None:
              allreduce_grad_dtype = np.dtype(value)
              if allreduce_grad_dtype.kind != "f":
                  raise ValueError(
                      "allreduce_grad_dtype must be"
                      "numpy.float16, numpy.float32,"
                      "numpy.float64, or None."
                  )
          else:
              allreduce_grad_dtype = None
  
          with self.config_scope():
              self.allreduce_grad_dtype = allreduce_grad_dtype
      else:
          super(PureNcclCommunicator, self).set_config(name, **kwargs)
  
file_path: chainer/chainermn/communicators/pure_nccl_communicator.py
imports: import warnings
  import chainer.cuda
  from chainermn.communicators import _communication_utility
  from chainermn.communicators import _memory_utility
  from chainermn.communicators import mpi_communicator_base
  from chainermn import nccl
  import numpy
label_desc: Use image node_id 4 for calling the PureNcclCommunicator obj's underlying member method code with example usage: obj.set_config(name, value) without return types