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
Kjetil Olsen Lye
bb9c51a6cc
Cleaned up fiz_zero_diagonal.hpp and added documentation.
2023-05-30 11:50:02 +02:00
Kjetil Olsen Lye
9c28b485ef
Added some missing header files.
2023-05-30 11:50:02 +02:00
Kjetil Olsen Lye
dea49a5406
Added CUILU0 to the PreconditionerFactory.
2023-05-30 11:50:02 +02:00
Kjetil Olsen Lye
dfc5331696
Marked constructor as explicit.
2023-05-30 11:50:02 +02:00
Kjetil Olsen Lye
84305a7a8d
Added conversion preconditioner.
2023-05-30 11:50:02 +02:00
Kjetil Olsen Lye
b30e6d79d5
Added CuSeqILU0 with the preconditioner adapter.
2023-05-30 11:49:58 +02:00
Kjetil Olsen Lye
1bd2edb003
Renamed types.
2023-05-30 10:30:55 +02:00
Kjetil Olsen Lye
ed2747db1c
Added sanity check.
2023-05-30 10:28:29 +02:00
Kjetil Olsen Lye
a8dd329307
Typo in documentation.
2023-05-30 10:14:30 +02:00
Kjetil Olsen Lye
0eb60e5336
Added test of size for copyToHost.
2023-05-30 10:03:54 +02:00
Kjetil Olsen Lye
b4b1a7b77f
Added TODO for perf, renamed to bvector.
2023-05-30 09:54:22 +02:00
Kjetil Olsen Lye
70310160c0
Updated documentation to reflect limitations on int.
2023-05-16 10:01:39 +02:00
Kjetil Olsen Lye
b4aa427bbe
Fixed documentation for vector_operations.hpp.
2023-05-16 09:56:21 +02:00
Kjetil Olsen Lye
bc3cb8c1db
Fixed typo in documentation.
2023-05-15 11:32:25 +02:00
Kjetil Olsen Lye
1a6720996a
Switched from size_t to std::size_t in safe_conversion.hpp.
2023-05-15 11:23:33 +02:00
Kjetil Olsen Lye
a703e9f7bd
Removed exceptions from destructors.
2023-05-12 08:23:18 +02:00
Kjetil Olsen Lye
133a8897a0
Fixed indexing mistake in cuistl/vector_operations
2023-05-12 08:23:18 +02:00
Kjetil Olsen Lye
046ef6cdc0
Replaced some macro size checks with function calls.
2023-05-12 08:23:18 +02:00
Kjetil Olsen Lye
e32b6ac0a8
Removed use of macro to check equal size.
2023-05-12 08:23:18 +02:00
Kjetil Olsen Lye
42b6a74ce5
Made CuSparseMatrix non-copyable.
2023-05-12 08:23:18 +02:00
Kjetil Olsen Lye
67f94ce8a3
Now handling sparsity pattern copying in a more elegant way.
2023-05-12 08:23:18 +02:00
Kjetil Olsen Lye
e14da5e053
Formatting fixes.
2023-05-12 08:23:18 +02:00
Kjetil Olsen Lye
cc8db08e83
Fixed unsafe type conversion.
2023-05-12 08:23:18 +02:00
Kjetil Olsen Lye
3f1cbbe1b8
Used safe conversion in CuVector
2023-05-12 08:23:18 +02:00
Kjetil Olsen Lye
5fee5cece8
Inlined safe conversion functions.
2023-05-12 08:23:18 +02:00
Kjetil Olsen Lye
b6a67275c9
Rename to to_int and to_size_t
2023-05-12 08:23:18 +02:00
Kjetil Olsen Lye
5373fb7a9c
Added int to size_t conversion. Added some static_asserts.
2023-05-12 08:23:18 +02:00
Kjetil Olsen Lye
9418d5311d
Added safe conversion from size_t to int.
2023-05-12 08:23:18 +02:00
Kjetil Olsen Lye
31e7ef04ba
Added a CuSparse matrix wrapper.
2023-05-12 08:23:18 +02:00
Kjetil Olsen Lye
858d8b189b
Added CuVector with tests.
2023-05-12 08:23:18 +02:00
Kjetil Olsen Lye
a6b0ffac70
Removed unused using statement.
2023-05-09 15:20:34 +02:00
Kjetil Olsen Lye
4228daf670
Added cusparseWarnIfError and CUSPARSE_WARN_IF_ERROR.
2023-05-09 15:20:34 +02:00
Kjetil Olsen Lye
81bc76384d
Documentation fix.
2023-05-09 15:20:34 +02:00
Kjetil Olsen Lye
863647f592
Added cudaWarnIfError/OPM_CUDA_WARN_IF_ERROR
2023-05-09 15:20:34 +02:00
Kjetil Olsen Lye
cab0efeec5
Added cublasWarnIfError/CUBLAS_WARN_IF_ERROR.
2023-05-09 15:20:34 +02:00
Kjetil Olsen Lye
e4c0ce08dc
Fixed documentation and formatting.
2023-05-09 15:20:34 +02:00
Kjetil Olsen Lye
b456fee209
Updated copyright headers.
2023-05-09 15:20:34 +02:00
Kjetil Olsen Lye
062d692c83
Added handles for cusparse and cublas.
2023-05-09 15:20:34 +02:00
Kjetil Olsen Lye
03a7fb6c9d
Added error macros to check last CUDA error.
2023-05-09 15:20:34 +02:00
Kjetil Olsen Lye
a204708f37
Refactored CUDA error macros to call inline functions.
2023-05-09 15:20:34 +02:00
Kjetil Olsen Lye
bf9dd4e1dd
Added safe call macros for CUDA, CuBlas and CuSparse.
2023-05-09 15:20:34 +02:00
Markus Blatt
8142788b58
Merge pull request #4406 from Tongdongq/rocsparse
...
Add rocsparseSolver
2023-04-12 12:07:58 +02:00
Arne Morten Kvarving
f2983ac6af
minimum dune version required is now 2.7
2023-04-12 09:41:23 +02:00
Tong Dong Qiu
270dcd53fc
Restore old HAVE_CUDA value
2023-04-11 14:30:20 +02:00
Tong Dong Qiu
bec51c4471
Prevent throwing in destructors
2023-04-06 13:14:19 +02:00
Tong Dong Qiu
f124792879
Detect ROCm version to suppress deprecated warning
2023-04-06 13:14:19 +02:00
Tong Dong Qiu
ed8f37ec82
Initialize HIP/rocsparse in constructor
2023-04-06 13:14:19 +02:00
Tong Dong Qiu
2c50951ddd
Implement PR comments
2023-04-06 13:14:19 +02:00
Tong Dong Qiu
eaef4b8c85
Update CMakeLists for rocm
2023-04-06 13:14:19 +02:00
Tong Dong Qiu
91a3e238ce
Add rocsparseSolver
2023-04-06 13:14:19 +02:00
Kai Bao
4b95123895
removing extra bracket to restore compilation
2023-04-03 14:15:16 +02:00
hnil
1773ea8229
fixed comment
2023-03-31 11:03:57 +02:00
hnil
528921ee6f
- added flexiblegmres
2023-03-31 11:01:49 +02:00
Markus Blatt
b4b8e7aff1
Merge pull request #4558 from Tongdongq/move-cpu-decomposition
...
Only do CPU decomposition if needed, when using GPU
2023-03-29 12:54:38 +02:00
Bård Skaflestad
dcdb9413b4
Merge pull request #4565 from hnil/reduced_linearsolver_option
...
Reduced linearsolver option
2023-03-29 10:44:56 +02:00
Arne Morten Kvarving
5f6339f6fd
FlexibleSolver: use std::make_shared
2023-03-29 09:50:09 +02:00
hnil
2e4d5ee57b
- Remove wrong output if already converged
2023-03-29 09:47:02 +02:00
hnil
445e4f10fe
fixed spelling
2023-03-29 08:55:31 +02:00
hnil
6b4082a1fe
better messages
2023-03-28 13:54:09 +02:00
hnil
992edc1fec
- added a reduced tolerance for linear for the nonlinear solver to accept the result
2023-03-28 11:43:00 +02:00
Tong Dong Qiu
0bf91691fe
Only do CPU decomposition if needed, when using GPU
2023-03-27 11:43:26 +02:00
Arne Morten Kvarving
aaaf00f2fd
adjust to timing macro header split
2023-03-01 13:18:16 +01:00
Atgeirr Flø Rasmussen
7acc6feb18
Make names more consistent.
2023-02-28 13:58:02 +01:00
hnil
79d7698dd8
added timeblocks in linear solver
2023-02-15 15:07:58 +01:00
hnil
fd98d8ea27
added timing blocks to most important parts
2023-02-15 09:41:37 +01:00
Atgeirr Flø Rasmussen
235a8a7f78
Avoid copying the matrix in the ILU preconditioner.
...
When the matrix already exists and has the correct sparsity structure
(which is assumed by the calling update()), we can copy just the data,
avoiding the need for allocation and matrix construction.
2023-02-02 14:10:16 +01:00
Bård Skaflestad
7c1cf03773
Merge pull request #4400 from blattms/use-cpr-from-datafile
...
Use CPR if specified in RUNSPEC / Make cprw the default
2023-01-19 16:59:48 +01:00
Markus Blatt
a69c8436ad
Use cprw as default CPR variant if CPR is requested.
2023-01-19 15:54:33 +01:00
Markus Blatt
b67388e6f0
Use cpr if requested in RUNSPEC section of data file.
...
Can be overwritten using command line parameter `--linear-solver=...`.
2023-01-18 22:02:35 +01:00
Bård Skaflestad
171a591659
Tag Unused Parameter as [[maybe_unused]]
...
Suppresses warnings about unused arguments. While here, also split
a long line for readability and include a number of standard headers
that were missing before.
2023-01-16 14:50:58 +01:00
Bård Skaflestad
11c0e085f9
Merge pull request #4193 from hnil/amgcl_fix
...
- fix compilation of amgcl bindings in bda by not doing anything for …
2023-01-16 11:23:39 +01:00
Arne Morten Kvarving
df5edfb96f
BISAI: remove unnecessary iostream include
2023-01-03 15:25:00 +01:00
Arne Morten Kvarving
f00ebc8b1c
setupPropertyTree: avoid use of sstream
2023-01-02 15:23:14 +01:00
Arne Morten Kvarving
48bdf6f14c
add missing sstream includes
2023-01-02 15:21:42 +01:00
Arne Morten Kvarving
e25d77f705
WellContributions: avoid use of sstream
2023-01-02 15:19:40 +01:00
Arne Morten Kvarving
bcf64b4be8
PreconditionerFactory: avoid use of sstream
2023-01-02 15:19:26 +01:00
Arne Morten Kvarving
ccce1cfe86
OwningTwoLevelPreconditioner: avoid use of sstream
2023-01-02 15:19:08 +01:00
Arne Morten Kvarving
6d033fcf56
MILU: avoid use of sstream
2023-01-02 15:18:50 +01:00
Arne Morten Kvarving
4a0bdc38e1
ISTLSolverEbos: avoid use of sstream
2023-01-02 15:18:34 +01:00
Arne Morten Kvarving
52d871f998
FlexibleSolver: avoid use of sstream
2023-01-02 15:18:10 +01:00
Atgeirr Flø Rasmussen
ba734bc9ad
Change default CPR preconditioner recreation behaviour.
2022-12-21 13:23:26 +01:00
Atgeirr Flø Rasmussen
3832b02367
Adjust default behaviours for CPR variants.
...
- Remove two unused parameters. CprEllSolvetype is never used, and CprEllMaxIter
is not used correctly as is (if used, it should change the maximum iterations of
the coarse solver, not the repeats of the preconditioner) and is better left for
JSON file customization.
- Make the default AMG setup for "cpr" (including "cpr_trueimpes" and "cpr_quasiimpes")
match the setup for "cprw". In particular, beta = 0.0 (not 1e-4) and
prolongationdamping = 1.0 (not 1.6).
- Just as we override the default maximum number of linear iterations for cpr and cprw
(unless the user actually specified on the command line) to 20 instead of 100, we
change the default reduction to be 0.005 instead of 0.01.
2022-12-21 13:23:13 +01:00
Arne Morten Kvarving
f17a90170d
use exception classes from opm-common
2022-12-13 12:56:13 +01:00
Tong Dong Qiu
a8e568f4c5
Moved initializing CUDA device to constructor
2022-11-21 15:54:14 +01:00
Tong Dong Qiu
5620b08033
Fix segfaults rocalutionSolver
2022-11-18 14:19:10 +01:00
Tong Dong Qiu
21b23b7aa4
Combine multiple defines into one
2022-11-18 13:09:39 +01:00
Tong Dong Qiu
65128d1616
Removed unused reordering functions, file, header inclusions
2022-11-17 09:38:23 +01:00
Tong Dong Qiu
35287a61ff
Remove FPGASolver and references
2022-11-17 09:38:01 +01:00
Arne Morten Kvarving
bdb2738034
ISTLSolverEbos: instance for ALUGrid
2022-11-14 14:54:11 +01:00
Markus Blatt
4988f98060
Merge pull request #4178 from Tongdongq/rocalution
...
Add rocalutionSolver
2022-11-09 16:44:35 +01:00
Tong Dong Qiu
b51a4a863e
Fix reduction calculation
2022-11-09 10:27:10 +01:00
Tong Dong Qiu
1dd6af15dc
Print via fmt
2022-11-08 13:05:57 +01:00