docstr: Generate a unique key used to initialize the KV store.
  
  The group key is a concatenation of the communicator key and
  the group name, following: [comm_key]@[group_name].
docstr_tok: ["Generate","a","unique","key","used","to","initialize","the","KV","store",".","The","group","key","is","a","concatenation","of","the","communicator","key","and","the","group","name",",","following",":","[","comm_key","]","@","[","group_name","]","."]
code: def _generate_group_key(self, comm_key):
      """Generate a unique key used to initialize the KV store.
  
      The group key is a concatenation of the communicator key and
      the group name, following: [comm_key]@[group_name].
      """
      return comm_key + "@" + self.group_name
  
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 15 for calling the NCCLGroup obj's underlying member method code with example usage: obj._generate_group_key(comm_key) and returns: unknown