From ea94b0026bc2beb46599982a723eac86d1addacb Mon Sep 17 00:00:00 2001 From: Dominic Kempf <dominic.kempf@iwr.uni-heidelberg.de> Date: Wed, 18 Apr 2018 14:32:37 +0200 Subject: [PATCH] Fix formspecificness of blockstructured options --- python/dune/perftool/blockstructured/accumulation.py | 4 ++-- python/dune/perftool/blockstructured/argument.py | 6 +++--- python/dune/perftool/blockstructured/vectorization.py | 4 ++-- python/dune/perftool/loopy/target.py | 4 ++-- python/dune/perftool/pdelab/localoperator.py | 2 +- 5 files changed, 10 insertions(+), 10 deletions(-) diff --git a/python/dune/perftool/blockstructured/accumulation.py b/python/dune/perftool/blockstructured/accumulation.py index 94d219cd..ee52acbb 100644 --- a/python/dune/perftool/blockstructured/accumulation.py +++ b/python/dune/perftool/blockstructured/accumulation.py @@ -1,6 +1,6 @@ from dune.perftool.generation import instruction from dune.perftool.loopy.target import dtype_floatingpoint -from dune.perftool.options import get_option +from dune.perftool.options import get_form_option from dune.perftool.pdelab.geometry import world_dimension from dune.perftool.pdelab.localoperator import determine_accumulation_space from dune.perftool.pdelab.argument import name_accumulation_variable @@ -13,7 +13,7 @@ import pymbolic.primitives as prim def name_accumulation_alias(container, accumspace): name = container + "_" + accumspace.lfs.name + "_alias" name_tail = container + "_" + accumspace.lfs.name + "_alias_tail" - k = get_option("number_of_blocks") + k = get_form_option("number_of_blocks") p = accumspace.element.degree() def _add_alias_insn(name): diff --git a/python/dune/perftool/blockstructured/argument.py b/python/dune/perftool/blockstructured/argument.py index 63d6608f..ff086278 100644 --- a/python/dune/perftool/blockstructured/argument.py +++ b/python/dune/perftool/blockstructured/argument.py @@ -1,7 +1,7 @@ from dune.perftool.generation import (backend, kernel_cached, valuearg, instruction, globalarg) -from dune.perftool.options import get_option +from dune.perftool.options import get_form_option from dune.perftool.pdelab.argument import CoefficientAccess from dune.perftool.blockstructured.tools import micro_index_to_macro_index, sub_element_inames from dune.perftool.pdelab.geometry import world_dimension @@ -11,7 +11,7 @@ import pymbolic.primitives as prim def name_alias(container, lfs, element): name = container + "_" + lfs.name + "_alias" - k = get_option("number_of_blocks") + k = get_form_option("number_of_blocks") p = element.degree() dim = world_dimension() element_stride = tuple(p * (p * k + 1)**i for i in range(0, dim)) @@ -38,7 +38,7 @@ def pymbolic_coefficient(container, lfs, element, index): lfs = prim.Variable(lfs) # use higher order FEM index instead of Q1 index - if get_option("vectorization_blockstructured"): + if get_form_option("vectorization_blockstructured"): subelem_inames = sub_element_inames() coeff_alias = name_alias(container, lfs, element) return prim.Subscript(prim.Variable(coeff_alias), tuple(prim.Variable(i) for i in subelem_inames + index)) diff --git a/python/dune/perftool/blockstructured/vectorization.py b/python/dune/perftool/blockstructured/vectorization.py index d41b7459..32debee0 100644 --- a/python/dune/perftool/blockstructured/vectorization.py +++ b/python/dune/perftool/blockstructured/vectorization.py @@ -5,7 +5,7 @@ from dune.perftool.loopy.target import dtype_floatingpoint from dune.perftool.loopy.temporary import DuneTemporaryVariable from dune.perftool.loopy.symbolic import substitute from dune.perftool.loopy.vcl import get_vcl_type_size, VCLPermute, VCLLoad, VCLStore -from dune.perftool.options import get_option +from dune.perftool.options import get_form_option from dune.perftool.pdelab.argument import PDELabAccumulationFunction from dune.perftool.pdelab.geometry import world_dimension from dune.perftool.tools import get_pymbolic_indices @@ -130,7 +130,7 @@ def add_vcl_accum_insns(knl, iname_inner, iname_outer): # tail handling, uses tail alias id_accum_tail = idg('insn_accum_tail') - subst_map = {iname_inner: 0, iname_outer: get_option("number_of_blocks") // vcl_size, + subst_map = {iname_inner: 0, iname_outer: get_form_option("number_of_blocks") // vcl_size, iname_ix: 0, insn.assignee_name: prim.Variable(insn.assignee_name + '_tail'), **replace_tail_inames} assignee_tail = substitute(insn.assignee, subst_map) diff --git a/python/dune/perftool/loopy/target.py b/python/dune/perftool/loopy/target.py index 8a89579e..bb9bf793 100644 --- a/python/dune/perftool/loopy/target.py +++ b/python/dune/perftool/loopy/target.py @@ -8,7 +8,7 @@ from dune.perftool.loopy.vcl import VCLTypeRegistry from dune.perftool.generation import (include_file, retrieve_cache_functions, ) -from dune.perftool.options import get_option +from dune.perftool.options import get_form_option, get_option from dune.perftool.tools import round_to_multiple from loopy.symbolic import Literal @@ -241,7 +241,7 @@ class DuneTarget(TargetBase): return DummyHostASTBuilder(self) def get_device_ast_builder(self): - if get_option("blockstructured"): + if get_form_option("blockstructured"): return BlockstructuredDuneASTBuilder(self) else: return DuneASTBuilder(self) diff --git a/python/dune/perftool/pdelab/localoperator.py b/python/dune/perftool/pdelab/localoperator.py index 06c404ea..a4bd0201 100644 --- a/python/dune/perftool/pdelab/localoperator.py +++ b/python/dune/perftool/pdelab/localoperator.py @@ -547,7 +547,7 @@ def extract_kernel_from_cache(tag, name, signature, wrap_in_cgen=True, add_timin kernel = vectorize_quadrature_loop(kernel) else: raise NotImplementedError("Only vectorizing sumfactorized code right now!") - if get_option("vectorization_blockstructured"): + if get_form_option("vectorization_blockstructured"): from dune.perftool.blockstructured.vectorization import vectorize_micro_elements kernel = vectorize_micro_elements(kernel) -- GitLab