docstr: Generate multiplicative triples of given sizes
docstr_tok: ["Generate","multiplicative","triples","of","given","sizes"]
code: def generate_additive_triple(
      self, size0, size1, op, device=None, *args, **kwargs
  ):
      """Generate multiplicative triples of given sizes"""
      generator = TTPClient.get().get_generator(device=device)
  
      a = generate_random_ring_element(
          size0, generator=generator, device=device
      )
      b = generate_random_ring_element(
          size1, generator=generator, device=device
      )
      if comm.get().get_rank() == 0:
          # Request c from TTP
          c = TTPClient.get().ttp_request(
              "additive", device, size0, size1, op, *args, **kwargs
          )
      else:
          # TODO: Compute size without executing computation
          c_size = getattr(torch, op)(a, b, *args, **kwargs).size()
          c = generate_random_ring_element(
              c_size, generator=generator, device=device
          )
  
      a = ArithmeticSharedTensor.from_shares(a, precision=0)
      b = ArithmeticSharedTensor.from_shares(b, precision=0)
      c = ArithmeticSharedTensor.from_shares(c, precision=0)
  
      return a, b, c
  
imports: import logging
  import crypten
  import crypten.communicator
  import torch
  import torch.distributed
  from crypten.common.rng import generate_kbit_random_tensor, generate_random_ring_element
  from crypten.common.util import count_wraps
  from crypten.mpc.primitives import ArithmeticSharedTensor, BinarySharedTensor
  from .provider import TupleProvider
label_desc: Use image node_id 1 for calling the TrustedThirdParty obj's underlying member method code with example usage: obj.generate_additive_triple(size0, size1, op, device) and returns: a,  b,  c