Commit Graph
101 Commits
Author SHA1 Message Date
Tzanio 6d017e33f9 Added const to the arguments of several copy assignments 2022-03-18 08:20:34 -07:00
Tzanio 297e1c1a30 Resolving a number of 'Rule of Two' warnings from LGTM 2022-03-15 10:56:54 -07:00
Tzanio 434c90fb14 Resolving LGTM errors 2022-03-14 19:48:56 -07:00
Tzanio 6fa650fef5 Fix some warnings from https://lgtm.com/projects/g/mfem/mfem 2022-03-08 10:26:23 -08:00
Tzanio 6d2530775b Extended copyright to 2022 2022-02-25 10:24:50 -08:00
Stowell, Mark L 63381b366a Renaming ostream variables from out to os 2022-01-18 15:06:46 -08:00
Stowell, Mark L f7c9bdab17 Renaming "out" and "err" local variables to avoid globals 2021-12-22 15:19:20 -08:00
Tom Stitt 320bf0a980 add new ctor to array that takes a size and a memorytype 2021-10-14 10:48:43 -07:00
Tzanio cc9fda7d8f Merge branch 'master' into form-linear-system-tweak 2021-07-15 18:29:13 -07:00
Tzanio Kolev 25e59797c1 Merge pull request #2236 from mfem/leading-underscores-dev
Remove leading underscore variables
2021-05-18 16:44:54 -07:00
Aaron Fisher e758c37691 Removed nearly all leading underscores for variable names. Every once in a while one of these will confilct with standard libraries in an oddball compiler and it's best to just avoid this problem alltogether. 2021-05-10 16:06:51 -07:00
Veselin Dobrev de32445f18 Update comments in class Array<T> that T must be a trivial type. 2021-05-04 12:20:17 -07:00
Veselin Dobrev 5712978fa1 Add a simple utitility template function AsConst(), similar to
std::as_const() in c++17.

Fix the unit test "FormLinearSystem/SolutionScope" to work with
GPUs and use independent solution GridFunctions to test the
different AssemblyLevels.
2021-05-01 18:59:40 -07:00
Veselin Dobrev bf20d26f12 First iteration of adding a static_assert for the template
type in class Array<T> -- T must be trivial type.

Fixed some of the issues uncovered by this assert.

The main issue (that currently breaks the build) is that
we use Array<T> with T = mfem::NCMesh::MeshId and its derived
classes which are not trivial-type.
2021-05-01 14:08:34 -07:00
Tzanio Kolev 8f7fd31070 Merge pull request #2034 from mfem/init-list-containers-dev
List initialization for Array/Vector/DenseMatrix
2021-02-09 08:13:30 -08:00
Josh Essman f9ff9a1004 feat: braced init-list construction for Array<T> plus test 2021-02-02 15:18:21 -08:00
Adrien M. Bernede 04fb572359 Let's forget about 2020 2021-01-26 11:55:36 -08:00
Julian Andrej d211b3c305 Simplify Array2D assignment operator 2020-09-08 16:33:59 -07:00
Julian Andrej a5a6748731 Set sizes new on Array2D assignment operator 2020-09-08 11:22:38 -07:00
Julian Andrej 7933fd9b88 Make blocknonlinearform and parblocknonlinearform work with non conforming meshes 2020-09-04 08:05:11 -07:00
Tzanio 80c787a79f minor 2020-07-14 16:15:33 -07:00
Bob Anderson 291875509d document that Array operates correctly only with POD types 2020-07-09 15:32:00 -07:00
Aaron Fisher 8dda4f7441 Numerous changes suggested by Jakub in the review. 2020-04-30 10:59:22 -07:00
Aaron Fisher add2e8a3f2 Fixed the remainder of the issues that Mark caught. 2020-04-20 16:51:30 -07:00
Aaron Fisher 2dcae3ac05 make style 2020-04-09 14:06:34 -07:00
Aaron Fisher bb2f464ca6 Merge branch 'master' into dox-update1 2020-04-08 15:15:52 -07:00
Aaron Fisher c3be660074 Merge branch 'master' into dox-update1 2020-04-07 17:25:23 -07:00
Tzanio 33740acb3e Some edits in general/ 2020-03-09 20:12:51 -07:00
Tzanio 05125e19d5 Removed a space 2020-03-09 15:36:41 -07: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
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
camierjs 34e6d92ace Merge branch 'master' into okina-mmu 2019-11-26 19:10:03 -08:00
camierjs d117979f56 Debug & Cleanup 2019-11-26 19:08:40 -08:00
camierjs f2913a40b6 No possible leaks in example and test_sedov w/ std::new 2019-11-25 20:01:15 -08:00
camierjs bf2d1eb59a Cuda, debug examples but last mt 2019-11-25 15:31:54 -08:00
Jakub Cerveny beb8ead907 Merge branch 'master' into nc-prism-dev 2019-09-18 20:23:31 +02:00
Tzanio 25ea5e9208 Merge branch 'master' into dmpi
Conflicts:
	general/device.cpp
2019-08-28 18:40:39 -07:00
camierjs 931d19578f Cleanup 2019-08-16 17:36:42 -07:00
Veselin Dobrev d967d12b39 A few tweaks to support Array<const int> objects. 2019-08-08 07:03:02 -04:00
camierjs 6414a14c07 dmpi converges 2019-08-02 10:04:50 -07:00
camierjs 0d1bb17f99 Direct MPI from Engines 2019-08-01 15:11:06 -07:00
Aaron Fisher 35d6b0a442 Merge branch 'master' into dox-update1 2019-07-03 14:20:36 -07:00
Will Pazner 089c3bfce1 Add const iterators to Array class 2019-05-30 16:43:10 -07:00
Tzanio bfab37c967 Merge branch 'master' into nc-prism-dev
Conflicts:
	CHANGELOG
2019-05-25 22:20:16 -07:00
camierjs bd08fa9592 Merge branch 'memory-dev' of github.com:mfem/mfem into memory-dev 2019-05-24 14:21:12 -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
Tzanio e36d1ea8fd Several change to (hopefully) simplify the interface:
* The parameter of Vector::UseDevice(bool) no longer has a default value. All
  the calls to UseDevice() in operator.cpp bilinearform_ext.cpp gridfunc.?pp and
  linearform.?pp have been replaced with UseDevice(true).

* Added shortcuts for the device flags of the Memory objects inside the Vector
  and Array classes:

    bool Array::UseDevice()
    bool Vector::UseDevice()

* The internal device flag in Memory::FlagMask is now called USE_DEVICE (it was
  previously called EXEC_FLAG). The accessor function for this flag have been
  renamed:

    bool Memory::GetExecFlag()     -> bool Memory::UseDevice()
    void Memory::SetExecFlag(bool) -> void Memory::UseDevice(bool)

* Further renamed:

    Memory::SyncWith         -> Memory::Sync
    Memory::SyncAliasToBase  -> Memory::SyncAlias
    Memory::SyncAliasToBase_ -> Memory::SyncAlias_

* Replaced FIXME with TODO in general/mem_manager.cpp
2019-05-24 14:01:15 -07:00
Tzanio 41cf43c88c Minor 2019-05-22 03:44:49 -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