step31

46 views
Skip to first unread message

Victor Eijkhout

unread,
Jun 12, 2026, 10:07:45 AM (13 days ago) Jun 12
to deal.II User Group
Exception on processing:
/scratch/00434/eijkhout/htmri26v4/Sources/trilinos/trilinos-git20260604/packages/tpetra/core/src/Tpetra_CrsMatrix_def.hpp:4944:

Throw number = 1

Throw test that evaluated to true: !isFillComplete()

Tpetra::CrsMatrix::apply: Cannot call apply() until fillComplete() has been called.
Aborting!
%%%%%%%%%%%%%%

I've built D2 from the repo to make it compatible with recent Petsc & recent Trilinos.
I've also built Trilinos from repo because it has a patch for recent intel compilers (they will backport that patch to T16).
This means some Trilinos packages are disabled from T16, so step31 can not be compiled with recent trilinos, so I edited a couple of preconditioners in step31. 

However, the above message does not feel like it's related to choice of preconditioner, more like T16 used to form the matrix implicitly and now needs an explicit call.

Any thoughts?

Btw, is there a way to get a traceback of where this message came from in either the step example of the D2 library?

Victor.

Wolfgang Bangerth

unread,
Jun 12, 2026, 6:50:19 PM (13 days ago) Jun 12
to dea...@googlegroups.com

> Exception on processing:
> /scratch/00434/eijkhout/htmri26v4/Sources/trilinos/trilinos-git20260604/
Victor,
given how new Trilinos 17 is, it's perhaps not surprising that not everything
is working. The key issue is that Trilinos 17 has removed the foundational
Epetra sub-package on which all linear algebra had been resting for the past
25 years, and replaced it by Tpetra, requiring us to completely re-write our
own interfaces.

But Rene Gassmoeller (and others) have been working on making everything work
with Tpetra. For step-31, specifically, several patches went in that should
address this. I'm thinking specifically of
https://github.com/dealii/dealii/pull/19857
and
https://github.com/dealii/dealii/pull/19853
Can you try again with current master?

As for finding out where the error is produced: I believe that the error is
generated by Trilinos, namely here:
https://github.com/trilinos/Trilinos/blob/master/packages/tpetra/core/src/Tpetra_CrsMatrix_def.hpp#L4947
The macro there is defined at
https://github.com/trilinos/Trilinos/blob/master/packages/tpetra/core/src/Tpetra_CrsMatrix_def.hpp#L4947
It stores the stacktrace in the error message with this macro:
https://github.com/trilinos/Trilinos/blob/master/packages/teuchos/core/src/Teuchos_TestForException.hpp#L54-L61
But I don't know whether you have HAVE_TEUCHOS_STACKTRACE enabled in your
build -- I suspect no based on the lack of that information in your error above.

Best
W.

Victor Eijkhout

unread,
Jun 15, 2026, 4:11:06 PM (10 days ago) Jun 15
to deal.II User Group
Good to hear that you're updating the example codes, which I'm sure is a major undertaking.

%%%%%%%%%
[ 50%] Building CXX object CMakeFiles/step31.dir/step31.cpp.o
/scratch/projects/compilers/intel26.0/compiler/2026.0/bin/icpx -DBOOST_IOSTREAMS_DYN_LINK -DBOOST_IOSTREAMS_NO_LIB -DBOOST_SERIALIZATION_DYN_LINK -DBOOST_SERIALIZATION_NO_LIB -DKOKKOS_DEPENDENCE -DKOKKOS_HAVE_INTEL_SVML -DNDEBUG -I/scratch/00434/eijkhout/htmri26v4/Binaries/cxxopts-3.3.1/include -I/scratch/projects/compilers/intel26.0/mpi/2021.18/include -I/work2/00434/eijkhout/htmr_sandbox/step31 -isystem /scratch/00434/eijkhout/htmri26v4/Binaries/dealii-git20260615/include -isystem /scratch/00434/eijkhout/htmri26v4/Binaries/dealii-git20260615/include/deal.II/bundled -isystem /scratch/00434/eijkhout/installation/installation-boost-1.86.0-stampede3-intel26.0/include -isystem /scratch/00434/eijkhout/htmri26v4/Binaries/petsc-3.25.2/include -isystem /scratch/00434/eijkhout/htmri26v4/Binaries/trilinos-git20260604/include/kokkos -isystem /scratch/00434/eijkhout/htmri26v4/Binaries/trilinos-git20260604/include -isystem /scratch/projects/compilers/intel26.0/mkl/2026.0/include -isystem /scratch/00434/eijkhout/htmri26v4/Binaries/p4est-2.8.7/include -isystem /scratch/projects/compilers/intel26.0/tbb/2023.0/include -O2 -g -DNDEBUG -std=gnu++23 -MD -MT CMakeFiles/step31.dir/step31.cpp.o -MF CMakeFiles/step31.dir/step31.cpp.o.d -o CMakeFiles/step31.dir/step31.cpp.o -c /work2/00434/eijkhout/htmr_sandbox/step31/step31.cpp
/work2/00434/eijkhout/htmr_sandbox/step31/step31.cpp:1144:14: error: no member named 'constant_modes' in 'dealii::LinearAlgebra::TpetraWrappers::PreconditionAMGMueLu<double, dealii::MemorySpace::Host>::AdditionalData'
 1144 |     amg_data.constant_modes = constant_modes;
      |     ~~~~~~~~ ^
%%%%%%%%%%%

Should I try pulling an older or a newer commit of Trilinos?

Victor.

Victor Eijkhout

unread,
Jun 15, 2026, 5:00:13 PM (10 days ago) Jun 15
to deal.II User Group
Hm. There is a "constant_modes" in PreconditionAMG but not in PreconditionAMGmuelue.

Daniel Arndt

unread,
Jun 16, 2026, 9:53:10 AM (9 days ago) Jun 16
to dea...@googlegroups.com
Victor,

You will have a better time if you don't use the Tpetra stack with
deal.II (yet). In particular, I wouldn't recommend using Trilinos 17
just yet but to stick with 16.2.0 or earlier.
The issue you are seeing is tackled in
https://github.com/dealii/dealii/pull/19841.

Best,
Daniel

On Mon, Jun 15, 2026 at 5:00 PM Victor Eijkhout
<eijk...@tacc.utexas.edu> wrote:
>
> Hm. There is a "constant_modes" in PreconditionAMG but not in PreconditionAMGmuelue.
>
> --
> The deal.II project is located at http://www.dealii.org/
> For mailing list/forum options, see https://groups.google.com/d/forum/dealii?hl=en
> ---
> You received this message because you are subscribed to the Google Groups "deal.II User Group" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to dealii+un...@googlegroups.com.
> To view this discussion visit https://groups.google.com/d/msgid/dealii/96155df2-167a-4f83-8338-c6680ab92256n%40googlegroups.com.

Victor Eijkhout

unread,
Jun 16, 2026, 10:13:08 AM (9 days ago) Jun 16
to deal.II User Group
Except that T16 does not compile with recent intel compilers (2026), and crashes with older intel compilers (2024). Maybe 2025 works but we have no official installation of that at TACC.

Trilinos developers have a patch but that's only been incorporated in the T17 develop. I've asked them to backport to 16.2.2 but that's not been done so far:


Maybe I should edit step31 to use petsc instead of trilinos preconditioners?

V.

Daniel Arndt

unread,
Jun 16, 2026, 1:13:49 PM (9 days ago) Jun 16
to dea...@googlegroups.com
It sounds like you need to pick your poison. :-) Is there any
particular reason for using Intel compilers rather than say gcc or
clang (older than 22)?
Porting that example to PETSc shouldn't be too hard if you have a
better experience with that solver stack.
> --
> The deal.II project is located at http://www.dealii.org/
> For mailing list/forum options, see https://groups.google.com/d/forum/dealii?hl=en
> ---
> You received this message because you are subscribed to the Google Groups "deal.II User Group" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to dealii+un...@googlegroups.com.
> To view this discussion visit https://groups.google.com/d/msgid/dealii/c43434bc-a656-4115-ba1e-08420a0b753dn%40googlegroups.com.
Reply all
Reply to author
Forward
0 new messages