Exemple #1
0
 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
Exemple #2
0
 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
Exemple #4
0
 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
Exemple #6
0
 def manipulator(self):
   """
   Define the search space by creating a
   ConfigurationManipulator
   """
   manipulator = ConfigurationManipulator()
   manipulator.add_parameter(
     IntegerParameter('BLOCK_SIZE', 1, 10))
   return manipulator
Exemple #7
0
    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
Exemple #9
0
 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
Exemple #10
0
 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
Exemple #11
0
    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
Exemple #14
0
    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
Exemple #17
0
 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
Exemple #18
0
 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
Exemple #19
0
 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
Exemple #20
0
 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
Exemple #22
0
 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
Exemple #23
0
 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
Exemple #24
0
 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
Exemple #25
0
    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
Exemple #26
0
    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
Exemple #27
0
 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
Exemple #29
0
    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
Exemple #31
0
    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
Exemple #32
0
    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))
Exemple #34
0
 def manipulator(self):
     manipulator = ConfigurationManipulator()
     for param in self.adjParams:
         manipulator.add_parameter(param)
     return manipulator
Exemple #35
0
 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
Exemple #36
0
#!/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
Exemple #38
0
#!/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