Will Pazner
56dfb0e67f
Support nonconforming AMR in GPU hybridization
2025-08-08 10:37:24 -07:00
Will Pazner
3474158bf6
Consistent naming of gather and scatter in L2InterfaceFaceRestriction
2025-08-08 10:37:24 -07:00
Will Pazner
8096c493e8
Support GPU hybridization + nonconforming AMR in serial
2025-08-08 10:37:24 -07:00
Will Pazner
336f1f8f35
Remove unnecessary scope
2025-08-08 07:01:54 -07:00
Veselin Dobrev
b3147f05f4
Fix a comment
2025-04-27 19:22:22 -07:00
Veselin Dobrev and Aaron Skinner
488927e6c1
Some tweaks in class HybridizationExtension
...
Co-authored-by: Aaron Skinner <aaronskinner@users.noreply.github.com >
2025-04-16 12:54:48 -07:00
Will Pazner
b1cf2dfe9a
Update copyright year
2025-02-07 16:32:57 -08:00
Will Pazner
5e2bac632f
Bugfix in HybridizationExtension::MultAhatInv
2024-10-02 18:07:09 -07:00
Will Pazner
cba6871889
Exclude essential DOFs in HybridizationExtension::FactorElementMatrices
2024-10-02 16:37:00 -07:00
Will Pazner
e199da273e
Essential BCs in HybridizationExtension::FactorElementMatrices
2024-09-27 14:08:49 -07:00
Will Pazner
0a683fdcfd
Add LocalMemory template allowing zero-sized data
2024-09-09 13:00:53 -07:00
Will Pazner
7e1d57f8b1
Add specializations for HybridizationExtension::FactorElementMatrices
2024-09-09 12:46:12 -07:00
Will Pazner
455d279c3d
Add HybridizationExtension::FactorElementMatrices
...
This changes the element matrix factorization kernel to use local memory instead
of global memory
2024-09-09 10:07:20 -07:00
Will Pazner
35041601d4
In hybridization, use i-dof and b-dof Schur complement on device
2024-09-07 13:52:20 -07:00
Will Pazner
ce48acbf30
Temporary: use ib-dof Schur complement LU factorization
2024-09-05 12:02:58 -07:00
Will Pazner
25d80486e0
Hybridization extension fixes and improvements
...
- Add HybridizationExtension::Reset to clear the element matrices
- Distinguish between interior and boundary free DOFs
2024-09-05 12:02:07 -07:00
Will Pazner
52b00a08a9
Update to new batched linear algebra interface
2024-08-16 12:29:17 -07:00
Will Pazner
a0d2d4ab3d
Implement HybridizationExtension::AssembleBdrMatrix
...
Note: this is slow, it is not the recommended way to use the
HybridizationExtension. Batched Element Assembly should be used instead.
2024-06-24 10:53:37 -07:00
Will Pazner
0a08801004
Remove unused variable
2024-06-24 10:33:57 -07:00
Will Pazner
4af565819e
Adjustments to matrix assembly interface in HybridizationExtension
2024-06-24 10:33:53 -07:00
Will Pazner
bb271475ea
GPU hybridization optimizations
...
This commit includes two optimizations:
- Use CuBLAS for batched linear algebra. Compute Ahat^{-1} Ct using
batched LU with multiple right-hand sides.
- After forming face-to-face connectivity, expose more parallelism
in matrix-matrix kernels.
2024-06-16 22:42:07 -07:00
Will Pazner
6edf26214c
Expose more parallelism in HybridizationExtension kernels
2024-06-11 17:11:08 -04:00
Will Pazner
8b8e7b47c8
Host/device memory management
2024-06-11 17:11:08 -04:00
Will Pazner
a2002aa05b
Parallelize HybridizationExtension
2024-06-11 17:11:08 -04:00
Will Pazner
045cbad46f
CUDA fixes in HybridizationExtension
2024-06-11 17:11:08 -04:00
Will Pazner
2aad85ca57
More device execution in HybridizationExtension::ConstructH
2024-06-11 17:11:08 -04:00
Will Pazner
c505933d7f
Deep copy when accessing the DOF map on device
...
Reading reading the DOF map on GPU can cause issues in other parts of the code
when using the debug device. The DOF map is accessed in other places without
explicitly calling HostRead, which fails on non-const access if the device
pointer is valid.
2024-06-11 17:11:08 -04:00
Will Pazner
5b5af88f32
HybridizationExtension::MultAhatInv on device
2024-06-11 17:11:08 -04:00
Will Pazner
51037a7724
Return lexicographic ordering from element assembly
...
Convert to native ordering in HybridizationExtension
2024-06-11 17:11:08 -04:00
Will Pazner
6083094f16
Eliminate essential DOFs when adding element matrices to hybridized system
2024-06-11 17:11:07 -04:00
Will Pazner
bb07ec79f4
Fix batched solve
2024-06-11 17:11:07 -04:00
Will Pazner
33157ddb60
Fix constraint matrices
2024-06-11 17:11:07 -04:00
Will Pazner
2a4e4b7d5a
Hybridization device bug fixes and improvements
2024-06-11 17:11:07 -04:00
Will Pazner
dd153bcf7a
Small refactor
2024-06-11 17:11:07 -04:00
Will Pazner
fb4659bc32
Don't need to distinguish between interior and boundary free DOFs
2024-06-11 17:11:07 -04:00
Will Pazner
3344049b13
Eliminate essential DOFs on device
2024-06-11 17:11:07 -04:00
Will Pazner
4a49b90052
Factor out HybridizationExtension::MultR
2024-06-11 17:11:07 -04:00
Will Pazner
18af2042c7
Use element assembly in HybridizationExtension::ConstructC
2024-06-11 17:11:07 -04:00
Will Pazner
7e589d7ee8
Add Hybridization::AssembleElementMatrices and HybridizationExtension::AssembleElementMatrices
2024-06-11 17:11:07 -04:00
Will Pazner
9ff6c53ace
Don't fall back on legacy Schur complement assembly in HybridizationExtension
...
Don't need to set up Af_offsets and Af_f_offsets
2024-06-11 17:11:07 -04:00
Will Pazner
e3b013c3e8
Device assembly of Schur complement in HybridizationExtension
2024-06-11 17:11:07 -04:00
Will Pazner
2b8ef63bc1
Construct Schur complement in HybridizationExtension
2024-06-11 17:11:07 -04:00
Will Pazner
8d1b7f061a
Expose more parallelism in hybridization kernels
2024-06-11 17:11:07 -04:00
Will Pazner
6f9c761bfa
Port some hybridization operations to forall kernels
2024-06-11 17:11:07 -04:00
Will Pazner
0ce2e7551c
Implement HybridizationExtension::ReduceRHS
2024-06-11 17:11:07 -04:00
Will Pazner
a994abd7d3
Implement A_hat^{-1} in HybridizationExtension
2024-06-11 17:11:07 -04:00
Will Pazner
4566dc299d
Minor cleanup in HybridizationExtension
2024-06-11 17:11:07 -04:00
Will Pazner
352403bfc5
Store constraint matrix in EA format in hybridization extension
2024-06-11 17:11:07 -04:00
Will Pazner
5ef5b333e5
Device execution in HybridizationExtension::ComputeSolution
...
For now, use ElementDofOrdering::NATIVE. This will need to be changed to
LEXICOGRAPHIC once device assembly of the element matrices is supported.
Also, represent hat DOF types (free interior, free boundary, essential) with
enum instead of raw integer.
2024-06-11 17:11:07 -04:00
Will Pazner
cd5feebfe5
Device execution in HybridizationExtension::Init
2024-06-11 17:11:07 -04:00