def _load_search_space(self, params_set, *args, **kwargs): # Configuration manipulator holds the search space manipulator = ConfigurationManipulator() for k, v in params_set.iteritems(): if isinstance(v, list): manipulator.add_parameter(FloatParameter(k, v[0], v[1])) return manipulator
def manipulator(self): """ Define the search space by creating a ConfigurationManipulator """ manipulator = ConfigurationManipulator() for i, param in enumerate(self.params): if param[0] == "None": continue if param[0] == "Int": manipulator.add_parameter( IntegerParameter(i, int(param[1]), int(param[2]))) continue if param[0] == "Log": manipulator.add_parameter( LogIntegerParameter(i, int(param[1]), int(param[2]))) continue if param[0] == "Pow": manipulator.add_parameter( PowerOfTwoParameter(i, 2**int(param[1]), 2**int(param[2]))) continue if param[0] == "Switch": manipulator.add_parameter(SwitchParameter(i, int(param[1]))) continue if param[0] == "Bool": manipulator.add_parameter(BooleanParameter(i)) continue return manipulator
def manipulator(self): """ Define the search space by creating a ConfigurationManipulator """ manipulator = ConfigurationManipulator() manipulator.add_parameter(IntegerParameter('TILE_SIZE', 2, 256)) return manipulator
def manipulator(self): """ Define the search space by creating a ConfigurationManipulator """ manipulator = ConfigurationManipulator() manipulator.add_parameter(IntegerParameter('blockSize', 1, 10)) return manipulator
def manipulator(self): """ Define the search space by creating a ConfigurationManipulator """ manipulator = ConfigurationManipulator() manipulator.add_parameter(IntegerParameter(PARAM, 0, 1000)) return manipulator
def manipulator(self): """ Define the search space by creating a ConfigurationManipulator """ manipulator = ConfigurationManipulator() manipulator.add_parameter( IntegerParameter('BLOCK_SIZE', 1, 10)) return manipulator
def manipulator(self): manipulator = ConfigurationManipulator() solvers, s_min, s_max = SOLVERS manipulator.add_parameter( IntegerParameterArray("instances", [s_min]*CHUNKS, [s_max]*CHUNKS)) return manipulator
def manipulator(self): """ Define the search space by creating a ConfigurationManipulator """ manipulator = ConfigurationManipulator() for flag in OPT_FLAGS: manipulator.add_parameter( EnumParameter(flag, ['on', 'off', 'default'])) return manipulator
def manipulator(self): """ Define the search space by creating a ConfigurationManipulator """ manipulator = ConfigurationManipulator() # manipulator.add_parameter( # IntegerParameter('blockSize', 8,16)) manipulator.add_parameter(IntegerParameter('opt_level', 0, 3)) manipulator.add_parameter( EnumParameter('blockSize', ['8', '16', '32', '64', '128'])) return manipulator
def manipulator(self): """ Define the search space by creating a ConfigurationManipulator """ manipulator = ConfigurationManipulator() manipulator.add_parameter( PermutationParameter('hls_order', list(range(NUM_PASSES)))) for i in range(NUM_PASSES): manipulator.add_parameter(BooleanParameter( 'hls_pass_{}'.format(i))) return manipulator
def manipulator(self): """ Define the search space by creating a ConfigurationManipulator """ manipulator = ConfigurationManipulator() num_options = len(self.passes) - 1 # choose for a sequence of at most `max_passes` passes for i in range(self.max_passes): passNum = 'pass_' + str(i) # some pass manipulator.add_parameter(IntegerParameter(passNum, 0, num_options)) # and whether to turn it on or off manipulator.add_parameter( EnumParameter('enable_' + passNum, [True, False])) # choose from a set of knobs for knob, minInt, maxInt in self.knobs: manipulator.add_parameter(IntegerParameter(knob, minInt, maxInt)) manipulator.add_parameter( EnumParameter('enable_' + knob, [True, False])) return manipulator
def manipulator(self): manipulator = ConfigurationManipulator() manipulator.add_parameter(IntegerParameter('nsup', 50, 300)) manipulator.add_parameter(IntegerParameter('nrel', 10, 40)) manipulator.add_parameter(IntegerParameter('colperm', 0, 4)) manipulator.add_parameter(IntegerParameter('lookahead', 0, 10)) manipulator.add_parameter(IntegerParameter('numthreads', 1, 10)) ''' Parameters for testing SuperLU ''' return manipulator
def manipulator(self): """ Define the search space by creating a ConfigurationManipulator """ self.granularity = 1 assert (0 < self.granularity) max_m = (160 + self.granularity - 1) / self.granularity max_n = (160 + self.granularity - 1) / self.granularity manipulator = ConfigurationManipulator() manipulator.add_parameter( IntegerParameter("M", self.granularity, max_m)) manipulator.add_parameter( IntegerParameter("N", self.granularity, max_n)) return manipulator
def manipulator(self): self.expose_defines() manipulator = ConfigurationManipulator() params = self.get_parameters() for line in params: [param, type] = line.split()[3:5] if type == 'integer': start, end = line.split()[5:7] manipulator.add_parameter(IntegerParameter(param, start, end)) else: raise HLSTunerError( "Unknown parameter type encountered in tuner parameter pragma." ) return manipulator
def manipulator(self): """Define the search space by creating a ConfigurationManipulator """ list_configs = [] list_configs = read_file_configs() manipulator = ConfigurationManipulator() print "Executing manipulator" for param, mini, maxi in BLOCO_PARAMETROS: #print "param: ", param, " mini: ", mini, " maxi: ", maxi manipulator.add_parameter(IntegerParameter(param, mini, maxi)) # E preciso gerar as configuracoes validas com o run.c. # manipulator.add_parameter(EnumParameter(param, [ 'gx:1024, gy:1, gz:1, bx:1, by:1, bz:1, ', 'gx:32, gy:32, gz:1, bx:1, by:1, bz:1, ' ])) for param in BLOCO_PARAMETROS_CONFIGS: manipulator.add_parameter(EnumParameter(param, list_configs)) return manipulator
def manipulator(self): """ Define the search space by creating a ConfigurationManipulator """ m_max = min(160, self.args.end) n_max = min(160, self.args.end) self.granularity = 1 assert(0 < self.granularity) m_max = (m_max + self.granularity - 1) / self.granularity n_max = (n_max + self.granularity - 1) / self.granularity m_param = IntegerParameter("M", self.granularity, m_max) n_param = IntegerParameter("N", self.granularity, n_max) manipulator = ConfigurationManipulator() manipulator.add_parameter(m_param) manipulator.add_parameter(n_param) return manipulator
def manipulator(self): """ Define the search space by creating a ConfigurationManipulator """ self.granularity = 1 assert(0 < self.granularity) m_max = (64 + self.granularity - 1) / self.granularity n_max = (256 + self.granularity - 1) / self.granularity k_max = (256 + self.granularity - 1) / self.granularity m_param = IntegerParameter("M", self.granularity, m_max) n_param = IntegerParameter("N", self.granularity, n_max) k_param = IntegerParameter("K", self.granularity, k_max) manipulator = ConfigurationManipulator() manipulator.add_parameter(m_param) manipulator.add_parameter(n_param) manipulator.add_parameter(k_param) return manipulator
def manipulator(self): """ Define the search space by creating a ConfigurationManipulator """ self.granularity = 1 assert (0 < self.granularity) m_max = (64 + self.granularity - 1) / self.granularity n_max = (256 + self.granularity - 1) / self.granularity k_max = (256 + self.granularity - 1) / self.granularity m_param = IntegerParameter("M", self.granularity, m_max) n_param = IntegerParameter("N", self.granularity, n_max) k_param = IntegerParameter("K", self.granularity, k_max) manipulator = ConfigurationManipulator() manipulator.add_parameter(m_param) manipulator.add_parameter(n_param) manipulator.add_parameter(k_param) return manipulator
def manipulator(self): """ Define the search space by creating a ConfigurationManipulator """ manipulator = ConfigurationManipulator() manipulator.add_parameter( LogFloatParameter('learning_rate', 1e-5, 1e-1)) manipulator.add_parameter(EnumParameter('gamma', [0.9, 0.99, 0.9999])) manipulator.add_parameter(EnumParameter('batch_size', [32, 64, 256])) manipulator.add_parameter(EnumParameter('n_steps', [128])) return manipulator
def manipulator(self): """ Define the search space by creating a ConfigurationManipulator """ self.dimset = libxsmm_utilities.load_mnklist(self.args.mnk, 0, -1) self.granularity = 1 assert (0 < self.granularity) m_max = (64 + self.granularity - 1) / self.granularity n_max = (256 + self.granularity - 1) / self.granularity k_max = (256 + self.granularity - 1) / self.granularity m_param = IntegerParameter("M", self.granularity, m_max) n_param = IntegerParameter("N", self.granularity, n_max) k_param = IntegerParameter("K", self.granularity, k_max) manipulator = ConfigurationManipulator() manipulator.add_parameter(m_param) manipulator.add_parameter(n_param) manipulator.add_parameter(k_param) return manipulator
def manipulator(self): """ Define the search space by creating a ConfigurationManipulator """ self.mintilesize = 2 self.granularity = 1 assert(0 < self.granularity) minsize = max(self.mintilesize / self.granularity, 1) maxsize = minsize + self.granularity m_max = max(min(self.args.maxm, self.args.end), maxsize) n_max = max(min(self.args.maxn, self.args.end), maxsize) m_max = (m_max + self.granularity - 1) / self.granularity n_max = (n_max + self.granularity - 1) / self.granularity m_param = IntegerParameter("M", minsize, m_max) n_param = IntegerParameter("N", minsize, n_max) manipulator = ConfigurationManipulator() manipulator.add_parameter(m_param) manipulator.add_parameter(n_param) return manipulator
def manipulator(self): """ Define the search space by creating a ConfigurationManipulator """ self.mintilesize = 2 self.granularity = 1 assert (0 < self.granularity) minsize = max(self.mintilesize / self.granularity, 1) maxsize = minsize + self.granularity m_max = max(min(self.args.maxm, self.args.end), maxsize) n_max = max(min(self.args.maxn, self.args.end), maxsize) m_max = (m_max + self.granularity - 1) / self.granularity n_max = (n_max + self.granularity - 1) / self.granularity m_param = IntegerParameter("M", minsize, m_max) n_param = IntegerParameter("N", minsize, n_max) manipulator = ConfigurationManipulator() manipulator.add_parameter(m_param) manipulator.add_parameter(n_param) return manipulator
def manipulator(self): manipulator = ConfigurationManipulator() manipulator.add_parameter(FloatParameter('speed', 0.27, 0.32)) manipulator.add_parameter( FloatParameter('support_knee_angle', 0.09, 0.11)) manipulator.add_parameter(FloatParameter('angle_delta', 0.02, 0.04)) return manipulator
def manipulator(self): """ Define the search space by creating a ConfigurationManipulator """ self.transformation(gl.spark_parameter) manipulator = ConfigurationManipulator() manipulator.add_parameter( IntegerParameter('BLOCK_SIZE', 1, 1)) # print 'in manipulator' for flag in self.enum_param: # print flag[0], flag[1] manipulator.add_parameter( EnumParameter(flag[0], flag[1])) for i in self.int_param: manipulator.add_parameter( IntegerParameter(i[0], int(i[1]), int(i[2]))) return manipulator
def manipulator(self) -> ConfigurationManipulator: """Define the search space.""" manipulator = ConfigurationManipulator() # A permutation parameter to order the passes that are present. manipulator.add_parameter( PermutationParameter("flag_order", list(range(self.flags_limit)))) # Boolean parameters for whether each pass is present. for i in range(self.flags_limit): manipulator.add_parameter(BooleanParameter(f"flag{i}")) def biased_random(): cfg = ConfigurationManipulator.random(manipulator) # duplicates in the search space, bias to `n / 2` enabled disabled = random.sample(range(self.flags_limit), k=self.flags_limit - self.env.action_space.n) cfg.update({f"flag{x}": False for x in disabled}) return cfg manipulator.random = biased_random return manipulator
def manipulator(self): manipulator = ConfigurationManipulator() for item in self.param: param_type, param_name, param_range = item if param_type == 'EnumParameter': manipulator.add_parameter(EnumParameter(param_name, param_range)) elif param_type == 'IntegerParameter' : manipulator.add_parameter(IntegerParameter(param_name, param_range[0], param_range[1])) elif param_type == 'FloatParameter' : manipulator.add_parameter(FloatParameter(param_name, param_range[0], param_range[1])) return manipulator
def manipulator(self): """ Define the search space by creating a ConfigurationManipulator """ manipulator = ConfigurationManipulator() manipulator.add_parameter(IntegerParameter('opt_level', 0, 3)) for flag in GCC_FLAGS: manipulator.add_parameter( EnumParameter(flag, ['on', 'off', 'default'])) for param, min, max in GCC_PARAMS: manipulator.add_parameter(IntegerParameter(param, min, max)) return manipulator
def manipulator(self): """ Define the search space by creating a ConfigurationManipulator """ manipulator = ConfigurationManipulator() manipulator.add_parameter(IntegerParameter('batch_size', 5, 200)) manipulator.add_parameter(IntegerParameter('layer', 1, 20)) manipulator.add_parameter(IntegerParameter('neural', 50, 200)) #manipulator.add_parameter(IntegerParameter('max_iter', 1, 500)) #manipulator.add_parameter(FloatParameter('learning_rate_init', 0.0001, 0.01)) #manipulator.add_parameter(FloatParameter('power_t', 0.2, 0.8)) #manipulator.add_parameter(FloatParameter('alpha', 0.00001, 0.001)) return manipulator
def manipulator(self): """ Define the search space by creating a ConfigurationManipulator """ manipulator = ConfigurationManipulator() manipulator.add_parameter( IntegerParameter('opt_level', 0, 3)) for flag in GCC_FLAGS: manipulator.add_parameter( EnumParameter(flag, ['on', 'off', 'default'])) for param, min, max in GCC_PARAMS: manipulator.add_parameter( IntegerParameter(param, min, max)) return manipulator
def manipulator(self): m = ConfigurationManipulator() for param in self.int_params: param_value = self.int_params[param] if param_value['max'] > 128: m.add_parameter( LogIntegerParameter(param, param_value['min'], param_value['max'])) else: m.add_parameter( IntegerParameter(param, param_value['min'], param_value['max'])) for param in self.power_of_two_params: param_value = self.power_of_two_params[param] m.add_parameter( manipulator.PowerOfTwoParameter(param, param_value['min'], param_value['max'])) return m
def manipulator(self): """ Define the search space by creating a ConfigurationManipulator """ # set the global flags needed for printing schedules if self.args.enable_NUMA_tuning == 0: self.enable_NUMA_tuning = False if self.args.enable_parallel_tuning == 0: self.enable_parallel_tuning = False if self.args.enable_denseVertexSet_tuning == 0: self.enable_denseVertexSet_tuning = False manipulator = ConfigurationManipulator() manipulator.add_parameter( EnumParameter('direction', ['SparsePush','DensePull', 'SparsePush-DensePull', 'DensePush-SparsePush'])) #'edge-aware-dynamic-vertex-parallel' not supported with the latest g++ cilk implementation if self.enable_parallel_tuning: manipulator.add_parameter(EnumParameter('parallelization',['dynamic-vertex-parallel'])) else: manipulator.add_parameter(EnumParameter('parallelization', ['serial'])) manipulator.add_parameter(IntegerParameter('numSSG', 1, self.args.max_num_segments)) if self.enable_NUMA_tuning: manipulator.add_parameter(EnumParameter('NUMA',['serial','static-parallel'])) if self.enable_denseVertexSet_tuning: manipulator.add_parameter(EnumParameter('DenseVertexSet', ['boolean-array', 'bitvector'])) # adding new parameters for PriorityGraph (Ordered GraphIt) manipulator.add_parameter(IntegerParameter('delta', 1, self.args.max_delta)) manipulator.add_parameter( EnumParameter('bucket_update_strategy', ['eager_priority_update','eager_priority_update_with_merge', 'lazy_priority_update'])) return manipulator
#!/usr/bin/env python # from opentuner import ConfigurationManipulator from opentuner.search.manipulator import PowerOfTwoParameter mdriver_manipulator = ConfigurationManipulator() """ See opentuner/search/manipulator.py for more parameter types, like IntegerParameter, EnumParameter, etc. TODO(project3): Implement the parameters of your allocator. Once you have at least one other parameters, feel free to remove ALIGNMENT. """ mdriver_manipulator.add_parameter(PowerOfTwoParameter('ALIGNMENT', 8, 8))
def manipulator(self): manipulator = ConfigurationManipulator() for param in self.adjParams: manipulator.add_parameter(param) return manipulator
def manipulator(self): """ Define the search space by creating a ConfigurationManipulator """ manipulator = ConfigurationManipulator() manipulator.add_parameter( EnumParameter('hibench.yarn.executor.cores', ['1', '4', '8', '16', '24', '48'])) manipulator.add_parameter( EnumParameter('hibench.yarn.executor.num', ['1', '2', '3', '6', '12', '48'])) manipulator.add_parameter(IntegerParameter('spark.task.cpus', 1, 4)) manipulator.add_parameter( EnumParameter('spark.shuffle.compress', ['1', '0'])) manipulator.add_parameter( EnumParameter('spark.memory.fraction', ['0.25', '0.4', '0.5', '0.6', '0.7', '0.8'])) manipulator.add_parameter(EnumParameter('spark.serializer', ['0', '1'])) manipulator.add_parameter( EnumParameter('spark.scheduler.maxRegisteredResourcesWaitingTime', ['10', '15', '25', '30', '40', '60'])) manipulator.add_parameter( EnumParameter( 'spark.default.parallelism', ['8', '15', '25', '35', '50', '-1' ])) #-1 represents default value of config and we need it manipulator.add_parameter( EnumParameter('spark.sql.shuffle.partitions', ['75', '100', '150', '200', '250', '400'])) manipulator.add_parameter( EnumParameter('spark.cleaner.periodicGC.interval', ['5', '10', '15', '30', '35', '60'])) manipulator.add_parameter( EnumParameter('spark.io.compression.lz4.blockSize', ['8', '16', '32', '40', '64', '80'])) manipulator.add_parameter( EnumParameter('spark.memory.storageFraction', ['0.3', '0.35', '0.4', '0.5', '0.6', '0.7'])) manipulator.add_parameter( EnumParameter('spark.yarn.am.memory', ['256', '400', '512', '750', '1000', '1500'])) manipulator.add_parameter( EnumParameter('spark.scheduler.revive.interval', ['1000', '1500', '2000', '2500', '3000', '4000'])) manipulator.add_parameter( EnumParameter('spark.locality.wait.process', ['1500', '2000', '2500', '3000', '4000', '6000'])) manipulator.add_parameter( EnumParameter('spark.shuffle.sort.bypassMergeThreshold', ['75', '100', '150', '200', '250', '400'])) manipulator.add_parameter( EnumParameter('spark.shuffle.io.preferDirectBufs', ['1', '0'])) manipulator.add_parameter( EnumParameter('spark.task.maxFailures', ['1', '2', '3', '4', '6', '8'])) manipulator.add_parameter( EnumParameter('spark.files.openCostInBytes', [ '1000000', '2000000', '3500000', '4194304', '7000000', '9000000' ])) manipulator.add_parameter( EnumParameter('spark.shuffle.file.buffer', ['16', '28', '32', '45', '64', '80'])) manipulator.add_parameter( EnumParameter('spark.cleaner.referenceTracking.blocking', ['1', '0'])) manipulator.add_parameter( EnumParameter('spark.kryoserializer.buffer.max', ['24', '32', '50', '64', '90', '128'])) manipulator.add_parameter( EnumParameter('spark.executor.memory', [ '600', '1000', '2400', '4800', '9600', '19200', '54000', '108000' ])) return manipulator
#!/usr/bin/env python # from opentuner import ConfigurationManipulator from opentuner.search.manipulator import PowerOfTwoParameter mdriver_manipulator = ConfigurationManipulator() """ See opentuner/search/manipulator.py for more parameter types, like IntegerParameter, EnumParameter, etc. TODO(project3): Implement the parameters of your allocator. Once you have at least one other parameters, feel free to remove ALIGNMENT. """ mdriver_manipulator.add_parameter(PowerOfTwoParameter("ALIGNMENT", 8, 8)) mdriver_manipulator.add_parameter(PowerOfTwoParameter("MIN_SIZE", 1, 1 << 17)) mdriver_manipulator.add_parameter(PowerOfTwoParameter("MIN_DIFF", 1, 1 << 17))
def manipulator(self): manipulator = ConfigurationManipulator() manipulator.add_parameter( LogIntegerParameter("INIT_INTERVAL_HOR", 1, 16)) manipulator.add_parameter( LogIntegerParameter("INIT_INTERVAL_VER", 1, 16)) manipulator.add_parameter(IntegerParameter("UNROLL_FACTOR_HOR", 1, 2)) manipulator.add_parameter(IntegerParameter("UNROLL_FACTOR_VER", 1, 2)) manipulator.add_parameter( LogIntegerParameter("ARRAY_PARTITION_FACTOR", 1, 15)) manipulator.add_parameter( EnumParameter("ACCELERATOR_1_CLOCK", ['0', '1', '2', '3'])) manipulator.add_parameter( EnumParameter("ACCELERATOR_2_CLOCK", ['0', '1', '2', '3'])) manipulator.add_parameter( FloatParameter("ACCELERATOR_1_UNCERTAINTY", 0, 100)) manipulator.add_parameter( FloatParameter("ACCELERATOR_2_UNCERTAINTY", 0, 100)) manipulator.add_parameter( EnumParameter("DATA_MOVER_CLOCK", ['0', '1', '2', '3'])) return manipulator
#!/usr/bin/env python # from opentuner import ConfigurationManipulator from opentuner.search.manipulator import PowerOfTwoParameter from opentuner.search.manipulator import IntegerParameter mdriver_manipulator = ConfigurationManipulator() """ See opentuner/search/manipulator.py for more parameter types, like IntegerParameter, EnumParameter, etc. TODO(project3): Implement the parameters of your allocator. Once you have at least one other parameters, feel free to remove ALIGNMENT. """ #mdriver_manipulator.add_parameter(IntegerParameter('SMALL_BIN_SEARCH_MAX', 0, 32)) mdriver_manipulator.add_parameter(IntegerParameter('LARGE_BIN_SEARCH_MAX', 0, 32)) mdriver_manipulator.add_parameter(IntegerParameter('EXTENSION_SIZE', 8, 2000)) #mdriver_manipulator.add_parameter(IntegerParameter('INITIAL_CHUNK_SIZE', 0, 40000))
#!/usr/bin/env python # from opentuner import ConfigurationManipulator from opentuner.search.manipulator import PowerOfTwoParameter, IntegerParameter mdriver_manipulator = ConfigurationManipulator() """ See opentuner/search/manipulator.py for more parameter types, like IntegerParameter, EnumParameter, etc. TODO(project3): Implement the parameters of your allocator. Once you have at least one other parameters, feel free to remove ALIGNMENT. """ # mdriver_manipulator.add_parameter(PowerOfTwoParameter('ALIGNMENT', 8, 8)) mdriver_manipulator.add_parameter(IntegerParameter('NUMBUCKETS', 2, 128)) mdriver_manipulator.add_parameter(IntegerParameter('BASESIZE', 2, 1000))
def manipulator(self): """ Define the search space by creating a ConfigurationManipulator """ # set the global flags needed for printing schedules if self.args.enable_NUMA_tuning == 0: self.enable_NUMA_tuning = False if self.args.enable_parallel_tuning == 0: self.enable_parallel_tuning = False if self.args.enable_denseVertexSet_tuning == 0: self.enable_denseVertexSet_tuning = False manipulator = ConfigurationManipulator() manipulator.add_parameter( EnumParameter('direction', [ 'SparsePush', 'DensePull', 'SparsePush-DensePull', 'DensePush-SparsePush' ])) if self.enable_parallel_tuning: manipulator.add_parameter( EnumParameter('parallelization', [ 'dynamic-vertex-parallel', 'edge-aware-dynamic-vertex-parallel' ])) else: manipulator.add_parameter( EnumParameter('parallelization', ['serial'])) manipulator.add_parameter( IntegerParameter('numSSG', 1, self.args.max_num_segments)) if self.enable_NUMA_tuning: manipulator.add_parameter( EnumParameter('NUMA', ['serial', 'static-parallel'])) if self.enable_denseVertexSet_tuning: manipulator.add_parameter( EnumParameter('DenseVertexSet', ['boolean-array', 'bitvector'])) return manipulator