Commit Graph

16797 Commits

Author SHA1 Message Date
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
Markus Blatt
74c1ec3de3
Merge pull request #4925 from blattms/bump-version
Bump version to 2024.04
2023-10-13 09:20:35 +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
Kai Bao
81758cca2c using TUNING for the tests under folder wtest 2023-10-12 10:34:26 +02:00
Kai Bao
3af34e4ae6
Merge pull request #4923 from GitPaean/using_report_step
distinguishing report step and time step
2023-10-11 23:14:43 +02:00
Markus Blatt
6b951df148 Bump version to 2024.04 2023-10-11 21:27:29 +02:00
Razvan Nane
7e8528b43a Disable only CUDA when ROCm also selected 2023-10-11 13:29:40 +02:00
Markus Blatt
62dd660b2d
Merge pull request #4916 from daavid00/fixVtkOnReportStep
Fix to write vtks on report steps
2023-10-11 11:59:18 +02:00
Kai Bao
f5d3489d23 distinguishing report step and time step
for the funcitons related to createWellContainer() and
runWellPIScaling().

So it is not exhaustive, but we should do it gradually.
2023-10-11 11:33:02 +02:00
Atgeirr Flø Rasmussen
05eccd37c3
Merge pull request #4922 from bska/nldd-control-number-of-global-iterations
Make Number of Initial Global Iterations Configurable
2023-10-11 10:35:58 +02:00
Bård Skaflestad
e2ad737848 Make Number of Initial Global Iterations Configurable
The NLDD solver would always take one global non-linear (Newton)
iteration before starting the local non-linear iterations.  This
commit introduces a new command-line parameter,

    --nldd-num-initial-newton-iter (NlddNumInitialNewtonIter)

which allows the user to configure this value at runtime.  The
default value, 1, preserves the current behaviour.
2023-10-10 18:29:05 +02:00
Markus Blatt
9f79c7d4eb
Merge pull request #4921 from bska/dont-apply-multiplier-twice
Don't Apply Regional Multipliers Twice to EDITNNC Connections
2023-10-10 16:35:20 +02:00
Bård Skaflestad
544496d0eb Don't Apply Regional Multipliers Twice to EDITNNC Connections
The connections entered in the EDITNNC keyword are already fully
accounted for in the main 'update()' loop followed by the helper
function applyEditNncToGridTrans_().  Therefore, it is wrong to
include those connections when applying MULTREGT to NNCs.  This
commit removes the pertinent connections from the main loop in
helper function applyNncMultreg_().

Commit ddcafa8a91 got this wrong, so pointy hat to [at]bska.
2023-10-10 13:57:29 +02:00
Bård Skaflestad
1cc806cf42
Merge pull request #4920 from kjetilly/fix_fmt_10
Casting to support {fmt} v10.
2023-10-10 11:44:20 +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
Bård Skaflestad
ab6241f1f6
Merge pull request #4917 from kjetilly/remove_cuda_thread_exit
Removed call to deprecated cudaThreadExit
2023-10-09 11:41:23 +02:00
Kai Bao
a525f0865f removing white spaces in the wells folder 2023-10-09 11:14:48 +02:00
David Landa Marban
b0b9b1205c Fix to write vtks on report steps 2023-10-09 11:03:23 +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
7673118f14 CUDA and HIP not allowed at the same time 2023-10-08 08:58:35 +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
Razvan Nane
ca210612e1 Fix hipErrorNoBinaryForGpu when hip_FOUND 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
Markus Blatt
3f436501d2
Merge pull request #4883 from jychang48/jychang48-edits
Removed OpenCL dependencies for rocsparse backend & error exception handling
2023-10-06 20:50:22 +02:00
Vegard Kippe
56997655d1 Support computation of network pressures in networks with multiple roots 2023-10-06 18:29:12 +02:00
Justin Chang
48a4ddec3a
Revert hipStreamSynchronize placement in rocsparseSolverBackend.cpp 2023-10-06 09:38:44 -05:00
Markus Blatt
3c7a4635ea
Merge pull request #4402 from bska/follow-udq-context-api-change
Chase API Change for UDQ Evaluation
2023-10-06 15:35:29 +02:00
Vegard Kippe
77bb7aa9cf Let reported pressures (GPR) respect the NETBALAN configuration 2023-10-06 15:15:43 +02:00
Vegard Kippe
389db91839 Slight restructuring/renaming for (possibly) improved clarity. 2023-10-06 15:15:43 +02:00
Vegard Kippe
a8b4c25bfb Separate network active and need for rebalance bool + perform check per timestep only. 2023-10-06 15:15:43 +02:00
Vegard Kippe
663c62e366 Avoid iterating network if no network wells are in prediciton mode 2023-10-06 15:15:42 +02:00
Markus Blatt
f2d3d2d144
Merge pull request #4903 from blattms/fix-debian-bookworm-rocblas
[cmake] Always demand rocblas to be there when activating rocsparse
2023-10-06 11:41:58 +02:00
Bård Skaflestad
958ee8ac50
Merge pull request #4911 from akva2/janitoring
mark variable maybe_unused
2023-10-05 10:31:31 +02:00
Arne Morten Kvarving
900056e8d7 mark variable maybe_unused
quells a clang warning
2023-10-05 09:31:36 +02:00
Bård Skaflestad
0c7b0f5fcb Chase API Change for UDQ Evaluation
In particular, pass a "segment matcher factory" into every function
that forms UDQ context objects.
2023-10-04 16:33:19 +02:00
Markus Blatt
8b8164308a
Merge pull request #4909 from blattms/fix-parallel-stop-network-update-at-max
[bugfix] Fix stopping network update in parallel at max steps.
2023-10-04 14:12:54 +02:00
Markus Blatt
6a705b9b8e Fixed spelling. 2023-10-04 13:24:01 +02:00
Markus Blatt
9279ce19e8 [bugfix] Fixes stopping network update in parallel at max steps.
We did only break in the loop for rank 0 and not the other ones. Hence
all other processes kept iterating beyond the maximum number of
allowed iterations. This lead to hard to find crashes because of
non-matching MPI communication.
2023-10-04 12:56:44 +02:00
Markus Blatt
3c45522bab
Merge pull request #4901 from hnil/fix_nonpinch_z
No connection without pinch and layers inbetween.
2023-10-04 12:26:24 +02:00
Justin Chang
b5d8c3b5f0 Added detailed HIP exception handling 2023-10-03 15:40:20 -05:00