class_docstr: Benchmarks runtime and error of crypten functions against PyTorch
  
  Args:
      tensor_size (int or tuple): size of tensor for benchmarking runtimes
class_docstr_tok: ["Benchmarks","runtime","and","error","of","crypten","functions","against","PyTorch","Args",":","tensor_size","(","int","or","tuple",")",":","size","of","tensor","for","benchmarking","runtimes"]
code: def save(self, path):
      if self.device.type == "cuda":
          csv_path = os.path.join(path, "func_benchmarks_cuda.csv")
      else:
          csv_path = os.path.join(path, "func_benchmarks.csv")
      self.df.to_csv(csv_path, index=False)
  
imports: import argparse
  import functools
  import os
  import timeit
  from collections import namedtuple
  import crypten
  import crypten.communicator
  import numpy
  import pandas
  import torch
  from examples import multiprocess_launcher
label_desc: Use image node_id 13 for calling the FuncBenchmarks obj's underlying member method code with example usage: obj.save(path) without return types