Skip to content
Snippets Groups Projects
  • Bhatu's avatar
    3844d8cf
    Taint Analysis added to type inference · 3844d8cf
    Bhatu authored
    For every tensor in the graph, we want to know it's 'taint'.
    Each tensor can have the possible taints:
      Client: Input to the ML model (eg: the image input).
      Server: The weights of the model.
      ClientXServer: A tensor that is dervied after operations on both
                     client and server tensors.
      Secret_constant: A tensor that is a constant but declared as a secret.
      Public_constant: A tensor that is a constant but declared as public.
    
    The motivation behind this analysis is to insert optimized versions of
    multiplication. If one input is from server and the other from model we
    can call
      ElemWiseActModelVectorMult (optimized)
    otherwise we can insert a call to
      ElemWiseSecretSharedVectorMult
    
    Matmul also expects one of its inputs to have the 'Server' taint which
    this analysis identifies it.
    3844d8cf
    History
    Taint Analysis added to type inference
    Bhatu authored
    For every tensor in the graph, we want to know it's 'taint'.
    Each tensor can have the possible taints:
      Client: Input to the ML model (eg: the image input).
      Server: The weights of the model.
      ClientXServer: A tensor that is dervied after operations on both
                     client and server tensors.
      Secret_constant: A tensor that is a constant but declared as a secret.
      Public_constant: A tensor that is a constant but declared as public.
    
    The motivation behind this analysis is to insert optimized versions of
    multiplication. If one input is from server and the other from model we
    can call
      ElemWiseActModelVectorMult (optimized)
    otherwise we can insert a call to
      ElemWiseSecretSharedVectorMult
    
    Matmul also expects one of its inputs to have the 'Server' taint which
    this analysis identifies it.