Commit Graph

339 Commits

Author SHA1 Message Date
jakobtorben
b4b3f0d144 Add tests for AMGX preconditioner 2024-12-18 13:30:02 +01:00
jakobtorben
5dd70eb8bb Add AMGX preconditioner 2024-12-18 13:30:02 +01:00
Arne Morten Kvarving
d0eba9ffe2
Merge pull request #5793 from kjetilly/opencl_optional
Make OpenCL optional
2024-12-11 13:52:56 +01:00
Arne Morten Kvarving
3eeb33d8c8 fixed: remove HYPRE from prereqs
this is controlled by USE_HYPRE and we should not unconditionally
look for it. had to move the code into config hook and split some ifs

pointy hat [at]akva2
2024-12-11 13:35:03 +01:00
Kjetil Olsen Lye
39441d185a Made OpenCL optional. 2024-12-11 10:37:20 +01:00
jakobtorben
d663f16bea Add tests for Hypre Preconditioner 2024-12-10 17:08:18 +01:00
jakobtorben
1af2556385 Add support for GPU with Hypre 2024-12-10 17:08:18 +01:00
jakobtorben
10f7a85532 Add Hypre preconditioner 2024-11-27 17:09:14 +01:00
Bård Skaflestad
e695550e05 Make Floating Point Existence Flag Initially Unset
PR OPM/opm-common#4348 altered the OPM build system's handling of
boolean flags and setting the flag to zero no longer works.
2024-11-22 10:39:24 +01:00
Arne Morten Kvarving
91aabf6a92
Merge pull request #5706 from BigDataAccelerate/rename-bda-to-gpu
Remove bda naming from project
2024-11-11 16:26:21 +01:00
Tobias Meyer Andersen
78e01ad06f Add tests for gpu pvt classes 2024-11-08 14:41:34 +01:00
Razvan Nane
7c4bafe936 rename bda folder&files 2024-11-04 10:47:34 +01:00
Kjetil Olsen Lye
cbf7504030 Added extra error check for OPM_COMPILE_COMPONENTS 2024-10-09 07:17:25 +02:00
Kjetil Olsen Lye
02b31fb9b2 Can now compile only a select number of components. 2024-10-08 20:35:42 +02:00
Bård Skaflestad
6a7efcbcaa
Merge pull request #5645 from kjetilly/flowexp_components
Support for 2 to 7 components in flowexp_comp
2024-10-08 09:25:08 +02:00
Arne Morten Kvarving
55c42d7b83 one translation unit per instance 2024-10-04 14:45:34 +02:00
Tobias Meyer Andersen
e6b6add193 Add tests for AD objects and TwoPhaseMaterial
The tests verify that these objects can be used
inside of GPU kernels
2024-09-25 11:22:27 +02:00
Arne Morten Kvarving
3ee3dc2b5f newtonmethod: move parameters to dedicated struct with a translation unit 2024-09-16 15:17:50 +02:00
Kai Bao
2c75adf165 adding a compositional simulator
flowexp_comp
2024-09-11 14:58:33 +02:00
Arne Morten Kvarving
2166ec6328 added: scripts for generating failure reports on jenkins
this creates a pdf for each failed case with plots of summary
curves
2024-09-10 11:47:46 +02:00
Arne Morten Kvarving
5d2a25ac14 add utility function to read time step files
and use this in simulator.hh
2024-09-05 13:32:15 +02:00
Arne Morten Kvarving
ae8dd62fe3 Parameters::Get split out parts of implementation
allows putting it in translation unit
2024-09-05 10:07:40 +02:00
Arne Morten Kvarving
e7a9c4cd21 threadmanager: remove unused typetag template parameter
and move implementation to a translation unit
2024-09-04 12:06:21 +02:00
Bård Skaflestad
b2863da3c9
Merge pull request #5560 from akva2/add_flow_blackoil_float
Add float blackoil simulator
2024-09-04 10:23:30 +02:00
Arne Morten Kvarving
e3a16df477 add imported opm-models code to buildsystem 2024-09-03 10:49:49 +02:00
Arne Morten Kvarving
07f5fdd35b add float variant for flow blackoil 2024-08-30 15:09:25 +02:00
Tobias Meyer Andersen
e14ebcb826 fix cmake for gpuvector 2024-08-23 13:02:09 +02:00
Tobias Meyer Andersen
d2681b26ed refactor opm_cuda_safe_call 2024-08-23 11:12:13 +02:00
Tobias Meyer Andersen
5919b417e3 refactor cuview 2024-08-22 15:27:23 +02:00
Tobias Meyer Andersen
fba1858f42 refactor cuvector 2024-08-22 15:20:20 +02:00
Tobias Meyer Andersen
3aa1767548 refactor cusparsematrix 2024-08-22 15:14:33 +02:00
Tobias Meyer Andersen
0c1ea3ee4d refactor cuseqilu0 2024-08-22 15:07:53 +02:00
Tobias Meyer Andersen
1721a1071f refactor cuowneroverlapcopy 2024-08-22 14:46:38 +02:00
Tobias Meyer Andersen
158619083e refacor cujac 2024-08-22 14:40:23 +02:00
Tobias Meyer Andersen
d17ee3315b refactor CuDILU 2024-08-22 14:28:33 +02:00
Tobias Meyer Andersen
69897753e8 refactor CuBuffer 2024-08-22 14:12:30 +02:00
Arne Morten Kvarving
fda6a63049 added: build system option to instantiate for float scalar 2024-08-19 13:09:41 +02:00
Arne Morten Kvarving
8340cb61c0 changed: put parallel unit tests in separate .cmake file
more consistent with how other tests are included
2024-08-08 12:21:22 +02:00
Tobias Meyer Andersen
e8ac31da16 add CuBuffer and CuView to cuISTL 2024-08-01 16:38:16 +02:00
Bård Skaflestad
9895c15d7c Simplify Generation of Processor Dependent MPI Tests
Suggested by: [at]akva2.
2024-06-28 11:24:48 +02:00
Bård Skaflestad
0c71d0701c Add MPI Support to Saturation Function Consistency Checks
This commit adds a new public member function

    SatfuncConsistencyChecks<>::collectFailures(root, comm)

which aggregates consistency check violations from all ranks in the
MPI communication object 'comm' onto rank 'root' of 'comm'.  This
amounts to summing the total number of violations from all ranks and
potentially resampling the failure points for reporting purposes.

To this end, extract the body of function processViolation() into a
general helper which performs reservoir sampling and records point
IDs and which uses a call-back function to populate the check values
associated to a single failed check.  Re-implement the original
function in terms of this helper by wrapping exportCheckValues() in
a lambda function.  Extract similar helpers for numPoints() and
anyFailedChecks(), and add a new helper function

    SatfuncConsistencyChecks<>::incorporateRankViolations()

which brings sampled points from an MPI rank into the 'root's
internal data structures.

One caveat applies here.  Our current approach to collecting check
failures implies that calling member function reportFailures() is
safe only on the 'root' process in a parallel run.  On the other
hand functions anyFailedChecks() and anyFailedCriticalChecks() are
safe, and guaranteed to return the same answer, on all MPI ranks.

On a final note, the internal helper functions are at present mostly
implemented in terms of non-owning pointers.  I intend to switch to
using 'std::span<>' once we enable C++20 mode.
2024-06-28 11:04:53 +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
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
Arne Morten Kvarving
d32c8c2d90 fixed: linking of some cuda tests with shared libraries
need to link against the cudart library
2024-06-03 08:50:46 +02:00
Kai Bao
481c4830b5 only trying to link darmaris when requested 2024-05-28 16:16:19 +02:00
Tobias Meyer Andersen
60359268fd Add cmake message if not hipifying due to version 2024-05-08 14:28:44 +02:00
Tobias Meyer Andersen
69a45b632e lower cmake version, keep it for HIP 2024-05-08 14:09:26 +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
Kai Bao
68c202eb55 using flowexp as files names 2024-04-23 11:39:49 +02:00
Kai Bao
f6170ec1dd copying the ebos from opm-flowexperimental 2024-04-23 11:39:49 +02:00