Tobias Meyer Andersen
d1e5a69476
Add new MP scheme to GPU ILU and DILU
2025-01-10 16:38:14 +01:00
Kjetil Olsen Lye
119282bd6d
Merge pull request #5674 from multitalentloes/add_gpudilu_mixed_precision
...
Add gpudilu mixed precision
2025-01-07 14:57:17 +01:00
jakobtorben
0290fd0e9f
Add support for partial resetup with AMGX
2024-12-18 13:30:02 +01:00
jakobtorben
5dd70eb8bb
Add AMGX preconditioner
2024-12-18 13:30:02 +01:00
Arne Morten Kvarving
3b67d6dc54
Small fixes for hypre integration ( #1 )
...
* use appropriate hypre init function
* properly handle hypre without device support
* don't add hypre preconditioner to factory if scalar type does not match
2024-12-10 17:08:18 +01:00
jakobtorben
56897e6d11
Guard Hypre preconditioner creation with HAVE_HYPRE macro
2024-12-10 17:08:18 +01:00
jakobtorben
9d47aa605e
Add property tree to constructor
2024-11-27 17:09:14 +01:00
jakobtorben
10f7a85532
Add Hypre preconditioner
2024-11-27 17:09:14 +01:00
Tobias Meyer Andersen
1d49eadd15
add mixed precision option to gpudilu class
2024-10-14 16:17:56 +02:00
Kjetil Olsen Lye
9bc7155cf3
Merge pull request #5552 from multitalentloes/add_mixed_precision_ilu0_and_dilu_on_gpu
...
Add mixed precision ilu0 on gpu
2024-10-10 13:03:14 +02:00
Vegard Kippe
099dabd8a9
Actually update the criterion to use fixed ordering..
2024-10-04 00:09:04 +02:00
Tobias Meyer Andersen
55c20dbddd
Implement mixed precision GPU ILU0
2024-09-30 16:24:49 +02:00
Tobias Meyer Andersen
0bab02f809
update name of opm cuilu0 to match gpuistl
2024-09-13 09:15:19 +02:00
Kjetil Olsen Lye
f97389d1b5
Merge pull request #5554 from multitalentloes/refactor_cuistl
...
refactor cuistl to gpuistl
2024-08-26 09:55:13 +02:00
Tobias Meyer Andersen
d14fed904a
fix typo
2024-08-23 14:42:37 +02:00
Tobias Meyer Andersen
fba1858f42
refactor cuvector
2024-08-22 15:20:20 +02:00
Tobias Meyer Andersen
0c1ea3ee4d
refactor cuseqilu0
2024-08-22 15:07:53 +02:00
Tobias Meyer Andersen
158619083e
refacor cujac
2024-08-22 14:40:23 +02:00
Tobias Meyer Andersen
d17ee3315b
refactor CuDILU
2024-08-22 14:28:33 +02:00
Tobias Meyer Andersen
67bc9e8f34
refactor CuBlockPreconditioner
2024-08-22 13:58:35 +02:00
Tobias Meyer Andersen
3f4ae4ddf4
refactor cuistl namespace
2024-08-22 13:52:50 +02:00
Arne Morten Kvarving
1cc27754d8
FlexibleSolver: optionally instantiate for float
...
PreconditionerFactory: optionally instantiate for float
these need to go in the same commit due to circular dependencies
2024-08-21 09:34:28 +02:00
Tobias Meyer Andersen
7a30aaa46e
Add an OPM implementation of ILU0
...
improve file structure in cuistl
run clang-format
2024-08-09 15:52:42 +02:00
Tobias Meyer Andersen
3cb8298e3a
Pick blocksize automatically for CUDA cards.
...
Calibrate the best size for AMD cards.
This will be improved in a following PR
2024-06-28 14:36:00 +02:00
Kjetil Olsen Lye
9b414419e7
Merge pull request #5404 from multitalentloes/add_dilu_LU_splitting
...
Add cudilu lu splitting
2024-06-27 14:30:45 +02:00
andrthu
6c62753803
Ghost entries skipped for ilu apply and GL operator in AMG/CPR hierarchy.
...
This works since the ghost entries are the last entries
2024-06-07 14:40:53 +02:00
Tobias Meyer Andersen
9b2f41ad96
Add option to split the matrix into diagonal,
...
strictly lower and stricly upper part.
Add tests checking that the result matches
the CPU dilu implementation.
2024-06-05 13:35:54 +02:00
Arne Morten Kvarving
b9ee637d78
PreconditionerFactory: use Scalar type from operator
2024-05-24 14:03:28 +02:00
Arne Morten Kvarving
b7bc7b7bf5
Pressure(Bhp)TransferPolicy: template Scalar type
2024-05-24 14:03:28 +02:00
Tobias Meyer Andersen
e9d6b326cc
Add HIP support for AMD GPUs
...
This commits adds cmake functionality that can
hipify the cuistl framework to support AMD GPUs.
Some tests have been written as HIP does not mirror
CUDA exactly.
CONVERT_CUDA_TO_HIP is the new CMAKE argument.
CMAKE version is increased to include HIP
as a language (3.21 required).
A macro is added to create a layer of indirection
that will make only cuistl files that have been
changed rehipified.
Some BDA stuff is extracted to make sure CUDA
is not accidentally included.
2024-05-06 15:56:53 +02:00
Tobias Meyer Andersen
296f41ecc0
Make function that infers templates, avoid use of new
2024-04-16 15:39:17 +02:00
Tobias Meyer Andersen
9ab15e3ff9
bugfix: make famg reconstruct on update
2024-04-15 16:24:43 +02:00
Tobias Meyer Andersen
0079a17889
re-enable DuneILU for multiprocess
2024-04-15 16:06:37 +02:00
Tobias Meyer Andersen
e275c637f5
Proof Of Concept generic Preconditioner with update
2024-04-15 15:27:37 +02:00
Tobias Meyer Andersen
2a7251efc5
change pointers to const references
2024-04-12 15:39:35 +02:00
Tobias Meyer Andersen
8177400602
clang-format PreconditionerFactory_impl
2024-04-11 15:09:09 +02:00
Tobias Meyer Andersen
1685f928f7
add RebuildOnUpdate for single process preconditioners. Also refactor wrapPreconditioner to match type of wrapper
2024-04-11 15:07:17 +02:00
Tobias Meyer Andersen
6cfe647c81
clean up and fix multiprocess RebuildOnUpdate wrapper
2024-04-11 15:07:17 +02:00
Tobias Meyer Andersen
71d58afc0e
Add a valid wrapper through OwningBlockPreconditioner that rebuiilds the preconditioner on updates. Still has excessive matrix copy and misses a wrapper function
2024-04-11 15:07:17 +02:00
Tobias Meyer Andersen
6b73856fd9
update comments
2024-04-11 15:07:17 +02:00
Tobias Meyer Andersen
df401e52b8
add jac smoother
2024-04-11 15:07:17 +02:00
Tobias Meyer Andersen
6c0ee61d6f
add ILUn smoother
2024-04-11 15:07:17 +02:00
Tobias Meyer Andersen
fd6319fe38
add SSOR smoother
2024-04-11 15:07:17 +02:00
Tobias Meyer Andersen
f6c539f819
add SOR smoother
2024-04-11 15:07:17 +02:00
Tobias Meyer Andersen
b02e001ae3
add gs preconditioner for amg and kamg
2024-04-11 15:07:17 +02:00
Tobias Meyer Andersen
030720f855
add dune ILU0 for multiprocess simulations
2024-04-11 15:07:17 +02:00
Tobias Meyer Andersen
8b5ab973e2
Add dune ILU when using only one process
2024-04-11 15:07:17 +02:00
Bård Skaflestad
859db850c0
Merge pull request #5111 from lisajulia/feature/deterministic-indicesSyncer
...
Construct the matrices in the AMG hierarchy with deterministic indices.
2024-01-29 13:37:54 +01:00
Lisa Julia Nebel
74608147c0
Add comment on trailing return type with decltype that is used for detecting the existence of setUseFixedOrder member function
2024-01-26 14:29:15 +01:00
Tobias Meyer Andersen
4b0dd54f15
Add CUDA implementation of the DILU
...
preconditioner. Uses graph coloring to exploit
parallelism in upper and triangular solves when
computing a diagonal approximate inverse of a
sparse matrix. Supports blocksizes up to 3.
2024-01-25 14:26:38 +01:00