Commit Graph
100 Commits
Author SHA1 Message Date
Tzanio 8f7cb0b3db Switch to a singleton for the hypre session object: 'HYPRE_Session hypre;' -> 'Hypre::Init();' 2022-03-08 18:06:43 -08:00
Tzanio 447f00d80b Added a HYPRE_Session class to hypre.?pp and examples/miniapps 2022-03-07 14:22:22 -08:00
Tzanio d79f5c6c92 Added sample runs with pyramids/wedges in examples 1, 3, 4 and 22 2021-08-22 15:06:00 -07:00
Veselin Dobrev 602c2c84e7 Work in progress.
With a non-CUDA hypre build, 'make test' should work fine.

With a CUDA hypre build:
  * Only some tests in 'make test' work.
  * 'ex1p' and 'ex2p' should work with "cpu" and "cuda" devices with
    any number of processors.
  * Most of the other examples and miniapps still need work.
2021-06-17 11:53:44 -07:00
Julian Andrej a9ea9cba15 Merge branch 'master' into hypre-mixedint 2021-04-09 12:00:35 -07:00
Will Pazner 2b3dea3637 Don't need to call MPI_Finalize in ex1p since using MPI_Session 2021-03-25 14:14:21 -07:00
Tzanio d96cc98312 Small adjustements 2021-03-21 15:34:05 -07:00
Andrew T. Barker 258206cd12 ex1, ex1p: add #ifdef MFEM_USE_CEED guards around command line arguments 2021-03-17 10:04:46 -07:00
Andrew T. Barker b166eea003 Fuse WrapOperator into ceed::Operator object, reduce code duplication 2021-03-02 10:52:44 -08:00
Andrew T. Barker 342caebed0 Address code review comments. 2021-02-25 15:36:27 -08:00
Andrew T. Barker 2f9b19ce9f Clean up after merge; this compiles and runs but is largely untested.
Note in particular that some classes/functionality are duplicated in
two places after the merge, for example MFEMCeedOperator should be
combined with mfem::ceed::Operator
2021-02-19 12:39:16 -08:00
Andrew T. Barker abe5faa0d2 Make change suggested in Dylan's review. 2020-12-14 07:50:00 -08:00
Andrew T. Barker ded3a90d71 Move ceed_algebraic from linalg/ to fem/ for cleaner building. 2020-10-22 14:03:41 -07:00
Andrew T. Barker 7490978d94 Clean up ex1p.cpp 2020-10-22 13:38:14 -07:00
Andrew T. Barker 88e8e4943c Make AlgebraicCeedSolver a one-liner in ex1, ex1p
Also clean up some memory handling so this runs valgrind clean.
2020-10-19 13:01:09 -07:00
Andrew T. Barker faaf877485 CreateCeedCompositeOperatorFromBilinearForm: better error handling 2020-10-09 10:54:26 -07:00
Will Pazner 5576cd616a Compile without MPI 2020-10-07 23:39:30 -07:00
Will Pazner 49640b2210 Minor 2020-10-07 22:21:21 -07:00
Will Pazner 06e92bcfdb Allow for parallel AMG/full assemble at coarsest level 2020-10-06 23:12:38 -07:00
Will Pazner 0e3e80b412 Debugging parallel 2020-10-06 19:37:13 -07:00
Will Pazner 59e83fce2c Minor 2020-10-01 16:35:04 -07:00
Andrew T. Barker 9087c489b2 Varying coefficient in ex1p for demo. 2020-09-16 10:06:02 -07:00
Andrew T. Barker 899bac6187 CeedAlgebraicSolver: now works for VectorDiffusionIntegrator, VectorMassIntegrator 2020-09-14 12:38:18 -07:00
Andrew T. Barker 395699fde5 AMG on coarsest level works in ex1p. 2020-09-14 11:59:38 -07:00
Julian Andrej 238afadd05 more changes towards mixedint 2020-07-24 17:40:26 -07:00
Tzanio Kolev 7947109731 Merge branch 'master' into master 2020-07-07 21:19:05 -07:00
Florian Omnes 525f6d2a44 Apply code-style 2020-07-07 21:48:03 +02:00
Florian Omnes 3dd0f5c328 Tqke v-dobrev's remarks into account in ex1p.cpp 2020-07-06 23:30:20 +02:00
Florian Omnes 09c9c94916 Simplify memory management in ex1p.cpp 2020-06-30 23:00:53 +02:00
Tzanio 4a2449d87f Small adjustment in ceed-cuda skipped sample runs 2020-06-27 18:15:43 -07:00
Yohann Dudouit 63abc65aa0 Use cuda-shared in ex1p to avoid differences in autotest. 2020-06-25 15:19:36 -07:00
Stowell, Mark L 43d20869d2 Modifying new mesh names in sample runs 2020-06-07 12:08:58 -07:00
Stowell, Mark L 286888a85d Adding Gmsh example meshes and corresponding sample runs 2020-05-26 17:20:44 -07:00
Yohann Dudouit 6fe274dc94 make style 2020-02-14 16:20:22 -08:00
Yohann Dudouit 5884f96b20 Create a UsesTensorBasis function for FESpace. 2020-02-14 15:55:33 -08:00
Yohann Dudouit 59ab675334 Modifications based on A. Barker review. 2020-02-04 16:54:49 -08:00
Yohann Dudouit c7953aa673 Change AssembleDiagonal to work with libCEED.
Merge branch 'master' into yohann/okina-gpu-libceed

Conflicts:
	INSTALL
	makefile
2020-01-08 09:37:28 -08:00
Tzanio b0a79d993b Final adjustments 2020-01-05 21:50:25 -08:00
Andrew T. Barker f1b0981d34 Fix dumb mistake in examples. 2020-01-03 14:42:53 -08:00
Andrew T. Barker 9f691f5460 Address issues from reviews by Veselin and Tzanio. 2020-01-03 13:22:11 -08:00
Yohann Dudouit d504de8705 Add sample runs for libCEED in ex1, ex1p, ex6, ex6p. 2019-12-12 09:42:17 -08:00
Andrew T. Barker fa9cea9486 Rename VectorSmoother -> OperatorJacobiSmoother 2019-08-21 16:45:48 -07:00
Andrew T. Barker c0839e6e0c ex1p: implement pa jacobi preconditioning
Performance is disappointing at the moment.
2019-06-26 13:27:57 -07:00
Veselin Dobrev 75065b0ea1 Addressing some feedback from the PR. 2019-05-24 10:25:34 -07:00
Veselin Dobrev b69fd1e038 Some tweaks and additions to the MemoryManager class.
Modify the Device class to require the creation of an object in
order to use backends other then Backend::CPU. At destriction,
this object will call the Destroy() method of the MemoryManager to
deallocate any remaining registered device pointers.

In class Device, remove the method Disable() and make the method
Enable() private.

Use a global Array<double> as the buffer used by the cuda functions
for minimum and dot product.
2019-05-23 23:21:27 -07:00
Tzanio 3a860f124c Added a call to Device::Enable at the end of Device::Configure.
Updated examples to use only Device::Configure (no more calls to Enable/Disable)
2019-05-21 19:17:06 -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
camierjs e9de1fcf7b Remove '>' in front of devices tests 2019-04-15 16:05:18 -07:00
Veselin Dobrev 2d39e09c12 Further small tweaks of the examples. 2019-04-11 15:52:59 -07:00
Veselin Dobrev 678759a2d6 Updates in the BilinearForm and related classes.
Small updates in ex1, ex1p, ex6, ex6p.
2019-04-10 21:34:47 -07:00