code: def compute_objective_value(objective_func, parameters, data=None, cl_runtime_info=None):
      
      return objective_func.evaluate({'data': data, 'parameters': Array(parameters, 'mot_float_type', mode='r')},
                                     parameters.shape[0], use_local_reduction=True, cl_runtime_info=cl_runtime_info)
docs: Calculate and return the objective function value of the given model for the given parameters.
  
      Args:
          objective_func (mot.lib.cl_function.CLFunction): A CL function with the signature:
  
              .. code-block:: c
  
                  double <func_name>(local const mot_float_type* const x,
                                     void* data,
                                     local mot_float_type* objective_list);
  
          parameters (ndarray): The parameters to use in the evaluation of the model, an (d, p) matrix
              with d problems and p parameters.
          data (mot.lib.kernel_data.KernelData): the user provided data for the ``void* data`` pointer.
          cl_runtime_info (mot.configuration.CLRuntimeInfo): the runtime information
  
      Returns:
          ndarray: vector matrix with per problem the objective function value