Commit Graph
318 Commits
Author SHA1 Message Date
camierjs 6148db99fe Merge branch 'master' into laghos 2020-01-06 10:47:24 -08:00
Tzanio 0be36fd40e Final edits 2020-01-02 10:30:31 -08:00
Tzanio ab21b64864 minor 2019-12-28 15:55:14 -08:00
Tzanio KolevandDavid Medina cf7a33c41f Update linalg/vector.cpp
Co-Authored-By: David Medina <dmed256@gmail.com>
2019-12-28 15:52:54 -08:00
camierjs 7f719b5d2c Cleanup 2019-12-19 10:36:05 -08:00
camierjs 81d3d81223 Merge branch 'master' into laghos 2019-12-17 12:51:17 -08:00
camierjs 47f2aa0de7 Merge branch 'master' into okina-mmu 2019-12-16 17:59:40 -08:00
camierjs 861823b6d3 Merge branch 'master' into corona 2019-12-16 10:09:26 -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
camierjs d117979f56 Debug & Cleanup 2019-11-26 19:08:40 -08:00
camierjs bf2d1eb59a Cuda, debug examples but last mt 2019-11-25 15:31:54 -08:00
Veselin Dobrev 6ab9884606 Remove some temporary debugging code. 2019-11-21 19:37:18 -08:00
camierjs 0c4bf32b50 Merge branch 'master' into corona 2019-10-25 10:39:22 -07:00
camierjs 09c855eea1 Merge branch 'master' into laghos 2019-10-25 10:33:58 -07:00
camierjs 73ed1b8db7 Merge branch 'master' into okina-mmu 2019-10-25 10:31:58 -07:00
camierjs e51605f6c5 Vector Read fix 2019-10-23 21:35:16 -07:00
camierjs 5e8b4a2972 NR tests and aliases fix 2019-10-23 19:02:27 -07:00
camierjs 4e85d8feab CI tests fix 2019-10-22 10:26:36 -07:00
camierjs 97d4bb3db1 All Laghos MMU,MPI checks 2019-10-18 11:38:07 -07:00
camierjs 8e3649ae62 Laghos MMU, MPI dbg 2019-10-17 19:29:33 -07:00
camierjs 1027dc7074 Cleanup 2019-10-15 19:22:59 -07:00
camierjs 16bf560d6b Cleanup 2019-10-15 16:45:51 -07:00
camierjs 0028998993 Cleanup 2019-10-10 16:01:28 -07:00
camierjs e91c66dd43 Eigen from Laghos 2019-10-07 15:24:11 -07:00
camierjs 840158ddc7 Merge branch 'master' into okina-mmu 2019-09-23 10:39:06 -07:00
camierjs 8ddd828872 Add hipVectorMin and hipVectorDot 2019-09-10 15:08:46 -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
camierjs 454c1b41a3 makefile hip targets updates and warning fix 2019-08-21 18:25:01 -07:00
Tzanio 5b9ca638ec minor 2019-08-21 17:19:34 -07:00
camierjs 762613713c rocm => hip 2019-07-24 17:55:53 -07:00
camierjs 5bf6cad024 GPU, CUDA, ROCM calls 2019-07-23 13:29:14 -07:00
camierjs 2b9db87f53 ex1 @ GPU||Debug device 2019-07-18 11:18:11 -07:00
Veselin Dobrev 50d95d0618 Various small fixes in SUNDIALS-related code. 2019-07-12 17:58:32 -07:00
camierjs 339febddbc Registration & results 2019-07-12 11:47:17 +02:00
camierjs bd8d6c090b Illegal memory access caught 2019-07-11 11:41:43 +02:00
camierjs d133d6c115 WIP on ex1 with debug device 2019-07-09 17:09:38 +02:00
Veselin Dobrev a36f51db5b Update the methods:
* Vector::Sum() and
 * ParGridFunction::ExchangeFaceNbrData()

to work when the data is not on the host when called.
2019-06-18 19:12:50 -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
camierjs 689fb17113 Vector::operator* tries 2019-05-28 21:07:04 -07:00
Tzanio 2c1d07c127 Merge branch 'memory-dev' of github.com:mfem/mfem into memory-dev 2019-05-24 15:41:51 -07:00
Tzanio 342fb5058f Renamed MFEM_FORALL_IF -> MFEM_FORALL_SWITCH 2019-05-24 15:41:47 -07:00
camierjs c78de477bf Remove !MFEM_USE_SUBVECTOR_KERNELS code sections 2019-05-24 15:33:08 -07:00
Tzanio 0401024513 Minor. 2019-05-24 15:32:24 -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
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 41cf43c88c Minor 2019-05-22 03:44:49 -07:00
Veselin Dobrev 534bf51466 Addressing some of the PR feedback. 2019-05-21 02:19:05 -07:00