Commit Graph
40 Commits
Author SHA1 Message Date
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 d117979f56 Debug & Cleanup 2019-11-26 19:08:40 -08:00
camierjs 5e8b4a2972 NR tests and aliases fix 2019-10-23 19:02:27 -07:00
camierjs ec429a89fe Merge branch 'master' into okina-mmu 2019-07-08 11:51:22 +02: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
Veselin Dobrev 798ded1f55 Merge branch 'master' into memory-dev 2019-05-22 23:53:04 -07:00
Veselin Dobrev 504f01aa75 Merge branch 'master' into mesh-ext-additions
Moved implementation from fem/bilininteg_ext.cpp into
fem/bilininteg_diffusion.cpp and fem/bilininteg_mass.cpp

Update the layouts used in the shared memory kernels.
2019-05-22 17:31:04 -07:00
Veselin Dobrev 534bf51466 Addressing some of the PR feedback. 2019-05-21 02:19:05 -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 bcadd7743c make style 2019-04-29 22:35:15 -07:00
camierjs 2991665849 Move all OCCA calls in occa files 2019-04-25 09:54:47 -07:00
camierjs 3e34d4b99a Cleanup, style and remove all CUdevice, CUcontext & CUstream 2019-04-19 11:00:23 -07:00
Veselin Dobrev 600f5ec4bd Some additional simplifications and tweaks in headers.
Add MFEM_CUDA_CHECK_{DRV,RT} macros.
2019-04-09 00:37:58 -07:00
camierjs 4432d66158 Remove last OCCA macro and use a map for different kernels 2019-04-08 19:34:32 -07:00
Veselin Dobrev 55f0a7ec66 Updates to the mfem::Device class. 2019-04-08 16:48:56 -07:00
Tzanio Kolev a8fa3bfab5 Merge pull request #836 from mfem/okina-occa-paths
Use MFEM_INSTALL_DIR to find occa kernel locations [okina-occa-paths]
2019-04-05 15:16:55 -07:00
Aaron Fisher 8e1fa31417 Renamed modes to mode to match the change in the OCCA library. 2019-04-05 13:45:05 -07:00
dmed256 12bf466436 Minor styling update 2019-04-05 11:15:17 -07:00
dmed256 ccd9b0280e Use MFEM_INSTALL_DIR to find occa kernel locations 2019-04-05 11:12:23 -07:00
camierjs 8a4ae9a556 Rework include hierarchy not to present cuda/occa internal headers
Separate dvector3 from dtensor because it is used in coefficient.hpp
2019-04-04 11:45:46 -07:00
camierjs ef636179ac Occa all-in mode fix
Added order 4 for geometric kernels
2019-04-02 17:37:29 -07:00
camierjs f35390f5f6 Prepend last #defines with MFEM_ 2019-03-29 16:38:44 -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 4706590237 Consolidating okina and its backends. 2019-03-21 18:55:44 -07:00
Tzanio b589caf151 Replaced __NVCC__ -> MFEM_USE_CUDA and __OCCA__ -> MFEM_USE_OCCA 2019-03-21 17:23:27 -07:00
camierjs 4a61377ddc Cleanup 2019-03-20 10:18:50 -07:00
camierjs 8d2466afb5 Cleanup warnings 2019-03-05 17:51:20 -08:00
Johann Dahm b98b48619b Renamed memory_t -> memory, alias_t -> alias mm_t -> ledger 2019-01-11 17:13:29 -08:00
camierjs fa4df4b8b3 MFEM_USE_MM, EnsureNodes and MM logic 2018-12-20 16:53:25 -08:00
camierjs 30acfd7f8f Pull new Memory Manager to get most examples working 2018-12-18 16:05:49 -08:00
camierjs 52720d061d usingPA and usingNvccCompiler 2018-12-11 17:12:14 -08:00
camierjs 7910fd2ee5 Resolving requested changes: renaming, NVCC logic, device setup & typo 2018-12-11 15:41:47 -08:00
camierjs 08065a9830 mm cleanup and solOut fix 2018-12-05 15:58:44 -08:00
camierjs e1fda2c90e remove last #ifdef in mm.cpp 2018-12-05 12:56:19 -08:00
camierjs 133b2f2325 occa cpp/hpp files 2018-12-05 12:31:23 -08:00