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
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