Commit Graph
77 Commits
Author SHA1 Message Date
Tzanio f417834319 Expanding the comments for the cases when error_mode = IGNORE_HYPRE_ERRORS;
is used.

Adding it to AMS, which could also have this issue (though may be rare).
2019-05-26 13:15:34 -07:00
Veselin Dobrev daa301f6f7 Add support for more flexible handling of hypre errors in
class HypreSolver.

The default is still to abort on hypre errors, except in some
special cases -- see the documentation of the new method
HypreSolver::SetErrorMode() for details.
2019-05-26 12:00:00 -07:00
Tzanio b3c3c5cf4c Merge branch 'memory-dev' of github.com:mfem/mfem into memory-dev 2019-05-24 14:23:56 -07:00
Tzanio 1a69dcff78 Replaced FIXMEs with TODO or NOTE 2019-05-24 14:23:39 -07:00
camierjs 283264ade4 {Read,Write,ReadWrite}Access => {Read,Write,ReadWrite}
Add shortcut for Host{Read,Write,ReadWrite}
2019-05-24 14:08:45 -07:00
Veselin Dobrev 798ded1f55 Merge branch 'master' into memory-dev 2019-05-22 23:53:04 -07:00
Veselin Dobrev 40378a046b Introduce a new Memory class for handling host + device allocations
and transfers.

The Memory class is now used by some MFEM classes (like Array and
Vector) which can be used on the Device. Such classes now provide
methods to access the underlying Memory object, e.g. GetMemory.

Updated ex1/ex1p and ex6/ex6p to not need to enable/disable the
Device at specific points -- the Device is now enabled just at the
start. Also, the same examples can now run on Device (e.g. -d cuda)
without the partial assembly option (-pa) -- full assembly will
be still done on CPU but the sparse matrix action and vector
operations will be done using the Device.

Reverted changes in class DenseMatrix related to using the Device.
At this point, DenseMatrix operations are only used for small matrices
and using the Device in this case is not a good option.
2019-05-16 14:53:39 -07:00
Tzanio 5b00c3d0e6 Merge branch 'master' into stefanozampini/small-improvements
Conflicts:
	fem/bilininteg.hpp
2019-05-15 11:38:18 -07:00
camierjs 2020335b50 Renaming + free functions in mfem namespace 2019-04-09 18:17:00 -07:00
Will Pazner a5ecb742a0 Revert to using new and delete
Also rename mm::malloc to mm::New and mm::free to mm::Delete.
2019-04-04 13:44:10 -07:00
Will Pazner 4292eb80bc Replace new and delete with malloc and free in mm
This matches the names of the functions in mm:: and also more closely
matches their use in the rest of mfem.

Also removed the template parameter for mm::free since it is not needed.

It is possible in the future to add equivalents of new and delete to the
mm class (with different names since those are keywords) in case it is
desirable to call the constructor and destructor.
2019-04-03 16:14:13 -07:00
Tzanio a4f7d19221 Styling 2019-03-30 20:21:02 -07:00
camierjs 574e5f6604 Standard integrator in examples, mm to get all parallel tests working. 2019-03-14 16:34:35 -07:00
Stefano Zampini 4a29f90147 HypreSolver: error when setup or solve fail 2019-03-14 21:17:40 +03:00
camierjs 3ae0d68d50 Remove unused mm calls and linalg/kernels/sparsemat 2019-03-06 13:39:44 -08:00
camierjs 64cf91cf21 - config rename convention
- ex1, ex6 switch back to host
- mm filtering
- dot device ptr call
2019-03-05 12:20:26 -08:00
camierjs 3940c55fc3 Cleanup 2019-03-05 09:07:04 -08:00
camierjs eb68f79ee2 MM sanitized 2019-02-28 12:47:09 -08:00
Veselin Dobrev a109053298 Fix a bug in HypreLOBPCG::SetOperator() when HYPRE_Int is 64-bit. 2019-02-05 18:22:12 -08:00
Tzanio Kolev bc3189d560 Update hypre.cpp 2018-11-12 18:12:56 -06:00
Veselin Dobrev c7118efe7e Revert example 1p to the 'master' version. 2018-11-08 16:30:54 -08:00
Tzanio 80fa382b53 make style; updated CHANGELOG 2018-11-08 15:19:36 -08:00
Tzanio 125bafebc8 make style 2018-11-08 15:14:53 -08:00
VSingh f90f1ac989 Euclid components now located next to PARASAILS. Some additional documentation. 2018-11-07 12:43:40 +02:00
VSingh ab4f2b0ffc Adding more parameters for Euclid 2018-11-05 13:58:30 +02:00
VSingh 3665a96d52 Adding Euclid preconditioner wrappers for ILU preconditioning options 2018-11-04 14:41:06 +02:00
Tzanio Kolev 1287280696 Merge pull request #458 from mfem/threshold-leak-fix
Fix memory leak in HypreParMatrix::Threshold [threshold-leak-fix]
2018-04-23 06:35:12 -07:00
Veselin Dobrev 9921143298 A few tweaks in HypreParMatrix::Threshold. 2018-04-14 18:30:29 -07:00
Veselin Dobrev 4b774a2667 Update the usage of hypre's memory macros (hypre_TAlloc, hypre_CTAlloc
and hypre_TFree) with mfem defined macros (adding the prefix 'mfem_')
that allow us to switch between the old- and the new-style hypre macros,
introduced in hypre 2.14.0. The new 'location' parameter in the macros
is set to HYPRE_MEMORY_HOST.
2018-04-07 21:22:04 -07:00
Tzanio 5df5d039f0 Fix memory leak in HypreParMatrix::Threshold 2018-03-22 16:20:15 -07:00
Tzanio Kolev 5896f184dd Merge pull request #417 from mfem/transpose-diag-fix
Keep diag entries first after transpose [transpose-diag-fix]
2018-01-31 07:14:48 -08:00
Tzanio Kolev e131d825bd Merge pull request #412 from mfem/bugfix/leftdiagmult
Fix row_starts memory bug in HypreParMatrix::LeftDiagMult() [bugfix/leftdiagmult]
2018-01-31 07:14:07 -08:00
Tzanio 5f3335a1a9 Adjusted a comment 2018-01-25 11:46:22 -08:00
Stowell, Mark L b1d8e2472b Move diagonal entries to the beginning of the row after transposing a square matrix 2018-01-25 11:40:01 -08:00
Andrew T. Barker 12ef3ee4c8 Actually fix the bug I claim to fix. 2018-01-18 10:14:53 -08:00
Andrew T. Barker d49dc98e08 Fix row_starts memory bug in HypreParMatrix::LeftDiagMult()
Previously, this routine would segfault for a square matrix,
row_starts = NULL, and HYPRE assumed partition turned on.
2018-01-18 09:31:37 -08:00
Veselin Dobrev ac377ca6ef In class HypreParMatrix, add a new method, BooleanMultTranspose(). 2018-01-02 06:08:14 -08:00
Veselin Dobrev c6dafc6483 A set of small fixes and cleanups uncovered by static analysis with
clang static analyzer.
2017-12-09 16:12:35 -08:00
Tzanio 92a8b15fcb A bit more verbose comments 2017-11-28 16:46:16 -08:00
Veselin Dobrev 265d0229e4 Add comments to the HypreParMatrix constructors that may be helpful
when trying to figure out which constructor is being called. The
comments just give the number of arguments of the ctor.
2017-11-17 13:16:23 -08:00
Tzanio Kolev effca32f75 Merge pull request #281 from mfem/hypre-rap-add-dev
Small changes to HYPRE wrapper [hypre-rap-add-dev]
2017-11-09 09:26:44 -08:00
Veselin Dobrev 8d14849b50 Add FIXME comments about using the HYPRE function GenerateDiagAndOffd.
[skip ci]
2017-11-07 22:21:39 -08:00
Veselin Dobrev c31bd65e6d Restore support for SUNDIALS v2.7.0 - the used version is "autodetected"
in the .cpp files that use SUNDIALS.

Updated INSTALL and CHANGELOG to reflect that both v2.7.0 and v3.0.0 of
SUNDIALS are supported.

In makefile, move the addition of the SUNDIALS and PETSc examples to the
examples run by 'make test' after the inclusion of config/config.mk.
2017-11-06 16:17:25 -08:00
Tzanio Kolev bac8f5c330 Merge branch 'master' into xsdk-cpissues-dev 2017-11-02 07:43:37 -07:00
Tzanio a9e531b46c Replace the SUNDIALS macros TRUE/FALSE with SUNTRUE/SUNFALSE (change in their 3.0.0 release) 2017-10-31 12:14:21 -07:00
Stowell, Mark L 36e703c2ac The row_starts of Rt are not touched, it's the col_starts we need to check. 2017-10-25 20:26:03 -07:00
Tzanio 20087f29eb Merge branch 'master' into xsdk-cpissues-dev 2017-10-17 11:54:45 -07:00
Veselin Dobrev 7502c4b35d Run through make style.
[skip ci]
2017-10-13 13:03:20 -07:00
gelever 32d3ab25dc Additional const corrections 2017-10-11 11:58:54 -07:00
gelever 1176d69000 Fix const in DenseMatrix and HypreParMatrix 2017-10-11 10:43:02 -07:00