Arne Morten Kvarving
e620d9d044
rocaluationSolverBackend: template Scalar type
2024-05-24 14:16:36 +02:00
Arne Morten Kvarving
0b22b62205
amgclSolverBackend: template Scalar type
2024-05-24 14:16:36 +02:00
Arne Morten Kvarving
23250b87e3
cusparseSolverBackend: template Scalar type
2024-05-24 14:16:34 +02:00
Arne Morten Kvarving
18f42b51b2
openclSolverBackend: template Scalar type
2024-05-24 14:09:12 +02:00
Arne Morten Kvarving
d0773ef4f7
BdaSolver: template Scalar type
2024-05-24 14:09:12 +02:00
Arne Morten Kvarving
e03f2394b9
BdaSolver.hpp: drop indent for namespace
2024-05-24 14:09:12 +02:00
Arne Morten Kvarving
7e1f4629ed
CPR: template Scalar type
2024-05-24 14:09:12 +02:00
Arne Morten Kvarving
1f39e6a9a9
BISAI: template Scalar type
2024-05-24 14:09:12 +02:00
Arne Morten Kvarving
8ea523fa68
BILU0: template Scalar type
2024-05-24 14:09:12 +02:00
Arne Morten Kvarving
b75ea188ee
Preconditioner: template Scalar type
2024-05-24 14:09:12 +02:00
Arne Morten Kvarving
05a89d1e96
cuWellContributions: template Scalar type
2024-05-24 14:09:12 +02:00
Arne Morten Kvarving
d2637e53ea
rocsparseWellContributions: template Scalar type
2024-05-24 14:09:12 +02:00
Arne Morten Kvarving
ddcfcf681d
openclWellContributions: template Scalar type
2024-05-24 14:09:11 +02:00
Arne Morten Kvarving
ff39bc3b03
WellContribution: template Scalar type
2024-05-24 14:09:11 +02:00
Arne Morten Kvarving
216f0bea0d
MultisegmentWellContribution: template Scalar type
2024-05-24 14:09:11 +02:00
Arne Morten Kvarving
ba1c6db855
OpenclKernels: template Scalar type
2024-05-24 14:09:11 +02:00
Arne Morten Kvarving
be59203179
OpenclMatrix: template Scalar type
2024-05-24 14:09:11 +02:00
Arne Morten Kvarving
5fbd7635cd
Matrix: template Scalar type
2024-05-24 14:09:11 +02:00
Arne Morten Kvarving
25374b0e54
BlockMatrix: template Scalar type
2024-05-24 14:09:10 +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
Bård Skaflestad
6f094c558a
Merge pull request #5256 from BigDataAccelerate/overlap_copy_jacmat_gpu
...
Overlap creation of jacobian matrix with GPU data transfers
2024-05-24 13:11:27 +02:00
Arne Morten Kvarving
60e91a0fb5
amgclSolverBackend: fix for block_size == 1
2024-05-23 13:41:26 +02:00
Arne Morten Kvarving
bf93915101
WellOperators: use field type
2024-05-22 15:39:24 +02:00
Arne Morten Kvarving
0f685d6b44
WellOperators: fix indent
...
also some formatting fixes, using instead of typedef
2024-05-22 15:30:48 +02:00
Bård Skaflestad
2fe957ca6c
Merge pull request #5368 from multitalentloes/fix_typo_cuda_aware_mpi
...
fix typo that would cause crash cuda aware openmpi
2024-05-21 11:15:00 +02:00
Tobias Meyer Andersen
9d6dcb00a3
fix typo that would cause crash cuda aware openmpi
2024-05-21 10:20:02 +02:00
Arne Morten Kvarving
ee1c531431
InitStateEquil: remove template parameter from Comm and use Parallel::Communication directly
...
in the process this quells a deprecation warning for
Dune::CollectiveCommunication usage
2024-05-15 11:20:29 +02:00
Tobias Meyer Andersen
73746b56bc
Resolve warning delete-abstract-non-virtual-dtor
2024-05-15 10:00:14 +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
d5c088bb20
remove unused headers
2024-05-03 13:45:24 +02:00
Tobias Meyer Andersen
d795561100
remove usage of thrust
2024-05-03 12:52:27 +02:00
Atgeirr Flø Rasmussen
da5f20a0d9
Merge pull request #5145 from multitalentloes/add_gpu_direct
...
Add GPU Direct
2024-04-29 14:08:25 +02:00
Tobias Meyer Andersen
f4b9e0a3a8
add safe conversion
2024-04-17 14:31:07 +02:00
Tobias Meyer Andersen
29cc7c4925
make variable naming convention more consistent
2024-04-17 13:49:08 +02:00
Tobias Meyer Andersen
2eefedf661
remove error logging in std::cerr
2024-04-17 13:46:49 +02:00
Tobias Meyer Andersen
ccd014cc1a
remove some usage of this->
2024-04-17 13:28:30 +02:00
Tobias Meyer Andersen
a649bef271
update GPU direct support check
2024-04-17 13:28:30 +02:00
Tobias Meyer Andersen
7235f34f0e
Add classes handling correct MPI implementation
...
Make some changes to Georgs original code:
dynamically allocated arrays with std::vectors instead
Implement new class structure handling what
MPI communication implementation to use
create extra scopes to avoid reuse of index variable i
Update related tests:
Update test_cuowneroverlapcopy to account for new
class strucutre
Also remove line that invalidates the MPI tests for multiple processes
2024-04-17 13:28:30 +02:00
Georg Zitzlsberger
eb6f9dc1f9
Prototype implementation of CUDA aware MPI
2024-04-17 13:28:30 +02:00
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
078b0e8679
remove macro EWOMS_GET_PARAM
2024-04-05 14:54:53 +02:00
Arne Morten Kvarving
0161d69660
adjust to removal of EWOMS_GET_PARAM
2024-04-05 14:02:28 +02:00
Bård Skaflestad
bdb93b6e62
Merge pull request #890 from akva2/remove_ewoms_register_param_macro
...
Remove ewoms register param macro
2024-04-05 12:42:27 +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
48fa0f3c59
drop macro EWOMS_REGISTER_PARAM
2024-04-05 10:05:30 +02:00
Arne Morten Kvarving
6103383c1a
fixed: inconsistent parameter setups
...
registered as int and obtained as unsigned, or registered
as Scalar and obtained as int
2024-04-04 14:34:37 +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
Lisa Julia Nebel
5d8fefca33
Add comment on trailing return type with decltype that is used for detecting existence of setUseFixedOrder member function
2024-01-25 16:04: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
b99252e2b8
Construct the matrices in the AMG hierarchy 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 its 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:51 +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
Kai Bao
9f0fb32713
various cleaning up and refactoring for co2 ptflash simulation
2023-11-21 15:52:56 +01:00
Trine Mykkeltvedt
83cb5670b7
a simple 1D test demonstrating the usage of the PTFlash compostional modeling
2023-11-21 15:52:56 +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
Arne Morten Kvarving
97a52d25fe
clean up some headers
2023-06-08 14:15:34 +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