Commit Graph
111 Commits
Author SHA1 Message Date
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
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
artv3 80f781df02 first pass at app fixes 2019-05-30 06:29:07 -07:00
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
Julian Andrej 99471634bc Add copy constructor (deep copy data) to HypreParMatrix 2019-05-20 12:36:25 -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