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

Merge branch 'bump-loopy' into 'master'

Update submodules

See merge request dominic/dune-perftool!238
parents dc8cc00f 6cf20872
No related branches found
No related tags found
No related merge requests found
......@@ -3,7 +3,7 @@
url = https://gitlab.tiker.net/inducer/loopy.git
[submodule "python/ufl"]
path = python/ufl
url = https://parcomp-git.iwr.uni-heidelberg.de/dominic/ufl.git
url = https://bitbucket.org/fenics-project/ufl.git
[submodule "python/pymbolic"]
path = python/pymbolic
url = https://github.com/inducer/pymbolic.git
......
......@@ -13,7 +13,3 @@ pushd python/ufl
git apply ../../patches/ufl/conditional-uflid.patch
git apply ../../patches/ufl/0001-Remove-special-case-for-variable-in-ufl2dot.patch
popd
pushd python/ufl
git apply ../../patches/ufl/tensor-product-element.patch
popd
commit f87dcd18d765b0200808b79b2e7374f82a0c6199
Author: René Heß <rene.hess@iwr.uni-heidelberg.de>
Date: Tue Aug 29 14:56:17 2017 +0200
Patch for TensorProductElements
diff --git a/ufl/algorithms/compute_form_data.py b/ufl/algorithms/compute_form_data.py
index 3388bbfc..1cef3924 100644
--- a/ufl/algorithms/compute_form_data.py
+++ b/ufl/algorithms/compute_form_data.py
@@ -56,7 +56,7 @@ def _auto_select_degree(elements):
"""
# Use max degree of all elements, at least 1 (to work with
# Lagrange elements)
- return max({e.degree() for e in elements} - {None} | {1})
+ return max({e.degree() if not isinstance(e.degree(), tuple) else max(e.degree()) for e in elements} - {None} | {1})
def _compute_element_mapping(form):
Subproject commit 0062a75a614db6602012b6e926c4b5ced06fcc89
Subproject commit f411383630b272a3a5d3e28b82acaaa530a64723
......@@ -147,7 +147,7 @@ class DuneCExpressionToCodeMapper(CExpressionToCodeMapper):
class DuneASTBuilder(CASTBuilder):
def function_manglers(self):
return CASTBuilder.function_manglers(self) + retrieve_cache_functions("mangler")
return retrieve_cache_functions("mangler") + CASTBuilder.function_manglers(self)
def get_expression_to_c_expression_mapper(self, codegen_state):
return DuneExpressionToCExpressionMapper(codegen_state)
......
......@@ -514,6 +514,7 @@ def extract_kernel_from_cache(tag, name, signature, wrap_in_cgen=True, add_timin
from loopy import Options
opt = Options(ignore_boostable_into=True,
check_dep_resolution=False,
enforce_variable_access_ordered="no_check",
)
# Create the kernel
......@@ -526,6 +527,7 @@ def extract_kernel_from_cache(tag, name, signature, wrap_in_cgen=True, add_timin
options=opt,
silenced_warnings=silenced,
name=name,
lang_version=(2017, 2, 1),
)
from loopy import make_reduction_inames_unique
......@@ -682,6 +684,9 @@ def cgen_class_from_cache(tag, members=[]):
signature = "{}({})".format(basename, ", ".join(next(iter(p.generate(with_semicolon=False))) for p in constructor_params))
constructor = LoopyKernelMethod([signature], constructor_knl, add_timings=False, initializer_list=il)
from loopy import get_one_scheduled_kernel
constructor_knl = get_one_scheduled_kernel(constructor_knl)
# Take any temporary declarations from the kernel and make them class members
target = DuneTarget()
from loopy.codegen import CodeGenerationState
......
......@@ -402,9 +402,7 @@ def define_theta(name, tabmat, additional_indices=(), width=None):
bound = tabmat.quadrature_size
if tabmat.slice_size is not None:
bound *= tabmat.slice_size
qp = name_oned_quadrature_points(bound)
qw = name_oned_quadrature_weights(bound)
sort_quadrature_points_weights(qp, qw, bound)
degree = tabmat.basis_size - 1
polynomials = name_polynomials(degree)
......@@ -433,9 +431,15 @@ def define_theta(name, tabmat, additional_indices=(), width=None):
if tabmat.slice_size is not None:
inames[0] = tabmat.slice_size * inames[0] + tabmat.slice_index
args = [inames[1], prim.Subscript(prim.Variable(qp), (inames[0],))]
if tabmat.face is not None:
args[1] = tabmat.face
args = [inames[1]]
if tabmat.face is None:
qp = name_oned_quadrature_points(bound)
qw = name_oned_quadrature_weights(bound)
sort_quadrature_points_weights(qp, qw, bound)
args.append(prim.Subscript(prim.Variable(qp), (inames[0],)))
else:
args.append(tabmat.face)
instruction(assignee=prim.Subscript(prim.Variable(name), (i, j) + additional_indices),
expression=prim.Call(PolynomialLookup(polynomials, tabmat.derivative), tuple(args)),
......
loopy @ dedb956b
Subproject commit e4a05746af70ed6e6b7e5b91984f7303fe96f1f4
Subproject commit dedb956bd72a204a685e7aeb7788d1fa55969899
Subproject commit 915ecb96c1eb60b82973e8cf695e4ffcb622c90a
Subproject commit ffecfaebf21dc8799cd5d007a969e659b255a1e3
Subproject commit e4dd13899c9161ce641c29c55973bfce3df52972
Subproject commit 747a1c1fac3fb4f2067f00c1a670f5a7b963b396
ufl @ 5a9593c9
Subproject commit 962d56f65821fb9c50ca4a5a858882c472243431
Subproject commit 5a9593c956fc843eee6ce3a2ae2b9cbc4aec62bf
......@@ -10,7 +10,7 @@ reference = hagenpoiseuille_ref
extension = vtu
[formcompiler]
compare_l2errorsquared = 1e-10
compare_l2errorsquared = 1e-9
[formcompiler.r]
numerical_jacobian = 0, 1 | expand num
......
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