def _construct_model_config_measurement(self, model_config_name,
                                            model_specific_pa_params,
                                            non_gpu_metric_values):
        non_gpu_data = convert_non_gpu_metrics_to_data(non_gpu_metric_values)

        return ModelConfigMeasurement(model_config_name,
                                      model_specific_pa_params, non_gpu_data)
 def test_non_gpu_data(self):
     """
     Test that the non-gpu data is correct
     """
     self.assertEqual(self.rcm0.non_gpu_data(), [
         convert_non_gpu_metrics_to_data(ngvm)
         for ngvm in self.rcm0_non_gpu_metric_values
     ])
 def test_init(self):
     """
     Test that values are properly initialized
     """
     self.assertEqual(self.mcmA.model_config_name(), self.model_config_name)
     self.assertEqual(self.mcmA.model_specific_pa_params(),
                      self.model_specific_pa_params)
     self.assertEqual(
         self.mcmA.non_gpu_data(),
         convert_non_gpu_metrics_to_data(self.non_gpu_metric_values))
    def test_get_metric_found(self):
        """
        Test that non-gpu metrics can be correctly returned
        """
        non_gpu_data = convert_non_gpu_metrics_to_data(
            self.non_gpu_metric_values)

        self.assertEqual(self.mcmA.get_metric("perf_throughput"),
                         non_gpu_data[0])
        self.assertEqual(self.mcmA.get_metric("perf_latency_p99"),
                         non_gpu_data[1])
        self.assertEqual(self.mcmA.get_metric("cpu_used_ram"), non_gpu_data[2])
    def test_get_metric(self):
        """
        Test that the non-gpu metric data is correct
        """
        non_gpu_data = [
            convert_non_gpu_metrics_to_data(non_gpu_metric_value)
            for non_gpu_metric_value in self.rcm0_non_gpu_metric_values
        ]

        self.assertEqual(self.rcm0.get_metric("perf_throughput"),
                         [non_gpu_data[0][0], non_gpu_data[1][0]])
        self.assertEqual(self.rcm0.get_metric("perf_latency_p99"),
                         [non_gpu_data[0][1], non_gpu_data[1][1]])
        self.assertEqual(self.rcm0.get_metric("cpu_used_ram"),
                         [non_gpu_data[0][2], non_gpu_data[1][2]])
    def test_data(self):
        """
        Test that the gpu + non-gpu data is correct
        """
        avg_gpu_data = [
            value for value in convert_gpu_metrics_to_data(
                self.avg_gpu_metric_values).values()
        ][0]

        data = [
            avg_gpu_data + convert_non_gpu_metrics_to_data(ngvm)
            for ngvm in self.rcm0_non_gpu_metric_values
        ]

        rcm0_data = self.rcm0.data()

        self.assertEqual(self.rcm0.data(), data)