Commit Graph
508 Commits
Author SHA1 Message Date
Andrew Ho afadd435f5 review comments 2026-01-29 12:50:04 -08:00
Andrew Ho 36d7629b26 residual vector requires hypre >= 2.15.0 2026-01-29 12:41:53 -08:00
Andrew Ho 8c2ffb9d26 added Set/GetUseTwoNorm 2026-01-20 13:25:08 -08:00
Andrew Ho a024fb10bc more initial solver configurations 2026-01-07 17:17:19 -08:00
Andrew Ho 531e8d7ad9 Added a way to get the residual vector r and ||r||_p 2026-01-07 17:02:25 -08:00
Andrew Ho 9008d5a050 Improved hypre's documentation and added getter methods (when possible) for solver parameters 2026-01-07 15:36:54 -08:00
Andrew Ho d1ca02310d Merge branch 'master' into nbeams/gko-updates-distrib 2025-12-16 12:05:14 -08:00
camierjs 387005e37a with style 2025-12-09 15:25:57 -08:00
camierjs 1d81f19c37 minor argument type safety casts 2025-12-09 15:16:11 -08:00
Andrew Ho 67311104a5 Merge branch 'master' into nbeams/gko-updates-distrib 2025-10-06 16:40:50 -07:00
Tzanio Kolev bce6e2ca76 Merge branch 'master' into najlkin/parform-impro 2025-10-05 13:25:11 -07:00
Victor A. P. Magri 59579f2cdb Fix build with upcoming hypre-3.0 2025-09-26 12:34:18 -04:00
Tzanio Kolev 40d1550fd6 Merge branch 'master' into najlkin/parform-impro 2025-09-17 03:31:41 -07:00
Jan Nikl 193f8a6801 Partially reverted const modifiers in HypreParMatrix::Copy(Bool)CSR(). 2025-09-16 16:19:03 -07:00
nbeams d630bf5250 Add distributed support for Ginkgo solvers and preconditioners 2025-09-10 22:21:27 +00:00
Veselin Dobrev def35c8a15 In HypreParMatrix::EliminateBC, use stream synchronization instead of
device synchronization and do it only when hypre is using GPU-aware MPI.

Remove device synchronization before CUDA/HIP free which implicitly
perform the same synchronization.
2025-06-28 08:05:30 -07:00
Andrew Ho 8dcd0d6349 add device syncs in EliminateBC
This should fix potential race conditions in some situations
2025-06-26 15:57:18 -07:00
Jan Nikl 9dab032bd0 Merge branch 'master' into najlkin/parform-impro 2025-04-24 15:40:44 -07:00
Andrew Ho f3360ac118 switch to MFEM_MPI_CXX_BOOL
This is an internal macro which switches between MPI_CXX_BOOL and
MPI_C_BOOL if MPI_CXX_BOOL happens to not be defined (ex.: in Windows).
2025-03-14 14:19:17 -07:00
Andrew Ho 940943268b replace MPI_C_BOOL with MPI_CXX_BOOL 2025-03-14 10:06:57 -07:00
Tzanio Kolev 41b65d6333 Merge branch 'master' into najlkin/parform-impro 2025-02-04 14:55:19 -08:00
Tzanio Kolev e4c2152419 Update Copyright to 2010-2025 2025-02-03 12:17:26 -08:00
Jan Nikl 613d5dd826 Fixed constness in some HyperParMatrix constructors. 2025-01-08 17:56:42 -08:00
Andrew Ho 51a75893f7 Changes from Veselin 2024-12-09 08:21:57 -08:00
Andrew Ho f1304374e0 Changed back to not use hypre's internal state tracker for calling init/finalize.
This will mean users can initialize hypre themself, and mfem won't
automatically finalize hypre for them in this situation.
2024-12-05 22:43:05 -08:00
Andrew Ho 79834fa003 use hypre's internal state manager when possible, allow re-initialization 2024-12-03 09:50:07 -08:00
Andrew Ho 25a1f0b3c6 Merge branch 'master' into master 2024-12-03 09:18:14 -08:00
adam-sim-dev 1f6abc2e0b Merge branch 'master' into warning 2024-11-13 05:21:58 +08:00
Will Pazner e6fb9d0ff9 Merge pull request #4548 from mfem/ParMatrixFrobeniusNorm
HypreParMatrix Frobenius Norm
2024-11-12 11:39:54 -08:00
adam-sim-dev 470698bb28 Merge branch 'master' into warning 2024-11-04 08:27:54 +08:00
Tucker Hartland 73efadce18 adding comment indicating that matrix data on host for the indicated hypre version 2024-11-01 14:47:40 -07:00
Tucker HartlandandWill Pazner 9dc7331d9c Style update
Updating style as suggested by Will.

Co-authored-by: Will Pazner <11493037+pazner@users.noreply.github.com>
2024-11-01 10:25:04 -07:00
Tucker Hartland d5d2cbba19 computing FNorm without making use of the expensive hypre_MergeDiagAndOffd call. Summing local Frobenius norms of diag/offd components before a single all-to-all communication. 2024-11-01 08:57:07 -07:00
Tucker Hartland 2464a9d1ca adding a means to compute Frobenius norms when mfem is built with hypre version < 2.19.0 2024-10-31 15:21:55 -07:00
adam-sim-dev b4dfb8660d static_cast size_t to int 2024-10-31 18:07:45 +08:00
Will Pazner 6cedf73dd5 Small style adjustments to HypreParMatrix::FNorm 2024-10-30 09:21:01 -07:00
Tucker Hartland e46a3dc294 NormFro --> FNorm for consistency with DenseMatrix::FNorm 2024-10-25 11:20:17 -07:00
Tucker Hartland 7f2ee0b7c9 minor update 2024-10-25 10:10:09 -07:00
Tucker Hartland 324a86d4e7 adding a NormFro method to the HypreParMatrix class which is a wrapper of the hypre function hypre_PARCSRMatrixNormFro 2024-10-25 09:56:02 -07:00
Veselin Dobrev 36f15e5784 Fix one more test failure when using HYPRE built with GPU + UVM
The fix uses a newly added constructor for HypreParVector that creates
an alias to existing Vector + offset.

Also, fix some doxygen comments.

This commit shouls also address issue #4351 (not tested yet).
2024-10-20 12:36:53 -07:00
Veselin Dobrev 5c1d4f24a3 Fix test failures when using HYPRE built with GPU + UVM 2024-10-17 18:48:39 -07:00
Andrew Ho 48c1be8fb5 Changes suggested by Will
- fixed accidentally copying the singleton
- deleted copy/move constructors to prevent future accidental copying
2024-09-27 14:39:30 -07:00
Andrew Ho 345957aae2 Have Hypre track if it was initialized in addition to finalized.
Moved where HYPRE_Init gets called.
2024-09-25 18:27:10 -07:00
Andrew Ho f61629c5a5 Whitespace formatting from astyle 2024-09-13 18:02:16 -07:00
Andrew Ho b3fff9267a Moved Hypre::Finalize earlier in Device::~Device, only finalize HYPRE if it's been initialized.
Moving Hypre::Finalize earlier ensures that early return paths in
Device::~Device don't prevent Hypre::Finalize from executing.
2024-09-13 17:55:09 -07:00
Tom Stitt a74663d634 Use HYPRE's SpMV since it is currently faster than rocSPARSE's 2024-06-04 10:51:23 -07:00
Tzanio Kolev 0406101e29 Merge pull request #4271 from mfem/symmatcoeff-project-fix
Fix `SymmetricMatrixCoefficient::ProjectSymmetric` bug
2024-05-22 14:03:43 -07:00
Veselin Dobrev 1bc5a0c5e4 Fix use-after-delete bug in one of the HypreParMatrix constructors 2024-05-21 21:53:12 -07:00
Will Pazner 8da512d5cf Factor out hypre row and col start comparison logic
Create new static functions GetPartitioningArraySize and
RowAndColStartsAreEqual.
2024-05-16 14:46:20 -07:00
Will Pazner 8be0dee008 Use MPI_Allreduce in HypreParMatrix ctor to determine whether to reorder
This ensures the same decision is made across all ranks
2024-05-16 14:30:11 -07:00