def get_exp_params(cmd_scheduler, cmd_duration, file_params): '''Return ExpParam with configured values of all hardcoded params.''' kernel = copts = "" scheduler = cmd_scheduler or file_params[conf.PARAMS['sched']] duration = cmd_duration or file_params[conf.PARAMS['dur']] or\ conf.DEFAULTS['duration'] # Experiments can specify required kernel name if conf.PARAMS['kernel'] in file_params: kernel = file_params[conf.PARAMS['kernel']] # Or required config options if conf.PARAMS['copts'] in file_params: copts = file_params[conf.PARAMS['copts']] # Or required tracers requested = [] if conf.PARAMS['trace'] in file_params: requested = file_params[conf.PARAMS['trace']] tracers = trace.get_tracer_types(requested) # But only these two are mandatory if not scheduler: raise IOError("No scheduler found in param file!") if not duration: raise IOError("No duration found in param file!") return ExpParams(scheduler=scheduler, kernel=kernel, duration=duration, config_options=copts, tracers=tracers)
def make_exp_params(cmd_scheduler, cmd_duration, sched_dir): '''Return ExpParam with configured values of all hardcoded params.''' kernel = copts = "" # Load parameter file param_file = "%s/%s" % (sched_dir, FILES['params_file']) if os.path.isfile(param_file): fparams = com.load_params(param_file) else: fparams = {} scheduler = cmd_scheduler or fparams[PARAMS['sched']] duration = cmd_duration or fparams[PARAMS['dur']] or\ DEFAULTS['duration'] # Experiments can specify required kernel name if PARAMS['kernel'] in fparams: kernel = fparams[PARAMS['kernel']] # Or required config options if PARAMS['copts'] in fparams: copts = fparams[PARAMS['copts']] # Or required tracers requested = [] if PARAMS['trace'] in fparams: requested = fparams[PARAMS['trace']] tracers = trace.get_tracer_types(requested) # Or scripts to run before and after experiments def get_script(name): return fparams[name] if name in fparams else None pre_script = get_script('pre') post_script = get_script('post') # But only these two are mandatory if not scheduler: raise IOError("No scheduler found in param file!") if not duration: raise IOError("No duration found in param file!") return ExpParams(scheduler=scheduler, kernel=kernel, duration=duration, config_options=copts, tracers=tracers, file_params=fparams, pre_script=pre_script, post_script=post_script)