Commit Graph

346 Commits

Author SHA1 Message Date
Bård Skaflestad
f86383f194 Link MainDispatchDynamic to LibFMT
Some code in implementation depends on the libfmt headers.
2025-02-10 15:07:09 +01:00
Arne Morten Kvarving
c24e28a91d test_is_gpu_pointer: add missing linking against cudart 2025-02-07 09:55:32 +01:00
Arne Morten Kvarving
8e9703b0da fixed: extract MainDispatchDynamic to a object library
fixes building with shared libraries.
linking a shared library with missing symbols is a problem, while linking
a binary against a static library will prune non-referenced symbols and
it is thus fine.
2025-02-07 09:55:32 +01:00
Kjetil Olsen Lye
e9cf89fd23 Added copy functions from GPU smart pointers 2025-02-05 11:29:22 +01:00
Tobias Meyer Andersen
f993fe9361 fix include error, rename test_smart_pointers.cu
This pr fixes an include error caused by a bad
rebase. I also change the name of the test for
gpu smart pointers to start with "gpu" to make it
easier to run all gpu tests at once
2025-02-04 16:03:05 +01:00
Kjetil Olsen Lye
c7e2ad39c2 Added utility class to hold a GPU resource (stream, event, graph, etc). 2025-02-04 14:53:31 +01:00
Kjetil Olsen Lye
db440df072 Added convenience functions for smart pointers on GPU and a view to pointers. 2025-02-04 10:26:48 +01:00
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