Commit Graph
67 Commits
Author SHA1 Message Date
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
Tzanio ec1ed611be Take out second size printing from ex1p 2019-04-09 12:18:03 -07:00
Veselin Dobrev 55f0a7ec66 Updates to the mfem::Device class. 2019-04-08 16:48:56 -07:00
Jean-Sylvain Camier 840e5f97c6 Add the --pa (-p) option to the ex1p, ex6 and ex6p examples 2019-04-07 11:08:45 -07:00
Tzanio c2e3f8cd00 Adding Device::Print() method that print the configured device + programming
models in order of priority.
2019-03-25 14:50:52 -07:00
Tzanio 2aee6c0b2a Adding device sample runs in examples 2019-03-22 14:57:20 -07:00
Tzanio 614c78b65e Renamed the config class to Device, and simplified its use in the examples. 2019-03-22 14:15:27 -07:00
Tzanio bb7c142ce0 Renamed linalg/device.hpp to linalg/dtensor.hpp.
Some edits in the examples.
2019-03-22 12:15:14 -07:00
camierjs 574e5f6604 Standard integrator in examples, mm to get all parallel tests working. 2019-03-14 16:34:35 -07:00
camierjs 12ba87cf41 OpenMP flags in examples, kernel orders for Q3Q2 Laghos 2019-03-07 12:25:48 -08:00
camierjs baa1d5bfb8 Add examples mode and cuda cleanup 2019-03-05 12:31:47 -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 1705a1e99a Ex1 and Laghos with DeviceTensors 2019-02-28 18:22:06 -08:00
camierjs 04ddfc3803 Coherency between all Insert/Erase vs new/delete found by mmcheck 2019-02-13 13:14:35 -08:00
camierjs fb4babf124 make style 2019-02-08 16:45:41 -08:00
camierjs 082977e0fe FiniteElementSpace pointer to reference 2019-02-06 12:21:18 -08:00
camierjs a10da74264 Merge branch 'okina-integ' into okina-examples 2019-02-06 12:20:12 -08:00
camierjs 570eda5cf6 Bring back the MFEM_GPU_CANNOT_PASS in linalg 2019-02-01 15:15:40 -08:00
camierjs 9bf0e4fda8 Remove bfi abstract class and insert diffusion/mass integrator extensions 2019-01-24 11:58:02 -08:00
Tzanio 143785de69 make style 2018-12-20 16:57:07 -08:00
camierjs fa4df4b8b3 MFEM_USE_MM, EnsureNodes and MM logic 2018-12-20 16:53:25 -08:00
Tzanio fb9f3ed514 Simplified parallel bilinear form 2018-12-20 16:26:37 -08:00
Tzanio bfed0b80a9 Minor 2018-11-09 10:33:17 -08:00
camierjs 900c4d75f4 Remove max_iter in ex1p 2018-11-08 15:12:02 -08:00
camierjs d5fa01b6b7 ex1p cleanup 2018-11-08 14:46:29 -08:00
camierjs b8672453a4 Examples ex1 and ex1p cleanup 2018-11-08 13:04:47 -08:00
camierjs e8682fac9d mpirun ex1p GPU with pull/push in Conforming Prolongation Operators 2018-11-02 11:00:17 -07:00
camierjs 5ab75543f1 ex1p PA host mpirun 2018-11-01 16:09:57 -07:00
camierjs 6439103d6a Headers for MPI and ex1p 2018-10-31 10:51:33 -07:00
camierjs 8e05a1da6f Melding okina-wip to okina 2018-10-31 10:10:12 -07:00
camierjs 9ad1b24ced make style 2018-10-19 18:06:44 -07:00
camierjs 2d7ee029d3 Cleanup outputs 2018-10-16 18:17:17 -07:00
camierjs cbb950877e mesh => pmesh SetCurvature 2018-10-16 17:52:29 -07:00
camierjs 7671a4dbdb Ex1p cleanup 2018-10-16 17:46:16 -07:00