syntax = "proto3";

package chrome.ml_benchmark;

enum AccelerationMode {
  NO_ACCELERATION = 0;
  NNAPI = 1;
}

// For details on what each of the fields do
// Refer to the CrOS ML Benchmarking Suite Design Document
// at go/cros-ml-benchmark-suite
message CrOSBenchmarkConfig {
  AccelerationMode acceleration_mode = 1;
  // benchmark-specific configurations
  SodaBenchmarkConfig soda_config = 2;
}

// Benchmark-specific configurations
message SodaBenchmarkConfig {
  // Path to the SoDA configuration file, for speech recognition
  // this is usually dictation.config
  string soda_config_file_path = 1;
  // Whether to test with
  // - Realtime audio, which tests the latency of the audio
  // - Non-realtime audio, which tests the Real time factor (RTF)
  bool realtime_audio = 2;
  // number of times to test each input file
  int32 num_runs = 3;
  // Input files to test
  repeated string input_filename = 4;
  // The path to load the benchmarking library
  string soda_driver_path = 5;
}

enum BenchmarkReturnStatus {
  OK = 0;
  INCORRECT_CONFIGURATION = 1;
  INITIALIZATION_FAILED = 2;
  BENCHMARK_TIMED_OUT = 3;
  RUNTIME_ERROR = 4;
}

message BenchmarkResults {
  BenchmarkReturnStatus status = 1;
  string results_message = 2;
  // TODO(franklinh) use this field to report accuracy in benchmark loader
  float total_accuracy = 3;
  int64 average_latency_in_us = 4;
}
