From 2e3aef00e0479a835d5731baa1c4836fd4ab8834 Mon Sep 17 00:00:00 2001 From: Dominic Kempf <dominic.kempf@iwr.uni-heidelberg.de> Date: Fri, 25 Aug 2017 17:30:21 +0200 Subject: [PATCH] [bugfix] Fix opcount test --- .../perftool/pdelab/driver/gridoperator.py | 3 +- python/dune/perftool/pdelab/driver/timings.py | 44 +++++++------------ test/poisson/opcount_poisson_dg.ufl | 1 + 3 files changed, 18 insertions(+), 30 deletions(-) diff --git a/python/dune/perftool/pdelab/driver/gridoperator.py b/python/dune/perftool/pdelab/driver/gridoperator.py index 500d8bc7..9b8880ad 100644 --- a/python/dune/perftool/pdelab/driver/gridoperator.py +++ b/python/dune/perftool/pdelab/driver/gridoperator.py @@ -120,7 +120,8 @@ def define_dofestimate(name): gfs = name_trial_gfs() ini = name_initree() - return ["int generic_dof_estimate = {} * {}.maxLocalSize();".format(geo_factor, gfs), + return ["{}.update();".format(gfs), + "int generic_dof_estimate = {} * {}.maxLocalSize();".format(geo_factor, gfs), "int {} = {}.get<int>(\"istl.number_of_nnz\", generic_dof_estimate);".format(name, ini)] diff --git a/python/dune/perftool/pdelab/driver/timings.py b/python/dune/perftool/pdelab/driver/timings.py index 67576153..a2d01fd3 100644 --- a/python/dune/perftool/pdelab/driver/timings.py +++ b/python/dune/perftool/pdelab/driver/timings.py @@ -3,14 +3,27 @@ from dune.perftool.options import get_option, set_option from dune.perftool.generation import (cached, include_file, + pre_include, post_include, preamble, ) +from dune.perftool.pdelab.driver import (get_formdata, + name_initree, + name_mpihelper, + ) +from dune.perftool.pdelab.driver.gridfunctionspace import (name_trial_gfs, + ) +from dune.perftool.pdelab.driver.gridoperator import (name_gridoperator, + name_localoperator, + type_gridoperator, + ) +from dune.perftool.pdelab.driver.solve import (name_vector, + type_vector, + ) @preamble def define_timing_identifier(name): - from dune.perftool.pdelab.driver import name_initree ini = name_initree() return "auto {} = {}.get<std::string>(\"identifier\", std::string(argv[0]));".format(name, ini) @@ -24,15 +37,12 @@ def name_timing_identifier(): @preamble def dump_dof_numbers(stream): ident = name_timing_identifier() - from dune.perftool.pdelab.driver import get_trial_element, name_gfs return "{} << {} << \" dofs dofs \" << {}.size() << std::endl;".format(stream, ident, - name_gfs(get_trial_element())) + name_trial_gfs()) @preamble def define_timing_stream(name): - from dune.perftool.pdelab.driver import name_mpihelper - include_file('fstream', filetag='driver', system=True) include_file('sstream', filetag='driver', system=True) include_file('sys/types.h', filetag='driver', system=True) @@ -54,9 +64,6 @@ def name_timing_stream(): @cached def setup_timer(): - # Necessary includes and defines - from dune.perftool.generation import pre_include - # TODO check that we are using YASP? if get_option('opcounter'): pre_include("#define ENABLE_COUNTER", filetag="driver") @@ -66,13 +73,6 @@ def setup_timer(): @preamble def evaluate_residual_timer(): - from dune.perftool.pdelab.driver import (get_formdata, - name_gridoperator, - name_localoperator, - name_vector, - type_vector, - ) - formdata = get_formdata() n_go = name_gridoperator(formdata) v = name_vector(formdata) @@ -112,13 +112,6 @@ def apply_jacobian_timer(): # Set the matrix_free option to True! set_option("matrix_free", True) - from dune.perftool.pdelab.driver import (get_formdata, - name_gridoperator, - name_localoperator, - name_vector, - type_vector, - ) - formdata = get_formdata() n_go = name_gridoperator(formdata) v = name_vector(formdata) @@ -155,13 +148,6 @@ def apply_jacobian_timer(): @preamble def assemble_matrix_timer(): - from dune.perftool.pdelab.driver import (get_formdata, - name_gridoperator, - name_localoperator, - name_vector, - type_vector, - ) - formdata = get_formdata() t_go = type_gridoperator(formdata) n_go = name_gridoperator(formdata) diff --git a/test/poisson/opcount_poisson_dg.ufl b/test/poisson/opcount_poisson_dg.ufl index d731f77c..1748e057 100644 --- a/test/poisson/opcount_poisson_dg.ufl +++ b/test/poisson/opcount_poisson_dg.ufl @@ -1,6 +1,7 @@ degree = 1 cell = "quadrilateral" +dim = 2 x = SpatialCoordinate(cell) f = -4. -- GitLab