diff --git a/test/sumfact/poisson/CMakeLists.txt b/test/sumfact/poisson/CMakeLists.txt index 307e6d43e25caa89234a884156c7ee5643f16b8f..3b16c1da023a17b077df6c1acac29a667288cf39 100644 --- a/test/sumfact/poisson/CMakeLists.txt +++ b/test/sumfact/poisson/CMakeLists.txt @@ -119,3 +119,13 @@ dune_add_formcompiler_system_test(UFLFILE poisson_dg_3d.ufl BASENAME sumfact_poisson_dg_3d_diagonal INIFILE diagonal.mini ) + +#====================================== +# Test autotuning with google-benchmark +#====================================== +if(benchmark_FOUND) + dune_add_formcompiler_system_test(UFLFILE poisson_3d.ufl + BASENAME sumfact_poisson_3d_benchmark + INIFILE poisson_3d_benchmark.mini + ) +endif() diff --git a/test/sumfact/poisson/poisson_3d.mini b/test/sumfact/poisson/poisson_3d.mini index c981fcad8d3aef6f552e3f4fd82bc33b78fcac5b..27ef4608c64394b6bf626b423a6f9d1eab1b7de3 100644 --- a/test/sumfact/poisson/poisson_3d.mini +++ b/test/sumfact/poisson/poisson_3d.mini @@ -16,7 +16,6 @@ extension = vtu [formcompiler] compare_l2errorsquared = 1e-4, 1e-8 | expand deg -autotune_google_benchmark = 0, 1 | expand deg [formcompiler.r] numerical_jacobian = 1, 0 | expand num diff --git a/test/sumfact/poisson/poisson_3d_benchmark.mini b/test/sumfact/poisson/poisson_3d_benchmark.mini new file mode 100644 index 0000000000000000000000000000000000000000..aca0d876328991b5b61e848919274631b78d8434 --- /dev/null +++ b/test/sumfact/poisson/poisson_3d_benchmark.mini @@ -0,0 +1,29 @@ +__name = sumfact_poisson_3d_benchmark_{__exec_suffix} +__exec_suffix = {deg_suffix}_{diff_suffix}_{quadvec_suffix}_{gradvec_suffix} + +deg_suffix = deg{formcompiler.ufl_variants.degree} +diff_suffix = symdiff +quadvec_suffix = quadvec +gradvec_suffix = autotunevec + +cells = 8 8 8 +extension = 1. 1. 1. + +[wrapper.vtkcompare] +name = {__name} +reference = poisson_ref +extension = vtu + +[formcompiler] +compare_l2errorsquared = 1e-4 +autotune_google_benchmark = 1 + +[formcompiler.r] +numerical_jacobian = 0 +sumfact = 1 +vectorization_quadloop = 1 +vectorization_strategy = autotune +geometry_mixins = sumfact_equidistant + +[formcompiler.ufl_variants] +degree = 1