code: def unpack_all(self, all_packed, devices):
          
          all_grads = []  # #GPU x #Var
          for dev, packed_grads_single_device in zip(devices, all_packed):
              with tf.device(dev):
                  all_grads.append(self.unpack(packed_grads_single_device))
          return all_grads
docs: Args:
              all_packed: K lists of packed gradients.