docstr: AllReduce tensors across the collective group following options.
  
  Args:
      tensors: the list of tensors to be reduced. Each tensor must
                      reside on one GPU of the current process.
      allreduce_options: allreduce options.
  
  Returns:
      None
docstr_tok: ["AllReduce","tensors","across","the","collective","group","following","options",".","Args",":","tensors",":","the","list","of","tensors","to","be","reduced",".","Each","tensor","must","reside","on","one","GPU","of","the","current","process",".","allreduce_options",":","allreduce","options",".","Returns",":","None"]
code: def allreduce(self, tensors, allreduce_options=AllReduceOptions()):
      """AllReduce tensors across the collective group following options.
  
      Args:
          tensors: the list of tensors to be reduced. Each tensor must
                          reside on one GPU of the current process.
          allreduce_options: allreduce options.
  
      Returns:
          None
      """
  
      def collective_fn(input_tensor, output_tensor, comm, stream):
          comm.allReduce(
              nccl_util.get_tensor_ptr(input_tensor),
              nccl_util.get_tensor_ptr(output_tensor),
              nccl_util.get_tensor_n_elements(input_tensor),
              nccl_util.get_nccl_tensor_dtype(input_tensor),
              nccl_util.get_nccl_reduce_op(allreduce_options.reduceOp),
              stream.ptr,
          )
  
      self._collective(tensors, tensors, collective_fn)
  
imports: import logging
  import datetime
  import time
  import ray
  import cupy
  from ray.util.collective.const import ENV
  from ray.util.collective.collective_group import nccl_util
  from ray.util.collective.collective_group.base_collective_group import BaseGroup
  from ray.util.collective.const import get_store_name
  from ray.util.collective.types import AllReduceOptions, BarrierOptions, Backend, ReduceOptions, BroadcastOptions, AllGatherOptions, ReduceScatterOptions, SendOptions, RecvOptions
  from ray.util.collective.collective_group.cuda_stream import get_stream_pool
label_desc: Use image node_id 4 for calling the NCCLGroup obj's underlying member method code with example usage: obj.allreduce(tensors, allreduce_options) without return types