Arne Morten Kvarving
7eba120662
avoid including MultisegmentWellContribution in WellContributions.hpp
2024-04-17 08:11:47 +02:00
Atgeirr Flø Rasmussen
d3b22323f1
Merge pull request #5284 from multitalentloes/fix_fast_amg_wrapper
...
Fix fast amg wrapper and generalize RebuildOnUpdatePreconditioner
2024-04-17 08:05:02 +02:00
Tobias Meyer Andersen
296f41ecc0
Make function that infers templates, avoid use of new
2024-04-16 15:39:17 +02:00
Arne Morten Kvarving
7311948b89
openCl preconditioners: make argument orders consistent
2024-04-16 09:39:56 +02:00
Arne Morten Kvarving
34e94256be
Preconditioner: replace if nest with switch
2024-04-16 09:39:48 +02:00
Arne Morten Kvarving
cc5f362fdc
changed: make PreconditionerType an enum class
...
this to avoid symbol clashes with the implementations.
while at it rename it to Type as Preconditioner::PreconditionerType is
redundant
2024-04-16 09:06:13 +02:00
Tobias Meyer Andersen
9e7b7b3e40
clang-format PreconditionerWithUpdate.hpp
2024-04-15 16:28:37 +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
d97d7ba732
add some documentation
2024-04-15 15:41:58 +02:00
Tobias Meyer Andersen
e275c637f5
Proof Of Concept generic Preconditioner with update
2024-04-15 15:27:37 +02:00
Atgeirr Flø Rasmussen
4f53ea512b
Merge pull request #5028 from multitalentloes/update_prec_factory
...
Update prec factory
2024-04-15 14:09:58 +02:00
Tobias Meyer Andersen
b45c6cebbe
update variable names
2024-04-15 10:36:05 +02:00
Tobias Meyer Andersen
2815a8db86
update variable and template names
2024-04-15 08:32:18 +02:00
Arne Morten Kvarving
0aacefeeec
adjust to Parameters::isSet change
2024-04-15 08:12:05 +02:00
Razvan Nane
cc1dfca9e0
add support for single thread copy
2024-04-12 20:17:38 +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
3d9b3a3013
clang-format PreconditionerWIthUpdate
2024-04-11 15:07:17 +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
Arne Morten Kvarving
0161d69660
adjust to removal of EWOMS_GET_PARAM
2024-04-05 14:02:28 +02:00
Arne Morten Kvarving
6fba1a95c9
adjust to removal of EWOMS_REGISTER_PARAM
2024-04-05 12:24:48 +02:00
Arne Morten Kvarving
fdab87d336
Merge pull request #5255 from BigDataAccelerate/fix_dep_rocm_ocl
...
Bug fix: remove dependencies for rocm & cuda on opencl to run block Jacobi ILU
2024-04-05 12:02:30 +02:00
Arne Morten Kvarving
46c3402eba
adjust to EWOMS_PARAM_IS_SET macro removal
2024-04-03 19:54:45 +02:00
Razvan Nane
b0157def17
enable multithreaded copy only when openmp found
2024-04-03 15:29:32 +02:00
Razvan Nane
411a3978b6
OPT: overlap create jacMat with copy to GPU
2024-03-15 11:25:38 +01:00
Razvan Nane
0fcad4b0fc
Bug fix: remove dep rocm & cuda on opencl for blockJacobi ILU
2024-03-13 16:47:55 +01:00
Markus Blatt
0c87b3386a
Merge pull request #5159 from akva2/quell_rocsparse_warnings
...
Quell rocsparse warnings
2024-03-08 16:44:40 +01:00
Arne Morten Kvarving
6949abbf0d
move ebos/eclbasevanguard.hh to opm/simulators/flow
2024-03-08 12:39:48 +01:00
Arne Morten Kvarving
f95c114716
move ebos/alucartesianindexmapper.hh to opm/simulators/flow
2024-02-23 15:27:28 +01:00
Arne Morten Kvarving
991f89816e
rename EclWellModel property to WellModel
2024-02-23 10:24:53 +01:00
Arne Morten Kvarving
b389e57d87
ISTLSolver: fix profiling timer names
2024-02-06 14:12:02 +01:00
Arne Morten Kvarving
917f0bca72
ISTLSolver: remove reference to ebos in comments
2024-02-06 14:03:38 +01:00
Arne Morten Kvarving
7a7d4435a4
WellOperators.hpp: fix comment
2024-02-06 14:03:08 +01:00
Arne Morten Kvarving
a30ed77094
quell rocsparse warnings
2024-02-02 22:50:40 +01:00
Arne Morten Kvarving
b6e47ab1e7
ISTLSolverEbos: rename to ISTLSolver
2024-02-01 15:49:40 +01:00
Arne Morten Kvarving
5bca6c2703
ISTLSolverEbosBda: rename to ISTLSolverBda
2024-02-01 15:49:40 +01:00
Bård Skaflestad
71b383d8e7
Merge pull request #5142 from akva2/blackoilmodel_remove_ebos
...
BlackoilModel: remove Ebos from class names
2024-02-01 12:34:12 +01:00
Arne Morten Kvarving
dd92a7446c
BlackoilModelParametersEbos: rename to BlackoilModelParameters
2024-02-01 09:05:40 +01:00
Arne Morten Kvarving
ce4f138a92
header cleanups
2024-02-01 09:04:21 +01: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
6dfa9b1b76
Add comment on trailing return type with decltype that is used for detecting the signature of the coarsen function of the Dune::Amg::IndicesCoarsener
2024-01-26 14:29:19 +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
Lisa Julia Nebel
5b50a4801f
Construct the matrices in the AMG hierarchy (created in the twolevelmethod) with deterministic indices if possible.
...
The function 'coarsen' for the coarser level is called with the respective flag if it is defined. Then the matrices in the AMG hierarchy are constructed with deterministic indices.
If it is not defined yet, it is called without the flag and the matrices in the AMG hierarchy are constructed with non-deterministic indices.
2024-01-26 13:51:41 +01:00
Atgeirr Flø Rasmussen
2626fbb84b
Merge pull request #5002 from multitalentloes/add_cudilu
...
Add cudilu
2024-01-25 15:43:39 +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
Lisa Julia Nebel
60b0a33bd4
Construct the matrices in the AMG hierarchy (created in the PreconditionerFactory) with deterministic indices if possible.
...
The function 'setUseFixedOrder' is called if it is defined and the matrices in the AMG hierarchy are constructed with deterministic indices.
If it is not defined yet, it is not called and the matrices in the AMG hierarchy are constructed with non-deterministic indices.
2024-01-25 11:32:09 +01:00
Atgeirr Flø Rasmussen
7c2f01996a
Add cpr_trueimpesanalytic option for LinearSolver parameter.
2024-01-24 13:03:18 +01:00
Atgeirr Flø Rasmussen
ae838d0b84
Merge pull request #5103 from hnil/trueimpesanalytic
...
add analytic true impes
2024-01-18 22:51:57 +01:00
hnil
bec5a233eb
removed more warings and a bug for strange index settings
2024-01-18 18:25:50 +01:00
hnil
cced62edc0
fixed warning
2024-01-18 18:18:42 +01:00
hnil
be27e2388d
fixed name in cpp file
2024-01-18 11:40:59 +01:00
hnil
1900379343
changes to adjust to review comments
2024-01-18 10:37:48 +01:00
Atgeirr Flø Rasmussen
a52bcf51b1
Initialize the communication object in initialize().
2024-01-17 12:39:52 +01:00
hnil
61329532a7
-- add true impes
...
-- moved code to hpp to avoid unnesseary logic
2024-01-12 15:33:09 +01:00
Arne Morten Kvarving
f2a2fc2938
add missing include
2023-11-22 13:18:56 +01:00
Tobias Meyer Andersen
ee95223b27
Use std::optional to only allocate reordered matrix when using multiple threads
2023-11-22 10:10:29 +01:00
Tobias Meyer Andersen
e22f4399a0
fix typo
2023-11-22 09:16:43 +01:00
Tobias Meyer Andersen
5f6c97ff3b
add OpenMP parallelized version of DILU.
...
Implement graphcoloring to expose rows in level sets that that can be
executed in parallel during the sparse triangular solves.
Add copy of A matrix that is reordered to ensure continuous memory reads
when traversing the matrix in level set order.
TODO: add number of threads available as constructor argument in DILU
2023-11-21 15:41:53 +01:00
Tobias Meyer Andersen
e2a531dd65
replace loop with std function, remove print from test
2023-11-21 09:52:48 +01:00
Tobias Meyer Andersen
3cd1873771
add graph coloring
2023-11-20 16:57:56 +01:00
Tobias Meyer Andersen
54b7f9c44f
GraphColoring.hpp: cosmetics
2023-11-20 13:06:40 +01:00
Tobias Meyer Andersen
9309f96d8f
GraphColoring.hpp: reorder headers
2023-11-20 13:06:34 +01:00
Antonella Ritorto
166c31d5f8
Bugfix. Deprecated getCollectiveComminication warning
2023-10-31 08:40:46 +01:00
Razvan Nane
45d8750e93
Fix formatting and indentation
2023-10-26 09:45:48 +02:00
Razvan Nane
cd63cc83c2
Remove redundant cpu decomposition when using gpu
2023-10-26 06:40:06 +02:00
Bård Skaflestad
7a34c20120
Remove Leftover Debug Printout
...
This information already goes to the .DBG file so there's no need
to echo it to the main console as well.
2023-10-24 09:51:12 +02:00
jakobtorben
ab0ca76194
Add DILU preconditioner
2023-10-18 14:30:17 +02:00
Atgeirr Flø Rasmussen
8b480a0a49
Merge pull request #4852 from multitalentloes/cujac_preconditioner
...
Cujac preconditioner
2023-10-16 12:46:29 +02:00
Tobias Meyer Andersen
8b396fa3dc
Update test properties of new tests using CUDA. Avoid comparison causing new warning
2023-10-16 11:31:00 +02:00
Tobias Meyer Andersen
533c5a1a3e
Combine new diagonalMV kernels into one using
...
template arguements.
Use more consistent naming conventions.
Change printing function of CuVector from output
stream overload to toDebugString().
2023-10-16 09:53:02 +02:00
Markus Blatt
e9bb5d0539
Merge pull request #4582 from Tongdongq/rocsparse-separate-wells
...
RocsparseSolver separate wells
2023-10-13 15:33:03 +02:00
Tobias Meyer Andersen
c809819cbd
Fuse kernels to optimize performance and update
...
the tests and documentation.
2023-10-13 10:31:17 +02:00
Tobias Meyer Andersen
fbeb006d45
Simplify and optimize the Jacobi preconditioner
...
apply. Fix .h and .cpp mistakes in cmake.
2023-10-13 10:31:17 +02:00
Tobias Meyer Andersen
1e4b0e97ee
Add jacobi preconditioner that runs on the GPU.
...
Implement calls to cuBlas, cuSparse and implement necessary
CUDA kernels to perform a single iteration of the jacobi preconditioner.
Add tests that verify new kernels and the preconditioner in its totality.
The preconditioner is verified on 2x2 and 3x3 blocks, which as of now
are the only supported sizes. 1x1 are not supported because cuSparse
does not support it.
2023-10-13 10:31:17 +02:00
Arne Morten Kvarving
3e047ab9cd
Merge pull request #4927 from blattms/spelling-fix1
...
Fixed spelling: achived -> achieved
2023-10-13 08:25:07 +02:00
Markus Blatt
50815209a0
Fixed spelling: achive -> achieved
2023-10-12 22:01:12 +02:00
Kjetil Olsen Lye
628b69c83c
Casting to support {fmt} v10.
...
Due to issues with anonymous enums, newer versions of {fmt} (v10) do not seem to handle the implicit conversion from enum value to `int`. Hence we need a cast for `fmt::format`-calls involving `Matrix::block_matrix::rows` (or `cols`) to compile. This seems to only be relevant for one part of the code.
For an isolated example, see https://github.com/kjetilly/fmt_fails_with_enum
2023-10-10 10:58:21 +02:00
Kjetil Olsen Lye
df0fdbbd0b
Removed call to deprecated cudaThreadExit
...
`cudaThreadExit` has been deprecated in favour of `cudaDeviceReset`, which is already being called.
2023-10-09 10:49:31 +02:00
Razvan Nane
dcc3bd70f0
Reinclude changes lost in adaptation to ISTLSolverEbosBda
2023-10-08 08:58:35 +02:00
Razvan Nane
e4abc12a05
Adapt rocsparse separate wells PR to changes made to ISTLSolverEbos
2023-10-08 08:58:35 +02:00
Razvan Nane
177a46366d
Add <rocsparse> to accelerator-mode option in doc
2023-10-08 08:58:35 +02:00
Tong Dong Qiu
b2fea287bc
Print time to apply wells for verbosity>=3
2023-10-08 08:58:35 +02:00
Tong Dong Qiu
abce3a897c
Only compile HIP kernel with hipcc
2023-10-08 08:58:35 +02:00
Tong Dong Qiu
ef6be5859e
Restore old HAVE_CUDA value
2023-10-08 08:58:35 +02:00
Tong Dong Qiu
684397129b
Make sure rocsparse can get wellcontributions
2023-10-08 08:58:35 +02:00
Tong Dong Qiu
cb20d041c3
Allow WellContributionsRocsparse to be used
2023-10-08 08:58:35 +02:00
Tong Dong Qiu
50ccea0880
Allow rocsparseSolver to choose deviceID
2023-10-08 08:58:35 +02:00
Tong Dong Qiu
9bef10a018
Set hipStream for rocsparseWellcontributions
2023-10-08 08:58:35 +02:00
Tong Dong Qiu
a49aaf53d2
Add new files rocsparseWellContributions
...
With HIP stdwell_apply kernel
MultisegmentWells are done on CPU via UMFPack
2023-10-08 08:58:35 +02:00
Justin Chang
48a4ddec3a
Revert hipStreamSynchronize placement in rocsparseSolverBackend.cpp
2023-10-06 09:38:44 -05:00
Justin Chang
b5d8c3b5f0
Added detailed HIP exception handling
2023-10-03 15:40:20 -05:00
Justin Chang
54d82d349e
Removed OpenCL dependencies from rocsparse backend
2023-10-03 15:40:20 -05:00
Arne Morten Kvarving
eedfafe423
fixed: quell unused variable warning without OpenCL
2023-09-26 09:11:48 +02:00
Atgeirr Flø Rasmussen
e4e32defc4
Fix various errors and clean up the ISTLSolvers.
...
Much of this went undiscovered because the ISTLSolverEbosBda class
was not really used before due to the typo disabling it.
2023-09-25 09:03:59 +02:00
Atgeirr Flø Rasmussen
ad35b2a72f
Adapt to changes made to ISTLSolverEbos.
2023-09-21 12:41:03 +02:00
Atgeirr Flø Rasmussen
7aa33058c4
Fix typo in macro usage.
2023-09-21 11:39:14 +02:00
Atgeirr Flø Rasmussen
cede2b4add
Improving generality and output of hybrid approach.
2023-09-04 13:13:52 +02:00
Atgeirr Flø Rasmussen
efa50c3640
Check for multiple solvers before trying to use them.
2023-09-01 13:18:09 +02:00
Atgeirr Flø Rasmussen
758b4bbdb6
Use "hybrid" linear solver choice to get multi-option.
2023-09-01 13:18:09 +02:00
Franz Georg Fuchs
6ee90b3f8f
Support for multiple linear solvers.
2023-09-01 13:18:06 +02:00
Atgeirr Flø Rasmussen
91c2e12a25
Document new input parameter.
2023-09-01 11:19:36 +02:00
Atgeirr Flø Rasmussen
99fca58dca
Improvements from review.
2023-09-01 08:48:11 +02:00
Atgeirr Flø Rasmussen
151eac9110
Copy overlap data after local solve.
...
Also update intensive quantities in overlap afterwards.
2023-08-31 13:01:50 +02:00
Atgeirr Flø Rasmussen
961a5fa482
Avoid collective copyParValues() call in serial run.
2023-08-31 13:01:50 +02:00
Atgeirr Flø Rasmussen
e1dd2bf148
Add forceSerial parameter to ISTLSolverEbos.
...
Used for single-domain solves.
2023-08-31 13:01:50 +02:00
Arne Morten Kvarving
7562b5b70f
ISTLSolverEbosBda: mark parameter maybe_unused
2023-08-15 12:18:41 +02:00
Arne Morten Kvarving
e0c664d162
BdaBridge: mark some more parameters maybe_unused
2023-08-15 12:18:41 +02:00
Arne Morten Kvarving
92fa9577da
consistently use std::size_t
2023-08-15 09:32:10 +02:00
Bård Skaflestad
e59a53820a
Bring WellContributions Declaration in Scope
...
This restores the build on machines which enable the BDA bridge,
but which do not have OpenCL installed.
2023-08-11 17:04:24 +02:00
Arne Morten Kvarving
0883d46d50
rename ISTLSolverEbosWithGpu to ISTLSolverEbosBda
...
BDA also includes CPU (amgcl) solvers
2023-08-11 11:00:07 +02:00
Arne Morten Kvarving
896cb8484d
added: option to disable the BDA solvers
2023-08-11 11:00:07 +02:00
hnil
07fb18422d
hopefully fixed compilation and linking problems with WITHGPU
2023-08-11 11:00:07 +02:00
hnil
63b9b01671
fixed includegards
2023-08-11 11:00:07 +02:00
hnil
68322c06e5
added forgotten GPU versions
2023-08-11 11:00:07 +02:00
hnil
d623695d2a
- moded all bda spesific tings to separete class
2023-08-11 11:00:07 +02:00
hnil
66ff026008
remove use of hidden private defines for poly and alugrid
...
- fixed polygrid
- renamed executables to include blackoil in name
2023-08-08 15:30:05 +02:00
Atgeirr Flø Rasmussen
840dd9de90
Merge pull request #4752 from hnil/linearsolver_timing
...
-- added more timing to get better coverage of cpr solver
2023-07-27 15:14:10 +02:00
Atgeirr Flø Rasmussen
7c9d57cc84
Add code path for the no-MPI case.
2023-07-25 13:20:16 +02:00
Atgeirr Flø Rasmussen
0d2d8dfe21
Merge pull request #4734 from atgeirr/add-linear-system-size-printout
...
Add output of linear system sizes to DBG file.
2023-07-25 10:51:29 +02:00
Atgeirr Flø Rasmussen
30a9e02998
Add output of linear system sizes to DBG file.
2023-07-25 09:43:51 +02:00
hnil
c065d34d0e
-- added more timing to get better coverage of amg solver
...
-- added includes needed
2023-07-24 12:28:08 +02:00
Arne Morten Kvarving
db41bfb55c
ISTLSolverEbos: add missing include
2023-07-04 15:25:47 +02:00
Atgeirr Flø Rasmussen
cbfe25d0f0
Add NLDD nonlinear solver option.
2023-06-23 16:24:18 +02:00
Arne Morten Kvarving
c8924d67ca
PreconditionerAdapter: use override
2023-06-21 08:59:03 +02:00
Atgeirr Flø Rasmussen
a2b96eaa8f
Clean up linear solver parameters and ISTLSolverEbos.
2023-06-11 11:51:59 +02:00
Atgeirr Flø Rasmussen
7f96922c3c
Ensure UMFPACK works with FlexibleSolver.
...
Every apply() call for UMFPACK must (for now) recreate the solver.
2023-06-09 15:37:31 +02:00
Atgeirr Flø Rasmussen
712a7c8131
Add utilities that will be needed for NLDD solvers.
...
Includes:
- SubDomain struct,
- simple partitioning utilities for testing,
- some matrix and vector manipulation functions,
- tests for the above.
2023-06-09 10:08:29 +02:00
Kjetil Olsen Lye
c478e46c8d
Setting CUDA device for MPI runs.
2023-05-31 21:47:46 +02:00
Kjetil Olsen Lye
e35318b6bb
Removed unused block_size
2023-05-31 21:36:15 +02:00
Kjetil Olsen Lye
ea86e45fef
SolverAdapter now takes a reference to scalar product.
2023-05-31 16:39:45 +02:00
Kjetil Olsen Lye
042172588d
Added CuSeqILU0 as a parallel preconditioner as well.
2023-05-31 16:28:51 +02:00
Kjetil Olsen Lye
411bf6b0ca
Added missing file
2023-05-31 15:52:50 +02:00
Kjetil Olsen Lye
ceb15e22e3
Expose CuISTL solver in FlexibleSolver.
2023-05-31 15:03:31 +02:00
Kjetil Olsen Lye
0269f7215c
Added conversion preconditioner.
2023-05-31 14:55:48 +02:00
Kjetil Olsen Lye
90c9eedc79
Fixed typo in error message.
2023-05-31 14:03:59 +02:00
Kjetil Olsen Lye
dfb3ccb72b
Typo in variable name.
2023-05-31 13:14:37 +02:00
Kjetil Olsen Lye
697c49a08b
Documentation fixes.
2023-05-31 13:13:48 +02:00
Kjetil Olsen Lye
e8bc314e04
Documentation update.
2023-05-31 13:11:39 +02:00
Kjetil Olsen Lye
54598a44d5
Removed commented code line.
2023-05-30 11:50:02 +02:00