Andrew Ho
bcbd52a318
need workspaces and reducers to share common code
2025-03-27 15:42:53 -07:00
Andrew Ho
a0fd156f64
cleanup execution paths
...
cuda/hip/cpu/debug should take very similar execution paths now.
Added missing HostRead to Vector::operator*(const real_t*) and updated
documentation
2025-03-27 15:39:07 -07:00
Andrew Ho
67850da1f7
inline static internal device functions
2025-02-26 19:23:55 -08:00
Andrew Ho
051fc969ab
change reduction API
...
reducer.join -> reducer.Join
reducer.init_val -> reducer.SetInitialValue
Changed the default reducers Join and SetInitialValue to static member
functions, but still allow calling these as member functions for LpReducer
2025-02-26 12:39:29 -08:00
Tzanio Kolev
1f3790ba2c
Merge branch 'master' into reduction
2025-02-04 14:53:21 -08:00
Tzanio Kolev
e4c2152419
Update Copyright to 2010-2025
2025-02-03 12:17:26 -08:00
Andrew Ho
0f1880a9da
added documentation
2025-01-14 10:54:57 -08:00
Andrew Ho
242703e266
Implemented all vector norms to run on GPU
...
changed to void ptr for dynamic shared memory to reduce templates
2025-01-09 23:26:12 -08:00
Andrew Ho
7ced559b0d
GPU accelerate L1 and L-infinity norms
2025-01-09 17:13:08 -08:00
Andrew Ho
06d1cd025f
Cleanup CPU code paths for Vector reductions
2025-01-09 16:47:09 -08:00
Andrew Ho
3b5068ca79
missing header, formatting
2025-01-09 14:49:30 -08:00
Andrew Ho
6f9cbed618
fixed reduce accidentally always running the CPU backup
2025-01-08 20:26:45 -08:00
Andrew Ho
aab40b23d2
implemented reduction framework
...
still need to add RAJA implementation for dynamic shared memory
2025-01-08 19:02:12 -08:00
Tzanio Kolev
96ac1d9444
Merge pull request #4500 from mfem/vector-move
...
Fix memory leak in Vector move assignment
2024-09-25 18:41:38 -07:00
Will Pazner
542a72402c
Fix memory leak in Vector move assignment
2024-09-11 20:32:16 -07:00
Stowell, Mark L
dd127b07b5
Adding PrintMathematica to dense linear algebra objects
2024-09-05 18:02:15 -07:00
Veselin Dobrev
7be646b8ce
Fix the HIP build with single precision.
...
Fix warnings about RAND_MAX when using single precision.
Introduce an inline function `real_t rand_real()` that returns a
random number in the interval [0,1) using rand(). This function
handles better the case of single precision where the expression
`real_t(rand())/(real_t(RAND_MAX)+1)` can return 1.0f due to round-off
when rand() returns a number close to RAND_MAX.
Use `rand_real()` in a few places that before used code similar to
`real_t(rand())/(real_t(RAND_MAX)+1)`.
2024-03-24 10:43:15 -07:00
Dylan Copeland
046a874cfb
Merge branch 'master' of github.com:mfem/mfem into float
2024-02-06 10:56:41 -08:00
Tzanio Kolev
87290fbf56
Update Copyright to 2010-2024
2024-01-27 13:06:49 -08:00
Tzanio Kolev
d983b34924
Renamed ftype -> real_t
2023-12-13 12:51:43 -08:00
Dylan Copeland
c80fdc6f74
Generalized CUDA for float case, so example device runs succeed with a pcuda build.
2023-11-04 19:55:18 -07:00
Dylan Copeland
ee3a46af24
Added support for LAPACK in single-precision. Changed fmax -> std::max, etc.
2023-10-31 14:30:44 -07:00
Dylan Copeland
f106c03dd1
Generalized floating point type. So far, ex1 works for a serial build without lapack.
2023-10-09 14:19:25 -07:00
Veselin Dobrev
464c44689a
Fix HIP build issue from PR 3662 (it was not tested with HIP!)
2023-09-26 23:35:19 -07:00
Veselin Dobrev
67b1d10200
Merge pull request #3662 from mfem/vector-sum-gpu
...
Vector::Sum on device
2023-09-26 12:08:52 -07:00
Veselin Dobrev
dc99d97956
Merge pull request #3596 from mfem/sundials-hip
...
Add HIP support to SUNDIALS interface [sundials-hip]
2023-07-18 10:28:30 -07:00
Tzanio Kolev
b511127230
Merge branch 'master' into sundials-hip
2023-06-23 08:07:00 -07:00
Sebastian Grimberg
b2ad17aeaa
Merge branch 'master' into sjg/integs-reorg-dev
2023-06-15 17:54:57 -07:00
Tzanio Kolev
2bbd369771
Merge branch 'master' into tmopupdate-geomparam
2023-06-11 14:36:47 -07:00
Will Pazner and Veselin Dobrev
661f6a1268
Simplify expression in cuda and hip dot kernel
...
Co-authored-by: Veselin Dobrev <v-dobrev@users.noreply.github.com >
2023-05-23 11:51:10 -07:00
Will Pazner
26a242252d
HIP and debug device versions of Vector::Sum
2023-05-12 12:34:16 -07:00
Will Pazner
87981b9e37
CUDA implementation of Vector::Sum
2023-05-12 12:34:16 -07:00
Sebastian Grimberg
45577c6fd4
Merge branch 'master' into sjg/integs-reorg-dev
2023-05-03 16:43:21 -07:00
Veselin Dobrev
f3bd409b18
Merge pull request #3510 from mfem/qfunction-use-device
...
Set `UseDevice(true)` by default in `QuadratureFunction`
2023-04-25 17:43:19 -07:00
Sebastian Grimberg
2392f3e8e1
Merge branch 'master' into sjg/integs-reorg-dev
2023-04-20 09:36:26 -07:00
Vladimir Z Tomov
747783f1cb
Merge branch 'master' into tmopupdate-geomparam
2023-04-18 15:33:06 -07:00
Ketan Mittal
a9e9f3334d
address reviewer comments
2023-04-13 11:36:21 -07:00
Sebastian Grimberg
cb962cf1db
Minor refactor for common kernel
2023-04-10 16:35:03 -07:00
Tzanio Kolev
9d79f691d6
Merge branch 'master' into tmopupdate-geomparam
2023-04-09 13:14:44 -07:00
Veselin Dobrev
c6a5ffd3dc
Small tweaks in the memory manager.
...
In INSTALL, use more consistent formatting for the version
requirements for SUNDIALS.
Remove unused SUNDIALS includes from vector.?pp.
2023-04-08 19:15:43 -07:00
camierjs
dce372389b
Merge master in forall
2023-03-24 07:52:56 -07:00
John Camier
650f7281d9
Merge branch 'master' into qfunction-use-device
2023-03-14 09:06:47 -07:00
camierjs
6851f32854
Merge master in forall
2023-03-14 08:46:19 -07:00
Tzanio Kolev
96e00dc815
Updated COPYRIGHT to 2010-2023
2023-03-11 16:58:18 -08:00
Will Pazner
7dfe18cfd5
Call HostWrite in Vector::Load
2023-03-02 09:22:16 +01:00
Ben Chung Yee
ff993ffb1b
Loosen assert in SetSubVector as well
2023-02-28 18:05:58 -08:00
Ben Chung Yee
69d96008ae
Relax the assert requirement in AddElementVector
...
The implementation is fine if we just want the dofs.Size() entries of
elemvect, so we only need <= rather than ==
This is currently causing an issue in
ParLinearForm::AssembleSharedFaces, where the integrator returns an
elemvect of size 2x dofs, but we are only appending the local portion of
that vector.
2023-02-28 17:52:26 -08:00
Ketan Mittal
2d331e57a1
resolve merge conflict
2023-02-21 09:56:19 -08:00
camierjs
84517f4357
Cleanup
2023-02-09 16:33:45 -08:00
camierjs
018d5cfb8b
Debugging lambdas in mfem::forall
2023-02-08 15:03:34 -08:00