Commit Graph

1076 Commits

Author SHA1 Message Date
Arne Morten Kvarving
2245daa0c7 ISTLSolver: optionally instantiate for float 2024-08-21 09:40:24 +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
Arne Morten Kvarving
d244f49813 FlexibleSolver: throw if umfpack is requested with float Scalar 2024-08-21 09:33:03 +02:00
Arne Morten Kvarving
a7b99651c1 WellContributions: optionally instantiate for float
cuWellContributions: optionally instantiate for float
openclWellContributions: optionally instantiate for float
rocsparseWellContributions: optionally instantiate for float

these need to go in the same commit due to circular dependencies
2024-08-21 09:23:31 +02:00
Arne Morten Kvarving
9f5bad224c openclKernels: optionally instantiate for float 2024-08-21 09:23:31 +02:00
Arne Morten Kvarving
df0a9a4055 MultisegmentWellContribution: optionally instantiate for float 2024-08-21 09:23:31 +02:00
Arne Morten Kvarving
b507c75e75 MultisegmentWellContribution: disable with float Scalars 2024-08-21 09:23:31 +02:00
jakobtorben
5d54c50ba0 Add method for defining if preconditioners should be recreated 2024-08-20 17:57:38 +02:00
Tobias Meyer Andersen
ae4e6a65fc make autotuner use lambda that only depends on blocksize 2024-08-20 15:06:59 +02:00
Tobias Meyer Andersen
14ea44246a add autotuner 2024-08-20 13:35:33 +02:00
Arne Morten Kvarving
14bc929fb0 ParallelOverlappingILU0: optionally instantiate for float 2024-08-19 13:51:15 +02:00
Arne Morten Kvarving
f94f1d1012 MILU: optionally instantiate for float 2024-08-19 13:50:08 +02:00
Arne Morten Kvarving
f8c04129dd PropertyTree: add instances for float 2024-08-19 13:09:41 +02:00
Arne Morten Kvarving
e82395af99 FlowLinearSolverParameters: introduce translation unit 2024-08-16 16:59:50 +02:00
Arne Morten Kvarving
3751ca6be4 move FlowLinearSolver parameters to TypeTag-free parameter system 2024-08-16 13:23:16 +02:00
Arne Morten Kvarving
dd1bc8d75b move FlowBaseVanguard parameters to TypeTag-free parameter system 2024-08-16 13:20:06 +02:00
Arne Morten Kvarving
3716ee664d move BlackoilModel parameters to TypeTag-free parameter system 2024-08-16 13:20:04 +02:00
Tor Harald Sandve
0371cd5342 Change defaults
Use implicit IPR as default
Allow for switching of control during local well solves as default
2024-08-16 10:16:04 +02:00
Tor Harald Sandve
0e01d99741 use cprw as default linear solver 2024-08-16 10:16:04 +02:00
Arne Morten Kvarving
62a180447c move LinearSolver parameters to TypeTag-free parameter system 2024-08-14 12:47:59 +02:00
Arne Morten Kvarving
4d339d3998 LinearSolver parameters moved to TypeTag-free parameter system 2024-08-14 09:27:52 +02:00
Arne Morten Kvarving
66747886c6 avoid unnecessary copy of jacobian 2024-08-13 13:36:05 +02:00
Arne Morten Kvarving
4577469e19 rename parameters to avoid shadowing member variables 2024-08-13 13:36:05 +02:00
Arne Morten Kvarving
9b9ae24909 mark methods override 2024-08-13 11:25:33 +02:00
Arne Morten Kvarving
835e268a8c rename macros for consistency 2024-08-13 11:25:33 +02:00
Arne Morten Kvarving
65cc3d7400 remove unused includes 2024-08-13 11:25:33 +02:00
Arne Morten Kvarving
a1fe421de9 remove unused variables 2024-08-13 11:25:33 +02:00
Arne Morten Kvarving
8667a18144 anonymize unused parameters to avoid warnings 2024-08-13 11:25:33 +02:00
Arne Morten Kvarving
67f7bba512 mark parameters maybe_unused 2024-08-13 11:25:33 +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
Bård Skaflestad
ad595fed5e
Merge pull request #5506 from akva2/move_params_to_parameters
Move parameters to Opm::Parameters namespace
2024-08-09 09:16:10 +02:00
Markus Blatt
a6006b0c93
Merge pull request #5505 from lisajulia/fix/COMPDAT-NLDD
Fix the usage of the COMPDAT keyword in an ACTIONX for the NLDD solver for sequential runs
2024-08-08 15:35:00 +02:00
Arne Morten Kvarving
42389b0182 fixed: don't add device/host annotations to defaulted functions
these will automagically be generated in both compiler passes so
the specifiers are meaningless and causes nvcc to emit a warning
2024-08-08 10:56:24 +02:00
Kjetil Olsen Lye
b145b6bf11
Merge pull request #5515 from multitalentloes/avoid_exception_macro_in_device_code
Avoid exception macro in device code
2024-08-08 10:54:34 +02:00
Lisa Julia Nebel
f6a06f2639 Change the type of the argument possibleFutureConnections from a pointer to a const reference 2024-08-08 09:19:32 +02:00
Tobias Meyer Andersen
f1897a30ac correct grammar 2024-08-07 13:35:52 +02:00
Tobias Meyer Andersen
fe09d147b0 use macro to make device code valid in debug mode 2024-08-07 13:31:48 +02:00
Arne Morten Kvarving
167e1f413a Bda: add missing override specifiers 2024-08-07 11:19:45 +02:00
Arne Morten Kvarving
a65ddff8f6 changed: BlackoilModel parameters moved to Opm::Parameters namespace 2024-08-06 09:50:02 +02:00
Arne Morten Kvarving
4fc1487a9d changed: FlowBaseVanguard parameters moved to Opm::Parameters namespace 2024-08-06 09:50:02 +02:00
Arne Morten Kvarving
0745a5e496 changed: FlowLinearSolver parameters moved to Opm::Parameters namespace 2024-08-06 07:18:28 +02:00
Lisa Julia Nebel
8cd53ecea7 Change type of possibleFutureConnections to std::unordered_map<std::string, std::set<int>>
Now it contains the global ids of the perforated cells for each well instead of the coordinates ijk
2024-08-05 19:31:54 +02:00
Kjetil Olsen Lye
51e8bb7191
Merge pull request #5392 from multitalentloes/add_CuBuffer
Add CuBuffer and CuView
2024-08-05 15:29:59 +02:00
Tobias Meyer Andersen
30013ea9d0 remove last two unneeded size t conversions 2024-08-05 13:12:35 +02:00
Tobias Meyer Andersen
62ee7bf495 fix indendation and needless conversions 2024-08-05 11:47:18 +02:00
Arne Morten Kvarving
4e0cdd289d changed: move the AmgCoarsenTarget parameter to Opm::Parameters 2024-08-02 19:19:31 +02:00
Arne Morten Kvarving
f3af89447b changed: move the GMResRestart parameter to Opm::Parameters 2024-08-02 19:19:31 +02:00
Arne Morten Kvarving
b5470dc3eb changed: move the PreconditionerRelaxation parameter to Opm::Parameters 2024-08-02 19:19:31 +02:00
Arne Morten Kvarving
b23f0289e3 changed: move the LinearSolverMaxError parameter to Opm::Parameters 2024-08-02 19:19:31 +02:00
Arne Morten Kvarving
5cab2e668a changed: move the PreconditionerOrder parameter to Opm::Parameters 2024-08-02 19:19:30 +02:00
Arne Morten Kvarving
0e06d6491b changed: move the LinearSolverMaxIterations parameter to Opm::Parameters 2024-08-02 19:19:13 +02:00
Arne Morten Kvarving
59f586189e changed: move the LinearSolverVerbosity parameter to Opm::Parameters 2024-08-02 19:19:13 +02:00
Arne Morten Kvarving
ffdbd2f127 changed: move the LinearSolverAbsTolerance parameter to Opm::Parameters 2024-08-02 19:19:13 +02:00
Arne Morten Kvarving
b9615ea29a changed: move the LinearSolverTolerance parameter to Opm::Parameters 2024-08-02 19:19:13 +02:00
Arne Morten Kvarving
321a7c7305 changed: move the LinearSolverOverlapSize parameter to Opm::Parameters 2024-08-02 19:19:13 +02:00
Arne Morten Kvarving
22a116728c changed: LinearSolverVerbosity parameter moved to Opm::Parameters namespace 2024-08-02 09:04:08 +02:00
Tobias Meyer Andersen
e8ac31da16 add CuBuffer and CuView to cuISTL 2024-08-01 16:38:16 +02:00
Markus Blatt
03dc006b88
Merge pull request #5488 from lisajulia/fix/ACTIONX-COMPDAT
Fix/actionx compdat
2024-07-30 17:18:04 +02:00
Arne Morten Kvarving
24c60e256f openclSolverBackend: fix shadowing type alias 2024-07-30 11:05:48 +02:00
Arne Morten Kvarving
405a907d63 anonymize unused parameters to quell compiler warnings 2024-07-30 10:55:53 +02:00
Arne Morten Kvarving
2a9077a45c fix macro formatting 2024-07-30 10:55:40 +02:00
Lisa Julia Nebel
efb18d0027 Add possible future connections to the grid methods that handle the well connections 2024-07-29 09:59:52 +02:00
Markus Blatt
ca2ef490aa
Merge pull request #5408 from BigDataAccelerate/cpr_rocsparse
rocsparse CPR initial version
2024-07-16 18:57:40 +02:00
Razvan Nane
a79d4aff5a fix rocalutionSolver 2024-07-12 13:31:17 +02:00
Kjetil Olsen Lye
f3b5e0d14d
Merge pull request #5433 from multitalentloes/useRecomendedBlockSize
Autotune thread block size
2024-07-08 14:17:39 +02:00
Tobias Meyer Andersen
844c7d9f67 use std::numerics for long max values 2024-07-05 11:07:58 +02:00
Arne Morten Kvarving
74cd10b1f2 avoid using deprecated type 2024-07-03 07:58:07 +02:00
Tobias Meyer Andersen
0d8bf905d8 remove dead code 2024-06-28 14:38:25 +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
Razvan Nane
f063f6776e remove dependency of std::thread on openmp 2024-06-27 14:06:22 +02:00
Tobias Meyer Andersen
65aa334313 formalize new fromMatrix 2024-06-26 15:41:42 +02:00
Tobias Meyer Andersen
605e32c54b use camelCase, remove commented code 2024-06-26 15:34:47 +02:00
Tobias Meyer Andersen
d6f8678617 use unique_ptr consistently for delayed instantiation 2024-06-26 15:31:52 +02:00
Razvan Nane
1477a4d76e cleanup 2024-06-24 13:36:36 +02:00
Razvan Nane
deeb8a8582 fix opencl ilu jacobi threadcopy 2024-06-24 13:18:04 +02:00
Razvan Nane
7ce693ba06 fix verbose opencl preconditioner 2024-06-24 13:18:04 +02:00
Tobias Meyer Andersen
82ff782d5f clang format 2024-06-18 11:42:00 +02:00
Tobias Meyer Andersen
2b9c81fe09 use getCudaRecomendedMaxPotentialBlocksize 2024-06-18 11:34:31 +02:00
Markus Blatt
b2c06415f4
Merge pull request #5182 from lisajulia/ilu-op-in-amg
Ghost entries skipped for ILU apply and SpMV operator in all levels of AMG/CPR hierarchy
2024-06-10 13:06:42 +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
Atgeirr Flø Rasmussen
71684bfe2c Ensure 'mid' is always initialized. 2024-06-07 14:27:02 +02:00
Razvan Nane
a1c238df8e last scalars 2024-06-05 15:30:08 +02:00
Razvan Nane
b51f27517b more scalars 2024-06-05 15:27:22 +02:00
Razvan Nane
40c0539bc3 update copyright and scalar 2024-06-05 15:12:12 +02:00
Razvan Nane
dcbd9be46a cleanup and run fix 2024-06-05 15:00:47 +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
Razvan Nane
7a307fafa0 add rocsparseCPR preconditioner 2024-06-04 17:13:13 +02:00
Razvan Nane
74b30e6bba refactor AMG creation as a class 2024-06-04 15:13:54 +02:00
Razvan Nane
3eb87b7b04 refactor rocsparseSolverBackend to allow flexible preconditioner 2024-06-04 12:17:49 +02:00
Razvan Nane
071f009bf3 refactor preconditioner class 2024-06-04 09:47:03 +02:00
Razvan Nane
83b50f08e6 rename opencl files 2024-06-04 06:28:50 +02:00
Razvan Nane
02b76b5309 refactor rocm files 2024-06-04 06:19:28 +02:00
Razvan Nane
988d3821cd fix compile rocsparseWellContrib 2024-05-31 11:55:53 +02:00
Arne Morten Kvarving
c92d80e0e8
Merge pull request #5399 from daavid00/fixMacOS
[FIX]: Build issue if OpenMP is not present
2024-05-31 09:56:39 +02:00
David Landa Marban
a6ed584ae2 [FIX]: Build issue if OpenMP is not present 2024-05-31 09:00:57 +02:00
Arne Morten Kvarving
41885f5911 ISTLSolverBda: use Scalar type from vector 2024-05-24 14:28:10 +02:00
Arne Morten Kvarving
0e537a8ae3 ISTLSolverBda: fix indent 2024-05-24 14:21:26 +02:00
Arne Morten Kvarving
ad1d862426 BdaBridge: template Scalar type 2024-05-24 14:21:26 +02:00
Arne Morten Kvarving
3eed028978 rocsparseSolverBackend: template Scalar type 2024-05-24 14:21:25 +02:00
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