Clearer array_expression with hopefully lower overhead.
Also removed pyc's
This commit is contained in:
Binary file not shown.
@@ -99,9 +99,9 @@ class GeneticOperators(object):
|
||||
bincode = bincode + [str(random.randint(0,1)) for i in range(x)]
|
||||
parameters = self.decode(bincode)
|
||||
template = self.Template(*parameters)
|
||||
symbolic_expressions = atd.symbolic_expression_container(self.symbolic)
|
||||
registers_usage = template.registers_usage(symbolic_expressions)/4
|
||||
lmem_usage = template.lmem_usage(symbolic_expressions)
|
||||
array_expressions = atd.array_expression_container(self.symbolic)
|
||||
registers_usage = template.registers_usage(array_expressions)/4
|
||||
lmem_usage = template.lmem_usage(array_expressions)
|
||||
local_size = parameters[1]*parameters[3]
|
||||
occupancy_record = misc_tools.OccupancyRecord(self.device, local_size, lmem_usage, registers_usage)
|
||||
if not misc_tools.skip(template, self.symbolic):
|
||||
|
Binary file not shown.
@@ -197,21 +197,21 @@ class OccupancyRecord:
|
||||
|
||||
def skip(template, symbolic):
|
||||
device = symbolic.context.queues[0].device
|
||||
symbolic_expressions = atd.symbolic_expression_container(symbolic)
|
||||
registers_usage = template.registers_usage(symbolic_expressions)/4
|
||||
lmem_usage = template.lmem_usage(symbolic_expressions)
|
||||
array_expressions = atd.array_expression_container(symbolic)
|
||||
registers_usage = template.registers_usage(array_expressions)/4
|
||||
lmem_usage = template.lmem_usage(array_expressions)
|
||||
local_size = template.local_size_0*template.local_size_1
|
||||
occupancy_record = OccupancyRecord(device, local_size, lmem_usage, registers_usage)
|
||||
if template.check_invalid(symbolic_expressions, device) or occupancy_record.occupancy < 15:
|
||||
if template.check_invalid(array_expressions, device) or occupancy_record.occupancy < 15:
|
||||
return True
|
||||
return False
|
||||
|
||||
def benchmark(template, symbolic):
|
||||
queue = symbolic.context.queues[0]
|
||||
device = queue.device
|
||||
symbolic_expressions = atd.symbolic_expression_container(symbolic)
|
||||
registers_usage = template.registers_usage(symbolic_expressions)/4
|
||||
lmem_usage = template.lmem_usage(symbolic_expressions)
|
||||
array_expressions = atd.array_expression_container(symbolic)
|
||||
registers_usage = template.registers_usage(array_expressions)/4
|
||||
lmem_usage = template.lmem_usage(array_expressions)
|
||||
local_size = template.local_size_0*template.local_size_1
|
||||
occupancy_record = OccupancyRecord(device, local_size, lmem_usage, registers_usage)
|
||||
if occupancy_record.occupancy < 15 :
|
||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -31,6 +31,6 @@ if retune=='y':
|
||||
print '----------------'
|
||||
opts += ['--blas3-size'] + [add_input('BLAS3 sizes (M,N,K)', '1024,1024,1024').split(',')]
|
||||
print '----------------'
|
||||
subprocess.call(["${CMAKE_BINARY_DIR}/python/autotune/dist/autotune", "tune"] + opts)
|
||||
subprocess.call(["${CMAKE_BINARY_DIR}/python/autotune/dist/autotune", "tune"] + opts +['--json', 'tmp.json'])
|
||||
|
||||
|
||||
|
@@ -153,16 +153,6 @@ void export_core()
|
||||
;
|
||||
}
|
||||
|
||||
void export_symbolic()
|
||||
{
|
||||
bp::class_<atd::symbolic_expressions_container>
|
||||
("symbolic_expression_container", bp::init<atd::symbolic_expression const &>())
|
||||
;
|
||||
|
||||
bp::class_<atd::symbolic_expression>("symbolic_expression", bp::no_init)
|
||||
.add_property("context", bp::make_function(&atd::symbolic_expression::context, bp::return_internal_reference<>()))
|
||||
;
|
||||
}
|
||||
|
||||
namespace detail
|
||||
{
|
||||
@@ -487,7 +477,11 @@ void export_array()
|
||||
.def(bp::self OP bp::self)\
|
||||
ADD_SCALAR_HANDLING(OP)
|
||||
|
||||
bp::class_<atd::array_expression, bp::bases<atd::symbolic_expression> >("array_expression", bp::no_init)
|
||||
bp::class_<atd::array_expressions_container>
|
||||
("array_expression_container", bp::init<atd::array_expression const &>())
|
||||
;
|
||||
|
||||
bp::class_<atd::array_expression >("array_expression", bp::no_init)
|
||||
ADD_ARRAY_OPERATOR(+)
|
||||
ADD_ARRAY_OPERATOR(-)
|
||||
ADD_ARRAY_OPERATOR(*)
|
||||
@@ -498,6 +492,7 @@ void export_array()
|
||||
ADD_ARRAY_OPERATOR(<=)
|
||||
ADD_ARRAY_OPERATOR(==)
|
||||
ADD_ARRAY_OPERATOR(!=)
|
||||
.add_property("context", bp::make_function(&atd::array_expression::context, bp::return_internal_reference<>()))
|
||||
.def(bp::self_ns::abs(bp::self))
|
||||
// .def(bp::self_ns::pow(bp::self))
|
||||
;
|
||||
@@ -657,6 +652,5 @@ BOOST_PYTHON_MODULE(_atidlas)
|
||||
export_core();
|
||||
export_cl();
|
||||
export_model();
|
||||
export_symbolic();
|
||||
export_array();
|
||||
}
|
||||
|
Reference in New Issue
Block a user