Commit Graph
129 Commits
Author SHA1 Message Date
Veselin Dobrev 9b73c3c47b In HypreParMatrixFromBlocks, use O(log(P)) binary search instead
of O(P) linear search, where P is the number of processors.
2020-06-25 20:32:44 -07:00
Veselin Dobrev 6dd2d81def Merge branch 'master' into hypreblocks-bigj
Resolved conflict:
   linalg/superlu.cpp
2020-06-25 01:41:00 -07:00
Veselin Dobrev 8798a933f3 Add support for 64bit HYPRE_Int in HypreParMatrixFromBlocks() and
GatherBlockOffsetData().

Add overflow check in GatherBlockOffsetData().

In the SuperLURowLocMatrix constructor from HypreParMatrix,
remove the check for the number of columns and add a note why it is
not necessary at the moment.

Add a compile-time check when building with SuperLU_DIST support
that HYPRE_Int is int which is required by the current implementation.
2020-06-25 01:17:30 -07:00
Tzanio Kolev 646728dfac Merge pull request #1498 from mfem/tweaks-dev
Small bug fixes, accessor methods, and documentation tweaks [tweaks-dev]
2020-06-15 07:25:03 -07:00
Dylan Copeland 5aa36b19de Adding hypre version checks. 2020-06-10 15:30:26 -07:00
Dylan Copeland 86178916e7 Adding checks for whether big_j is used. 2020-06-10 15:05:38 -07:00
Dylan Copeland b8811828aa Fixing big integer issue with recent versions of hypre, in HypreParMatrixFromBlocks. 2020-06-04 15:37:28 -07:00
Stowell, Mark L db9c3c9142 Uninitialized pointer 2020-05-21 10:48:28 -07:00
Tzanio Kolev c04de102c3 Merge branch 'master' into hypre-smoother-cg-iter-dev 2020-05-19 09:32:35 -07:00
Veselin Dobrev 444b939834 Merge branch 'master' into hypre-mem-macro-dev 2020-05-13 13:49:14 -07:00
Andreas Schafelner 2245027aec make style 2020-05-11 14:36:06 +02:00
Dylan Copeland 0ded2725e8 Adding some comments and fixing a memory leak in ex5p. 2020-05-01 11:53:08 -07:00
Stowell, Mark L 7ade67276d Merge remote-tracking branch 'origin/master' into hypre-mem-macro-dev 2020-04-17 14:21:21 -07:00
Dylan Copeland af278650d3 Fixed a bug in the rectangular case. Added the option to provide block coefficients. Added a rectangular parallel unit test. 2020-04-15 16:44:58 -07:00
Andreas Schafelner 59901ecddc Default value in default constructor. 2020-04-15 17:09:23 +02:00
Andreas Schafelner eefde7fc9d Added variable eig_est_cg_iter to HypreSmoother.
Behaves as before if eig_est_cg_iter != 0, and uses hypre_ParCSRMaxEigEstimate to estimate the maximum eigenvalue otherwise.
2020-04-15 15:08:06 +02:00
Dylan Copeland 2fdb4ad455 Added the new function HypreParMatrixFromBlocks and an example of its use in ex5p. 2020-04-12 20:45:41 -07:00
ben-s-southworth b5b174b625 Merge w/ master 2020-03-22 14:54:43 -07:00
ben-s-southworth 6f55674efb Added flag based on hypre version 2020-03-20 08:22:09 -07:00
Tzanio 05125e19d5 Removed a space 2020-03-09 15:36:41 -07:00
Tzanio be79c7e08c Hypre fix for 64bit int builds, see https://github.com/mfem/mfem/issues/1283 2020-03-06 17:33:12 -08:00
Tzanio 58872c9e7b Merge branch 'master' into okina-mmu
Conflicts:
	fem/datacollection.cpp
	tests/unit/CMakeLists.txt
2020-03-04 15:19:33 -08:00
Tzanio ca55ef0217 The release number for mfem-4.1 is LLNL-CODE-806117 2020-03-02 17:18:46 -08:00
camierjs 1e8da55823 Merge branch 'master' into okina-mmu 2020-02-27 11:34:06 -08:00
Tzanio e689fd5b28 Merge branch 'master' into bsd-relicense 2020-02-27 09:29:25 -08:00
Tzanio Kolev f871cdb928 Merge pull request #1297 from mfem/parmult_pr
Optional flag to copy row starts/col starts when using ParMult() [parmult_pr]
2020-02-27 09:26:50 -08:00
Veselin Dobrev a5802ad6f0 Fix an issue in HypreEuclid::SetOperator.
Reported by: @geyan3566
2020-02-24 11:21:46 -08:00
Tzanio 2caa222edf A number of changes to switch the code from LGPL-2.1 to BSD-3:
- Updated LICENSE, README, CHANGELOG and CONTRIBUTING.md
- Removed COPYRIGHT, added NOTICE
- Updated the headers in all source files, makefiles, etc.
2020-02-23 11:16:46 -08:00
Ben Southworth b44653ad0e Change Add and ParAdd for hypre matrices to use hypre parcsradd 2020-02-19 14:41:27 -08:00
ben-s-southworth 7d75b885f8 Added bool to copy row starts/col starts when using ParMult() 2020-02-13 21:11:22 -08:00
camierjs 1554b922e7 Cleanup & revert to ifdef MFEM_USE_GZSTREAM 2020-02-04 15:27:48 -08:00
camierjs 54ea353672 delete_hypre_CSRMatrixJ fix and meld toward master 2020-02-03 16:24:54 -08:00
camierjs ec31986b84 WIP parallel examples with host32 and debug memories 2020-02-03 14:30:50 -08:00
Tzanio 5534584ef8 Merge branch 'master' into rectop-bc-dev 2020-01-08 16:44:22 -08:00
Tzanio Kolev 1c629d61c6 Merge pull request #937 from mfem/gpu/appfixes
Application fixes [gpu/appfixes]
2019-12-15 12:04:30 -08:00
Stowell, Mark L 1621f5516f Moving HYPRE memory allocation macros to a common location 2019-11-26 13:47:22 -08:00
Julian Andrej c84af9586d first step picking hunks for rectangular operators 2019-11-18 16:49:44 -08:00
Tucker Babcock 3c82b0a1a7 Added SetOperator to HypreADS. All HypreSolvers with the exception of HypreIdentity now support SetOperator. 2019-11-11 21:21:09 -05:00
Tucker Babcock 52b431f89a Merge branch 'hypre-set-operator-dev' of github.com:mfem/mfem into hypre-set-operator-dev 2019-11-11 21:06:04 -05:00
Tucker Babcock e086825a2c Added implementation of SetOperator() for HypreAMS solver, moved most of old constructor to new private Init() method. 2019-11-11 21:05:54 -05:00
Tzanio 2bc9b9c9b4 minor 2019-11-11 09:00:12 -08:00
Stowell, Mark L c9fa81a46b Eliminating duplicate code from HypreGMRES c'tors 2019-11-01 14:15:57 -07:00
Stowell, Mark L 8f29c1827d Adding SetOperator methods to most Hypre solvers and preconditioners 2019-10-31 16:16:58 -07:00
artv3 996f97689b fixed conflicts in mesh.cpp 2019-09-05 15:47:18 -07:00
Tzanio Kolev dc68d860f6 Merge branch 'master' into sundials-interface 2019-08-29 15:16:26 -07:00
Veselin Dobrev 418271e61e Merge pull request #917 from mfem/hypreparmat-copyconstr
Add copy constructor (deep copy data) to HypreParMatrix
2019-08-13 18:59:26 -07:00
Veselin Dobrev 50d95d0618 Various small fixes in SUNDIALS-related code. 2019-07-12 17:58:32 -07:00
Veselin Dobrev 6e457ec497 Fix a few issues related to using the classes SparseMatrix,
HypreParVector, HypreParMatrix, and HypreSmoother with GPU backends.

Add 2 versions of a new method: Vector::MakeRef -- one that takes
a Vector and an offset and another that takes a Vector, an offset
and a new size.

Add some simple debugging tools:
 * Add a new output "trace" stream: mfem::trc. By default, the output
   of mfem::trc goes to std::cout; the new function mfem::OpenTraceFile()
   can be used to redirect the output of mfem::trc to a file called
   'mfem-trace-<pid>' where <pid> is the process id. Note that this
   function can be called from a debugger.
 * In class Vector, add a new method Vector::PrintTrace() that prints a
   Vector to the mfem::trc stream -- this method can be called from a
   debugger, unlike Vector::Print with mfem::trc as argument (at least
   in gdb this did not work).
 * In class Memory<T>, add 2 new methods: PrintFlags() and
   CompareHostAndDevice() which are explicitly instantiated for T=int
   and T=double, so that they can be called inside a debugger for
   these two types.
2019-06-17 18:55:17 -07:00
Veselin Dobrev 994fd13162 Ensure the method HypreParMatrix::Mult(HypreParVector &,
HypreParVector &, double, double) can be used when the mfem::Device is
configured with a backend using a separate memory space, e.g. "cuda".
2019-06-05 12:32:11 -07:00
Socratis 791634a7fc Make sure rowstarts and colstarts are copied and communicators are cloned. 2019-06-04 11:13:50 -07:00