Skip to content
Snippets Groups Projects
Commit 402f9e8c authored by Dominic Kempf's avatar Dominic Kempf
Browse files

More adaptations

parent c4579aaf
No related branches found
No related tags found
No related merge requests found
Showing
with 29 additions and 69 deletions
......@@ -39,7 +39,9 @@ extension = vtu
fastdg = 1
sumfact = 1
vectorization_quadloop = 1
vectorize_diagonal = 1
vectorization_strategy = explicit
vectorization_horizontal = 4
vectorization_vertical = 2
instrumentation_level = 2, 3, 4 | expand
opcounter = 1, 0 | expand opcount
time_opcounter = 0, 1 | expand opcount
......
......@@ -12,7 +12,9 @@ extension = vtu
fastdg = 1
sumfact = 1
vectorization_quadloop = 1
vectorize_diagonal = 1
vectorization_strategy = explicit
vectorization_horizontal = 4
vectorization_vertical = 2
quadrature_order = 6
architecture = knl
......
......@@ -39,7 +39,9 @@ extension = vtu
fastdg = 1
sumfact = 1
vectorization_quadloop = 1
vectorize_diagonal = 1
vectorization_strategy = explicit
vectorization_horizontal = 4
vectorization_vertical = 2
instrumentation_level = 2, 3, 4 | expand
opcounter = 1, 0 | expand opcount
time_opcounter = 0, 1 | expand opcount
......
......@@ -12,7 +12,9 @@ extension = vtu
fastdg = 1
sumfact = 1
vectorization_quadloop = 1
vectorize_diagonal = 1
vectorization_strategy = explicit
vectorization_horizontal = 4
vectorization_vertical = 2
quadrature_order = 6
architecture = knl
......
......@@ -39,7 +39,7 @@ extension = vtu
fastdg = 1
sumfact = 1
vectorization_quadloop = 1
vectorize_greedy = 1
vectorization_strategy = explicit
instrumentation_level = 2, 3, 4 | expand
opcounter = 1, 0 | expand opcount
time_opcounter = 0, 1 | expand opcount
......
......@@ -4,8 +4,6 @@ dune_add_formcompiler_system_test(UFLFILE poisson_dg_tensor.ufl
NO_TESTS
)
add_subdirectory(sliced)
dune_add_formcompiler_system_test(UFLFILE poisson_dg_tensor.ufl
BASENAME verify_app_poisson_dg_tensor
INIFILE verify.mini
......
......@@ -39,7 +39,7 @@ extension = vtu
fastdg = 1
sumfact = 1
vectorization_quadloop = 1
vectorize_greedy = 1
vectorization_strategy = explicit
instrumentation_level = 2, 3, 4 | expand
opcounter = 1, 0 | expand opcount
time_opcounter = 0, 1 | expand opcount
......
dune_add_formcompiler_system_test(UFLFILE ../poisson_dg_tensor.ufl
BASENAME app_poisson_dg_tensor_sliced
INIFILE sliced.mini
NO_TESTS
)
__name = app_poisson_dg_tensor_sliced_{__exec_suffix}
__exec_suffix = deg{formcompiler.ufl_variants.degree}_{opcount_suffix}_level{formcompiler.instrumentation_level}
opcount_suffix = opcount, nonopcount | expand opcount
{opcount_suffix} == opcount and {formcompiler.instrumentation_level} != 4 | exclude
# Calculate the size of the grid to equlibritate it to 100 MB/rank
# Input parameters
dim = 3
mbperrank = 100
ranks = 32
floatingbytes = 8
# Metaini Calculations
memperrank = {mbperrank} * 1048576 | eval
dofsperdir = {formcompiler.ufl_variants.degree} + 1 | eval
celldofs = {dofsperdir} ** {dim} | eval
cellsperrank = {memperrank} / ({floatingbytes} * {celldofs}) | eval
cellsperdir = {cellsperrank} ** (1/{dim}) | eval | toint
firstdircells = {ranks} * {cellsperdir} | eval
dimminusone = {dim} - 1 | eval
ones = 1 | repeat {dimminusone}
otherdircells = {cellsperdir} | repeat {dimminusone}
# Setup the grid!
extension = 1.0 | repeat {dim}
cells = {firstdircells} {otherdircells}
partitioning = {ranks} {ones}
# Set up the timing identifier
identifier = poisson_dg_tensor_deg{formcompiler.ufl_variants.degree}
[wrapper.vtkcompare]
name = {__name}
extension = vtu
[formcompiler]
fastdg = 1
sumfact = 1
vectorization_quadloop = 1
vectorize_slice = 1
instrumentation_level = 2, 3, 4 | expand
opcounter = 1, 0 | expand opcount
time_opcounter = 0, 1 | expand opcount
quadrature_order = {formcompiler.ufl_variants.degree} * 2 | eval
[formcompiler.ufl_variants]
cell = hexahedron
degree = 3, 7 | expand
......@@ -40,7 +40,7 @@ extension = vtu
fastdg = 1
sumfact = 1
vectorization_quadloop = 1
vectorize_greedy = 1
vectorization_strategy = explicit
instrumentation_level = 2, 3, 4 | expand
opcounter = 1, 0 | expand opcount
time_opcounter = 0, 1 | expand opcount
......
......@@ -226,9 +226,11 @@ def fixed_quad_vectorization_opportunity_generator(sumfacts, width, qp, already=
while horizontal <= width:
# Iterate over the possible combinations of sum factorization kernels
# taking into account all the permutations of kernels. This also includes
# combinations which use a padding of 1.
for combo in it.chain(it.permutations(candidates, horizontal),
it.permutations(candidates, horizontal - 1)):
# combinations which use a padding of 1 - but only for pure horizontality.
generators = [it.permutations(candidates, horizontal)]
if horizontal >= 4:
generators.append(it.permutations(candidates, horizontal - 1))
for combo in it.chain(*generators):
# The chosen kernels must be part of the kernels for recursion
# to work correctly
if sf_to_decide not in combo:
......
......@@ -11,7 +11,9 @@ extension = vtu
[formcompiler]
numerical_jacobian = 1
vectorize_slice = 1
vectorization_strategy = explicit
vectorization_horizontal = 1
vectorization_vertical = 4
sumfact = 1
[formcompiler.ufl_variants]
......
......@@ -11,7 +11,9 @@ extension = vtu
sumfact = 1
compare_l2errorsquared = 1e-5
vectorization_quadloop = 1
vectorize_diagonal = 1
vectorization_strategy = explicit
vectorization_horizontal = 2
vectorization_vertical = 2
quadrature_order = 6, 6, 6
fastdg = 1
......
......@@ -11,7 +11,9 @@ extension = vtu
sumfact = 1
compare_l2errorsquared = 1e-5
vectorization_quadloop = 1
vectorize_slice = 1
vectorization_strategy = explicit
vectorization_horizontal = 1
vectorization_vertical = 4
quadrature_order = 6
[formcompiler.ufl_variants]
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment