From a3c42a1ce02e9199a85d859750f9a19352f857dc Mon Sep 17 00:00:00 2001 From: ksagiyam Date: Wed, 1 Sep 2021 21:04:59 +0100 Subject: [PATCH 1/5] tsfc_refactor: KernelBuilder takes TSFCIntegralDataInfo --- firedrake/mg/kernels.py | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/firedrake/mg/kernels.py b/firedrake/mg/kernels.py index 89d46aadaa..567295ddfc 100644 --- a/firedrake/mg/kernels.py +++ b/firedrake/mg/kernels.py @@ -23,7 +23,7 @@ from tsfc.coffee import generate as generate_coffee from tsfc import fem, ufl_utils, spectral -from tsfc.driver import lower_integral_type +from tsfc.driver import TSFCIntegralDataInfo, lower_integral_type from tsfc.parameters import default_parameters from tsfc.finatinterface import create_element from finat.quadrature import make_quadrature @@ -548,7 +548,15 @@ def dg_injection_kernel(Vf, Vc, ncell): Vce = create_element(Vc.ufl_element()) - coarse_builder = firedrake_interface.KernelBuilder("cell", "otherwise", 0, ScalarType_c) + info = TSFCIntegralDataInfo(domain=Vc.mesh(), + integral_type="cell", + subdomain_id="otherwise", + domain_number=0, + arguments=(ufl.TestFunction(Vc), ), + coefficients=(), + coefficient_numbers=()) + + coarse_builder = firedrake_interface.KernelBuilder(info, ScalarType_c) coarse_builder.set_coordinates(Vc.mesh()) argument_multiindices = (Vce.get_indices(), ) argument_multiindex, = argument_multiindices From c293267b2c301acc040b7c1596020a4bc38ac9fa Mon Sep 17 00:00:00 2001 From: ksagiyam Date: Fri, 3 Sep 2021 16:44:34 +0100 Subject: [PATCH 2/5] tsfc_refactor: change KernelBuilder.set_arguments() --- firedrake/mg/kernels.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/firedrake/mg/kernels.py b/firedrake/mg/kernels.py index 567295ddfc..c5772b0f91 100644 --- a/firedrake/mg/kernels.py +++ b/firedrake/mg/kernels.py @@ -558,9 +558,9 @@ def dg_injection_kernel(Vf, Vc, ncell): coarse_builder = firedrake_interface.KernelBuilder(info, ScalarType_c) coarse_builder.set_coordinates(Vc.mesh()) - argument_multiindices = (Vce.get_indices(), ) + argument_multiindices = coarse_builder.argument_multiindices argument_multiindex, = argument_multiindices - return_variable, = coarse_builder.set_arguments((ufl.TestFunction(Vc), ), argument_multiindices) + return_variable, = coarse_builder.return_variables integration_dim, entity_ids = lower_integral_type(Vce.cell, "cell") # Midpoint quadrature for jacobian on coarse cell. From 68d0a0c2dd8324ba812e3bb4e8dcd46b18bf6354 Mon Sep 17 00:00:00 2001 From: ksagiyam Date: Fri, 3 Sep 2021 14:17:52 +0100 Subject: [PATCH 3/5] tsfc_refactor: add builder.fem_config --- firedrake/mg/kernels.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/firedrake/mg/kernels.py b/firedrake/mg/kernels.py index c5772b0f91..c69b11759e 100644 --- a/firedrake/mg/kernels.py +++ b/firedrake/mg/kernels.py @@ -556,7 +556,7 @@ def dg_injection_kernel(Vf, Vc, ncell): coefficients=(), coefficient_numbers=()) - coarse_builder = firedrake_interface.KernelBuilder(info, ScalarType_c) + coarse_builder = firedrake_interface.KernelBuilder(info, parameters["scalar_type"]) coarse_builder.set_coordinates(Vc.mesh()) argument_multiindices = coarse_builder.argument_multiindices argument_multiindex, = argument_multiindices From ea27e1872710ec4a0fb1c9ff9763dcf423bb2f33 Mon Sep 17 00:00:00 2001 From: ksagiyam Date: Wed, 1 Sep 2021 21:05:15 +0100 Subject: [PATCH 4/5] DROP BEFORE MERGE --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 91ac3833fd..a69cd51f1a 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -44,7 +44,7 @@ jobs: - name: Build Firedrake run: | cd .. - ./firedrake/scripts/firedrake-install $COMPLEX --venv-name build --tinyasm --disable-ssh --minimal-petsc --slepc --documentation-dependencies --install thetis --install gusto --install icepack --install irksome --install femlium --no-package-manager|| (cat firedrake-install.log && /bin/false) + ./firedrake/scripts/firedrake-install $COMPLEX --venv-name build --tinyasm --disable-ssh --minimal-petsc --slepc --documentation-dependencies --install thetis --install gusto --install icepack --install irksome --install femlium --no-package-manager --package-branch tsfc ksagiyam/tsfc_refactor_1|| (cat firedrake-install.log && /bin/false) - name: Install test dependencies run: | . ../build/bin/activate From ad6c9900925aefaa6d70287bc736160bb0dc7dee Mon Sep 17 00:00:00 2001 From: ksagiyam Date: Sat, 4 Sep 2021 16:29:47 +0100 Subject: [PATCH 5/5] tsfc_refactor: move some functions from driver to kernel_interface/common --- firedrake/mg/kernels.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/firedrake/mg/kernels.py b/firedrake/mg/kernels.py index c69b11759e..398d5a1017 100644 --- a/firedrake/mg/kernels.py +++ b/firedrake/mg/kernels.py @@ -23,7 +23,8 @@ from tsfc.coffee import generate as generate_coffee from tsfc import fem, ufl_utils, spectral -from tsfc.driver import TSFCIntegralDataInfo, lower_integral_type +from tsfc.driver import TSFCIntegralDataInfo +from tsfc.kernel_interface.common import lower_integral_type from tsfc.parameters import default_parameters from tsfc.finatinterface import create_element from finat.quadrature import make_quadrature