Commit Graph
28 Commits
Author SHA1 Message Date
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
Veselin Dobrev 8142e822d8 Fix non-CUDA builds. 2019-04-22 16:41:09 -07:00
Veselin Dobrev 10b3988449 Reworked the macro MFEM_CUDA_CHECK:
* It always performs the error check, no just in debug mode.
* All 'cuda*' runtime calls are now wrapped with this macro.
2019-04-22 15:17:04 -07:00
camierjs 3e34d4b99a Cleanup, style and remove all CUdevice, CUcontext & CUstream 2019-04-19 11:00:23 -07:00
camierjs d3a1685cb6 Remove CU driver calls 2019-04-17 17:36:43 -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
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 f41a0e90a9 Makefile cross-compiler, examples 1, 1p, 6, 6p and Laghos on GPU+MPI 2019-03-15 18:28:35 -07:00
camierjs a108acf9aa Cleanup: cuda, okina header 2019-03-06 11:19:54 -08:00
camierjs 8d2466afb5 Cleanup warnings 2019-03-05 17:51:20 -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 95502c7754 Move all RAJA stuff to raja.hpp 2019-02-13 11:55:22 -08:00
camierjs ebd8ed8ffe Cuda assert cleanup 2019-01-07 12:00:43 -08:00
camierjs cdada1a117 cuCheck, MFEM_FORALL macro and config ngpu fix 2019-01-07 11:53:43 -08:00
camierjs 4f557c0b1b Melding toward Okina 2019-01-03 20:20:49 -08:00
camierjs 148929e807 mm, occa, cuda and device 2018-12-19 16:16:33 -08:00
camierjs 8b85db1e3b mm Pull/Push only refresh (w/o setting host bool), NewNodes Pull 2018-12-17 12:00:30 -08:00
camierjs f9aa5db438 mm not nvcc default return 2018-12-13 09:41:08 -08:00
camierjs 450905d58a Cleanup and mm rewrite 2018-12-12 17:30:13 -08:00
camierjs cbc2671e5d Xor Alias and Known 2018-12-11 18:41:56 -08:00
camierjs 961b20e711 Laghos Sedov GPU, same results 2018-12-10 20:35:53 -08:00
camierjs 0c67eab141 remove memory manager XS shifts 2018-12-05 13:38:51 -08:00
camierjs 1f2f0d4002 Cleanup 2018-12-05 12:37:39 -08:00
camierjs 133b2f2325 occa cpp/hpp files 2018-12-05 12:31:23 -08:00
Jean-Sylvain Charles Camier e9b5df1f48 Importing one OKL file 2018-11-18 11:34:07 -08:00