" Input: {
choices_desc - dict with description of choices (flat format)
choices_order - list of list of flat choice vectors to tune [[],[],...] -
list of list is needed to be able to enable indedepent
selection of groups of choices. For example, iterate
over all possible data set sizes + random flags per data set
choices_selection - list of dicts with types of selection for each above group
choices_current - current vector of choices
(random_module) - if !=None, random module with seed
(pipeline) - if set, update it with current choices
(custom_explore) - enforce exploration params from command line
(all) - if 'yes', select all
}
Output: {
return - return code = 0, if successful
> 0, if error
(error) - error text if return > 0
choices_current - list of updated choices
choices - dictionary of flat choices and values
choices_order - list of flat choices (to know order if need such as for LLVM opt)
pipeline - upated pipeline with choices
also choices and choices_order are added to pipeline
finish - if True, iterations are over
}
"