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
Veselin Dobrev
55f0a7ec66
Updates to the mfem::Device class.
2019-04-08 16:48:56 -07:00
dmed256
37a11563fe
[Examples] Added additional okina device run examples
2019-04-02 23:00:53 -07:00
camierjs
ef636179ac
Occa all-in mode fix
...
Added order 4 for geometric kernels
2019-04-02 17:37:29 -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
927da250a5
Merge branch 'okina' into okina-bilininteg
2019-03-14 14:34:31 -07: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
Jean-Sylvain Camier
a882a4438d
Remove abstract methods in fem/bilininteg
2019-03-02 21:20:01 -08:00
artv3
ef8510cfc3
added OpenMP backend to Okina
2019-02-11 10:00:15 -08:00
Vargas, Arturo
777890ad3e
review comments
2019-01-22 16:32:55 -08:00
Vargas, Arturo
78c0931be2
fixes to compile without raja
2019-01-22 15:11:50 -08:00
Vargas, Arturo
469a60ba21
first pass at RAJA support \n
2019-01-22 14:28:50 -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
Jean-Sylvain Camier
660cb90789
Remove maps usage when unnecessary
2018-12-18 20:34:24 -08:00
Tzanio
96b62506d0
Merge branch 'okina' into okina-fem-dev
...
Conflicts:
examples/ex1.cpp
fem/bilinearform.hpp
2018-12-18 14:20:41 -08:00
Tzanio
74078d9018
Simplifications/redisign for handling PA, etc. in the BilinearForm class, while
...
maintaining full backward compatibility.
2018-12-18 14:07:10 -08:00
Jean-Sylvain Camier
4fe586f534
Use instead of Set for Cuda, Occa and PA
2018-12-15 21:02:16 -08:00
camierjs
7910fd2ee5
Resolving requested changes: renaming, NVCC logic, device setup & typo
2018-12-11 15:41:47 -08:00
camierjs
761da0f8a0
Remove dbg outputs
2018-12-05 12:46:58 -08:00
camierjs
133b2f2325
occa cpp/hpp files
2018-12-05 12:31:23 -08:00
camierjs
8a3e2735f6
occaDeviceSetup device, paths & kernels settings
2018-11-19 14:16:16 -08:00
camierjs
b8672453a4
Examples ex1 and ex1p cleanup
2018-11-08 13:04:47 -08:00
camierjs
5ab75543f1
ex1p PA host mpirun
2018-11-01 16:09:57 -07:00
camierjs
8e05a1da6f
Melding okina-wip to okina
2018-10-31 10:10:12 -07:00
camierjs
a9dc32b659
Add DOFs/sec for assembly in ex1
2018-10-30 15:02:11 -07:00
camierjs
fc58a80c09
Melding with okina-fem-dev
2018-10-30 14:23:19 -07:00
Veselin Dobrev
831490ee82
In ex1.cpp, add CG timings to output; add 'mix_iter' option.
2018-10-25 14:29:11 -07:00
camierjs
9ad1b24ced
make style
2018-10-19 18:06:44 -07:00
camierjs
947418af5c
Cleanup and 3D WIP
2018-10-19 15:31:54 -07:00
camierjs
35ffb9f53f
NVVP markers cleanup
2018-10-19 11:04:03 -07:00
camierjs
11481f51ea
NVVP markers and got rif of default fespace setup
2018-10-18 17:57:13 -07:00
camierjs
a3d6196828
Added CUB back again for timings
2018-10-18 16:57:09 -07:00
camierjs
d89d909dce
Odd order for diffusion
2018-10-18 15:22:53 -07:00
camierjs
1bc82b9b52
Add 2D diffusion kernels
2018-10-18 11:45:26 -07:00
camierjs
f977ed2376
ParPABilinearForm ifdef MFEM_USE_MPI
2018-10-17 16:17:43 -07:00
camierjs
a0b68f5c0b
Kernel'ed up to H1_TriangleElement
2018-10-16 11:50:18 -07:00
Tzanio
cf6d421b57
Support sm_30 in sequential vector dot product (for tux374, will improve later).
...
Simplify ex1 a bit.
2018-10-12 17:51:01 -07:00
camierjs
87fa7b50f8
CUDA cub dir for dot and ex1 cleanup
2018-10-12 16:32:50 -07:00