def __init__()

in gala/gpu_gossip_buffer.py [0:0]


    def __init__(self, topology, model, buffer_locks, read_events,
                 write_events, sync_list, sync_freq=0):
        """ GossipBuffer """

        self.topology = topology
        self.num_learners = len(topology)
        self.sync_list = sync_list
        self.sync_freq = sync_freq

        # Initialize message buffer (4-item object):
        # [0] -> Msg-Tensor
        # [1] -> Events recording peers that have read the message
        # [2] -> Events recording peer that has written the message
        # [3] -> Lock for safe access of Msg-Tensor
        self.msg_buffer = []
        for rank in range(self.num_learners):
            msg = copy.deepcopy(model)
            msg.share_memory()
            r_events = read_events[rank]
            w_events = write_events[rank]
            lock = buffer_locks[rank]
            self.msg_buffer.append([msg, r_events, w_events, lock])

        # Initialize each Read-Buffer as 'read'
        for msg_buffer in self.msg_buffer:
            read_event_list = msg_buffer[1]
            for event in read_event_list:
                event.set()