From aeebf95b2ac28f497bfeb903db6a640e7b58f546 Mon Sep 17 00:00:00 2001 From: Max Date: Wed, 7 Oct 2026 18:43:56 +0200 Subject: [PATCH 1/7] feectools: Kronecker solver on the device Moves the feectools submodule to struphy-hub/feectools#96 (branch device-kronecker-solve): KroneckerLinearSolver solves device data with dense inverses of the 1D matrices (one GEMM per direction) instead of copying it to the host for LAPACK/SuperLU, so MassMatrixPreconditioner solves on the CuPy backend make no host/device transfers. Co-Authored-By: Claude Opus 5.5 --- feectools | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/feectools b/feectools index f97ea5af7..9cb793b5d 160000 --- a/feectools +++ b/feectools @@ -1 +1 @@ -Subproject commit f97ea5af7c9a21808f7d5adfc95c907c338d74de +Subproject commit 9cb793b5de72af2d8d64bb42f0c9e593bd4499a2 From 39f19847e9194257fccd20beb07f55b6d9fbd709 Mon Sep 17 00:00:00 2001 From: Max Date: Wed, 7 Oct 2026 19:16:07 +0200 Subject: [PATCH 2/7] feectools: stencil 3D device kernels with 6D views Point the feectools submodule at struphy-hub/feectools#97 (branch stencil-6d-views): the 3D stencil dot/transpose kernels take the matrix data as 6D views, and StencilMatrix.dot/vdot/transpose no longer raise for matrices with fewer than 2p+1 diagonals. Co-Authored-By: Claude Opus 5.5 --- feectools | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/feectools b/feectools index f97ea5af7..1958568d1 160000 --- a/feectools +++ b/feectools @@ -1 +1 @@ -Subproject commit f97ea5af7c9a21808f7d5adfc95c907c338d74de +Subproject commit 1958568d176c18aa7e4082b99257e2385a31b6fc From 081768b8765b99574657b0150238c090d0a0087c Mon Sep 17 00:00:00 2001 From: Max Date: Wed, 7 Oct 2026 20:05:27 +0200 Subject: [PATCH 3/7] Move the feectools submodule to the head of feectools#96 (64b10fa) Co-Authored-By: Claude Opus 5.5 --- feectools | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/feectools b/feectools index 9cb793b5d..64b10fa0e 160000 --- a/feectools +++ b/feectools @@ -1 +1 @@ -Subproject commit 9cb793b5de72af2d8d64bb42f0c9e593bd4499a2 +Subproject commit 64b10fa0ecaf5d8dc138163b8df6b7594f46676a From c58ccc048334ef8fef3e47d3c272118061925c29 Mon Sep 17 00:00:00 2001 From: Max Date: Wed, 7 Oct 2026 20:50:20 +0200 Subject: [PATCH 4/7] feectools: inner products stay on the device Move the feectools submodule to struphy-hub/feectools#98: on the CuPy backend inner products return 0-d device arrays and the Krylov solvers copy one scalar per iteration to the host (the convergence test). Co-Authored-By: Claude Opus 5.5 --- feectools | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/feectools b/feectools index f97ea5af7..a15a8e80c 160000 --- a/feectools +++ b/feectools @@ -1 +1 @@ -Subproject commit f97ea5af7c9a21808f7d5adfc95c907c338d74de +Subproject commit a15a8e80ce831076b66887f7636ee2d7ce321be1 From 85bc754e4f441eeca5118ba983b4a86e2de2d012 Mon Sep 17 00:00:00 2001 From: Max Lindqvist Date: Thu, 8 Oct 2026 11:05:51 +0200 Subject: [PATCH 5/7] Update feectools to latest commit in inner-on-device --- feectools | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/feectools b/feectools index 6d888061f..fce01b827 160000 --- a/feectools +++ b/feectools @@ -1 +1 @@ -Subproject commit 6d888061f6a9d824df00633dcf475c5593f69dc1 +Subproject commit fce01b827d6fa95d42699d1b4400092e10888c23 From 8c0b7132bf1c38ffb09fba44ab933611e3c6b255 Mon Sep 17 00:00:00 2001 From: Max Lindqvist Date: Thu, 8 Oct 2026 16:09:41 +0200 Subject: [PATCH 6/7] Update feectools submodule --- feectools | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/feectools b/feectools index fce01b827..a99769785 160000 --- a/feectools +++ b/feectools @@ -1 +1 @@ -Subproject commit fce01b827d6fa95d42699d1b4400092e10888c23 +Subproject commit a997697858cb6be57f7066d30e077f0b7c755a5b From 5d50894cb2664c15cd2a34c3da0bb08c879e783b Mon Sep 17 00:00:00 2001 From: Max Lindqvist Date: Thu, 8 Oct 2026 16:10:06 +0200 Subject: [PATCH 7/7] Bump feectools version to 0.6.0 --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 88547f445..d1f709064 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -27,7 +27,7 @@ dependencies = [ "cunumpy >= 0.6.1, <= 0.6.1", "pyccel>=2.2.0, <=2.2.3", "maybempi>=0.1.2", - "feectools>=0.5.0, <=0.5.0", + "feectools>=0.6.0, <=0.6.0", "scipy<=1.18.0", "h5py<=3.16.0", "h5netcdf<=1.8.1",