Commit Graph

724 Commits

Author SHA1 Message Date
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