C Configuration Space and Tuning Library (CCS)
Loading...
Searching...
No Matches
tuner.h
Go to the documentation of this file.
1#ifndef _CCS_TUNER_H
2#define _CCS_TUNER_H
3
4#ifdef __cplusplus
5extern "C" {
6#endif
7
29
34
46extern ccs_result_t
48
60extern ccs_result_t
61ccs_tuner_get_name(ccs_tuner_t tuner, const char **name_ret);
62
74extern ccs_result_t
76 ccs_tuner_t tuner,
77 ccs_search_space_t *search_space_ret);
78
90extern ccs_result_t
92 ccs_tuner_t tuner,
93 ccs_objective_space_t *objective_space_ret);
94
106extern ccs_result_t
108 ccs_tuner_t tuner,
109 ccs_feature_space_t *feature_space_ret);
110
144extern ccs_result_t
146 ccs_tuner_t tuner,
147 ccs_features_t features,
148 size_t num_configurations,
149 ccs_search_configuration_t *configurations,
150 size_t *num_configurations_ret);
151
171extern ccs_result_t
173 ccs_tuner_t tuner,
174 size_t num_evaluations,
175 ccs_evaluation_t *evaluations);
176
196extern ccs_result_t
198 ccs_tuner_t tuner,
199 ccs_features_t features,
200 ccs_search_configuration_t *configuration);
201
227extern ccs_result_t
229 ccs_tuner_t tuner,
230 ccs_features_t features,
231 size_t num_evaluations,
232 ccs_evaluation_t *evaluations,
233 size_t *num_evaluations_ret);
234
259extern ccs_result_t
261 ccs_tuner_t tuner,
262 ccs_features_t features,
263 size_t num_evaluations,
264 ccs_evaluation_t *evaluations,
265 size_t *num_evaluations_ret);
266
284extern ccs_result_t
286 const char *name,
287 ccs_objective_space_t objective_space,
288 ccs_tuner_t *tuner_ret);
289
300
303 ccs_tuner_t tuner,
304 ccs_features_t features,
305 size_t num_configurations,
306 ccs_search_configuration_t *configurations,
307 size_t *num_configurations_ret);
308
311 ccs_tuner_t tuner,
312 size_t num_evaluations,
313 ccs_evaluation_t *evaluations);
314
317 ccs_tuner_t tuner,
318 ccs_features_t features,
319 size_t num_evaluations,
320 ccs_evaluation_t *evaluations,
321 size_t *num_evaluations_ret);
322
325 ccs_tuner_t tuner,
326 ccs_features_t features,
327 size_t num_evaluations,
328 ccs_evaluation_t *evaluations,
329 size_t *num_evaluations_ret);
330
333 ccs_tuner_t tuner,
334 ccs_features_t features,
335 ccs_search_configuration_t *configuration);
336
342 ccs_tuner_t tuner,
343 size_t state_size,
344 void *state,
345 size_t *state_size_ret);
346
353 ccs_objective_space_t objective_space,
354 size_t history_size,
355 ccs_evaluation_t *history,
356 size_t num_optima,
357 ccs_evaluation_t *optima,
358 size_t state_size,
359 const void *state,
360 void **tuner_data_ret);
361};
362
367
388extern ccs_result_t
390 const char *name,
391 ccs_objective_space_t objective_space,
393 void *tuner_data,
394 ccs_tuner_t *tuner_ret);
395
408extern ccs_result_t
410
411#ifdef __cplusplus
412}
413#endif
414
415#endif //_CCS_TUNER_H
struct _ccs_feature_space_s * ccs_feature_space_t
An opaque type defining a CCS feature space.
Definition base.h:131
struct _ccs_search_configuration_s * ccs_search_configuration_t
An opaque type defining a CCS search space configuration.
Definition base.h:123
struct _ccs_objective_space_s * ccs_objective_space_t
An opaque type defining a CCS objective space.
Definition base.h:139
struct _ccs_search_space_s * ccs_search_space_t
An opaque type defining a CCS search space.
Definition base.h:111
struct _ccs_tuner_s * ccs_tuner_t
An opaque type defining a CCS tuner.
Definition base.h:147
struct _ccs_evaluation_s * ccs_evaluation_t
An opaque type defining a CCS evaluation.
Definition base.h:143
struct _ccs_features_s * ccs_features_t
An opaque type defining a CCS features.
Definition base.h:135
enum ccs_result_e ccs_result_t
A commodity type to represent CCS errors and returned by most functions.
Definition base.h:247
A structure that define the callbacks the user must provide to create a user defined tuner.
Definition tuner.h:294
ccs_result_t(* del)(ccs_tuner_t tuner)
The deletion callback that will be called once the reference count of the tuner reaches 0.
Definition tuner.h:299
ccs_result_t(* ask)(ccs_tuner_t tuner, ccs_features_t features, size_t num_configurations, ccs_search_configuration_t *configurations, size_t *num_configurations_ret)
The tuner ask interface see ccs_tuner_ask.
Definition tuner.h:302
ccs_result_t(* serialize_user_state)(ccs_tuner_t tuner, size_t state_size, void *state, size_t *state_size_ret)
The tuner serialization interface, can be NULL, in which case common tuner data, history and optima w...
Definition tuner.h:341
ccs_result_t(* deserialize_state)(ccs_objective_space_t objective_space, size_t history_size, ccs_evaluation_t *history, size_t num_optima, ccs_evaluation_t *optima, size_t state_size, const void *state, void **tuner_data_ret)
The tuner deserialization interface, can be NULL, in which case, the history will be set through the ...
Definition tuner.h:352
ccs_result_t(* suggest)(ccs_tuner_t tuner, ccs_features_t features, ccs_search_configuration_t *configuration)
The tuner suggest interface see ccs_tuner_suggest, can be NULL.
Definition tuner.h:332
ccs_result_t(* get_optima)(ccs_tuner_t tuner, ccs_features_t features, size_t num_evaluations, ccs_evaluation_t *evaluations, size_t *num_evaluations_ret)
The tuner get_optima interface see ccs_tuner_get_optima.
Definition tuner.h:316
ccs_result_t(* tell)(ccs_tuner_t tuner, size_t num_evaluations, ccs_evaluation_t *evaluations)
The tuner tell interface see ccs_tuner_tell.
Definition tuner.h:310
ccs_result_t(* get_history)(ccs_tuner_t tuner, ccs_features_t features, size_t num_evaluations, ccs_evaluation_t *evaluations, size_t *num_evaluations_ret)
The tuner get_history interface see ccs_tuner_get_history.
Definition tuner.h:324
ccs_result_t ccs_tuner_get_search_space(ccs_tuner_t tuner, ccs_search_space_t *search_space_ret)
Get the associated search space.
ccs_result_t ccs_create_random_tuner(const char *name, ccs_objective_space_t objective_space, ccs_tuner_t *tuner_ret)
Create a new random tuner.
ccs_result_t ccs_tuner_get_name(ccs_tuner_t tuner, const char **name_ret)
Get the name of a tuner.
ccs_result_t ccs_tuner_get_feature_space(ccs_tuner_t tuner, ccs_feature_space_t *feature_space_ret)
Get the associated feature space.
ccs_result_t ccs_tuner_suggest(ccs_tuner_t tuner, ccs_features_t features, ccs_search_configuration_t *configuration)
Ask a tuner to suggest a good configuration.
ccs_result_t ccs_tuner_ask(ccs_tuner_t tuner, ccs_features_t features, size_t num_configurations, ccs_search_configuration_t *configurations, size_t *num_configurations_ret)
Ask a tuner for a set of configurations to evaluate.
ccs_result_t ccs_tuner_get_type(ccs_tuner_t tuner, ccs_tuner_type_t *type_ret)
Get the type of a tuner.
ccs_tuner_type_e
CCS supported tuner types.
Definition tuner.h:19
@ CCS_TUNER_TYPE_RANDOM
A random tuner.
Definition tuner.h:21
@ CCS_TUNER_TYPE_MAX
Guard.
Definition tuner.h:25
@ CCS_TUNER_TYPE_USER_DEFINED
A user defined tuner.
Definition tuner.h:23
@ CCS_TUNER_TYPE_32BIT
Try forcing 32 bits value for bindings.
Definition tuner.h:27
ccs_result_t ccs_tuner_tell(ccs_tuner_t tuner, size_t num_evaluations, ccs_evaluation_t *evaluations)
Give a list of results to a tuner through evaluations.
ccs_result_t ccs_user_defined_tuner_get_tuner_data(ccs_tuner_t tuner, void **tuner_data_ret)
Get the user defined tuner internal data pointer.
ccs_result_t ccs_tuner_get_history(ccs_tuner_t tuner, ccs_features_t features, size_t num_evaluations, ccs_evaluation_t *evaluations, size_t *num_evaluations_ret)
Ask a tuner for the evaluation history.
ccs_result_t ccs_tuner_get_optima(ccs_tuner_t tuner, ccs_features_t features, size_t num_evaluations, ccs_evaluation_t *evaluations, size_t *num_evaluations_ret)
Ask a tuner for the discovered Pareto front.
enum ccs_tuner_type_e ccs_tuner_type_t
A commodity type to represent CCS tuner types.
Definition tuner.h:33
ccs_result_t ccs_create_user_defined_tuner(const char *name, ccs_objective_space_t objective_space, ccs_user_defined_tuner_vector_t *vector, void *tuner_data, ccs_tuner_t *tuner_ret)
Create a new user defined tuner.
ccs_result_t ccs_tuner_get_objective_space(ccs_tuner_t tuner, ccs_objective_space_t *objective_space_ret)
Get the associated objective space.