Commit Graph

328 Commits

Author SHA1 Message Date
Jose Eduardo Bueno
a9c2a684c6 Removed WellContributionsOCLContainer class (rebase) 2020-11-18 09:14:31 -03:00
Markus Blatt
64fa5a2b30
Merge pull request #2858 from Tongdongq/ilu-reorder-strategy
Added cmdline parameter --ilu-reorder-strategy
2020-11-17 09:35:12 +01:00
Atgeirr Flø Rasmussen
db7cd1053f Add the multMatrixImpl() utility. 2020-11-16 11:37:44 +01:00
Tor Harald Sandve
fbccdbf68e Make a flow version that uses the polyhedreal grid
Currently the simulator creats the polyhedreal grid from an eclGrid from opm-common

TODO
 - make it possible to create the grid directly from DGF or MRST format
 - fix issue on norne.
2020-11-10 15:49:59 +01:00
Atgeirr Flø Rasmussen
adfb8ef771
Merge pull request #2898 from blattms/always-accu-to-one-proc-as-default
Always accumulates data in AMG to 1 process on coarse levels.
2020-11-05 15:41:57 +01:00
Markus Blatt
d83ae17e5b Always accumulates data in AMG to 1 process on coarse levels.
In OPM the matrix graph might be unsymmetric as we do not store
the full sparsity pattern for copy rows but only the diagonal.
Unfortunately, DUNE assumes that matrices from finite elements and
finite volumes have a symmetric sparsity pattern for copy rows to
and uses this assumption to create the graphs for PTScotch/ParMETIS
more easily. But PTScotch/ParMetis assume a symmetric graph.
2020-11-03 22:13:27 +01:00
Arne Morten Kvarving
4121e0a3c4 fix typo 2020-11-03 13:48:09 +01:00
tqiu
d25405d39a Renamed parameter to OpenclIluReorder and moved error checking to BdaBridge constructor. 2020-10-19 11:36:25 +02:00
tqiu
a372a1e4bd Added cmdline parameter --ilu-reorder-strategy 2020-10-19 11:33:32 +02:00
Atgeirr Flø Rasmussen
e7d1d6603a Silence unused argument warning. 2020-10-19 09:13:37 +02:00
Bård Skaflestad
9a71bbe4b0 Move 'gridForConn' Into Cuda/OpenCL Block
It is only used within this context and produces a warning of the
form

  ISTLSolverEbos.hpp:128:25: warning: unused variable ‘gridForConn’

unless the build configures accelerator support.
2020-10-19 02:28:05 +02:00
Markus Blatt
44fadfb88a Fixes compilation of CUDA.
nvcc exits compilation if the header dune/istl/basearray.hh (form DUNE
2.6) is included as it does not seem to understand the friend declaration
there (friend class for a struct).

```
/usr/include/dune/istl/basearray.hh:101:49: error: ‘typename Dune::Imp::base_array_unmanaged<B, A>::RealIterator’ names ‘template<class B, class A> template<class T> struct Dune::Imp::base_array_unmanaged<B, A>::RealIterator’, which is not a type
       friend class RealIterator<const ValueType>;
                                                 ^
```
2020-10-14 19:23:57 +02:00
Atgeirr Flø Rasmussen
43d5d2c532
Merge pull request #2850 from atgeirr/silence-warnings
Silence warnings from range-for.
2020-10-13 08:19:48 +02:00
Atgeirr Flø Rasmussen
ea0abd1331 Bugfix: do not substr() on too small strings. 2020-10-12 21:58:58 +02:00
Atgeirr Flø Rasmussen
dedbe78cee Copyright additions. 2020-10-12 17:06:11 +02:00
Atgeirr Flø Rasmussen
316b28923d Rename parameter --linear-solver-configuration to --linsolver. 2020-10-12 17:03:00 +02:00
Atgeirr Flø Rasmussen
f169cf90d8 Remove --linear-solver-configuration-file parameter.
This is now handled by passing a string to --linear-solver-configuration that
ends with ".json".
2020-10-12 16:41:09 +02:00
Atgeirr Flø Rasmussen
f262eec9bf Silence warnings from range-for. 2020-10-12 09:39:37 +02:00
Atgeirr Flø Rasmussen
385880485a Fix logic of shouldCreateSolver(). 2020-10-11 22:46:02 +02:00
Atgeirr Flø Rasmussen
30a4fe55b0 Add "amg" option to --linear-solver-configuration. 2020-10-11 09:31:48 +02:00
Atgeirr Flø Rasmussen
842afd312e Refactor setupPropertyTree(). 2020-10-11 09:24:05 +02:00
Atgeirr Flø Rasmussen
00438c4860 Remove unused parts (not just comment out). 2020-10-11 08:44:21 +02:00
Atgeirr Flø Rasmussen
0a70d95bee Refactor shouldCreateSolver(). 2020-10-11 08:20:19 +02:00
Atgeirr Flø Rasmussen
1c208e9a92 Avoid unnecessary extra matrix manipulation.
When using the ParallelOverlappingILU0 it is not necessary to fix the overlap rows.
2020-10-10 10:09:23 +02:00
Atgeirr Flø Rasmussen
65817c9068 Removed old amg/cpr code that can be replaced.
The replacement consists of using the FlexibleSolver code.
2020-10-08 15:12:41 +02:00
Markus Blatt
ec884183a5
Merge pull request #2828 from blattms/add-mswells
[opencl] deletes assignment operator of WellContributionsOCLContainer
2020-10-01 22:35:09 +02:00
Markus Blatt
e8c030be17
Merge pull request #2821 from ducbueno/add-mswells
Reintroduced multisegment wells to OpenCL backend
2020-10-01 21:52:25 +02:00
Markus Blatt
684b58564c use auto in for-loop as at other occasions. 2020-10-01 15:56:50 +02:00
Markus Blatt
f306f78737 Delete assignment operator of WellContributionsOCLContainer, too 2020-10-01 15:55:57 +02:00
Jose Eduardo Bueno
fbbb21d482 Removed smart pointers; + delete for copy constr 2020-10-01 10:27:34 -03:00
Jose Eduardo Bueno
89cefd8d95 Fixed seg fault when there are only mswells 2020-09-30 18:34:50 -03:00
Jose Eduardo Bueno
7aad035bcf Added smart pointers 2020-09-30 17:31:35 -03:00
Markus Blatt
d30f6d272b [gpu] Support UMFPack with DUNE 2.7
The index type changed from int to long int with 2.7.
2020-09-30 20:10:21 +02:00
Jose Eduardo Bueno
3a680f728e Removed unnecessary vector clear operations 2020-09-30 09:14:20 -03:00
Jose Eduardo Bueno
99e4419b3c Reintroduced multisegment wells 2020-09-30 09:11:20 -03:00
Jose Eduardo Bueno
a3a15a744c Corrected kernel 2020-09-28 18:06:13 -03:00
Jose Eduardo Bueno
9fe6ee85a4 Throws exception if well dimensions aren't correct 2020-09-28 18:01:42 -03:00
Jose Eduardo Bueno
268bcd95e8 Implemented reinit; reduced sync events 2020-09-28 17:27:12 -03:00
Jose Eduardo Bueno
bedf3d16cf Querying number of work items with get_local_size 2020-09-28 12:56:22 -03:00
Jose Eduardo Bueno
77bcadff45 Events wellContribs write calls & update sparsity 2020-09-28 09:40:39 -03:00
Jose Eduardo Bueno
d653873735 Added destructor for WellContributionsOCLContainer 2020-09-28 09:15:17 -03:00
Jose Eduardo Bueno
d236079173 Bug fixes 2020-09-25 11:31:17 -03:00
Jose Eduardo Bueno
ab57d5ecd2 Fixed errors 2020-09-24 18:07:10 -03:00
Jose Eduardo Bueno
1ba81cece2 First commit 2020-09-24 16:35:36 -03:00
Jose Eduardo Bueno
c43648076f Fixed kernel; fixed time step chopping; 2020-09-24 16:35:36 -03:00
Jose Eduardo Bueno
c41aafcc58 Simplified initialize_wellContribs calls 2020-09-24 16:35:36 -03:00
Joakim Hove
0565d6f402 Remove unused #include of exceptions 2020-09-21 11:12:15 +02:00
Markus Blatt
53005c477d
Merge pull request #2762 from ducbueno/opencl-stdwell-clean
Fixed out of resources problem
2020-09-03 19:50:39 +02:00
Jose Eduardo Bueno
525faf7b5d Changed work_group_size 2020-09-03 14:25:50 -03:00
Jose Eduardo Bueno
f8898e3158 New function for setting OpenCL in wellContribs 2020-09-03 13:30:12 -03:00
Arne Morten Kvarving
273d465c32 fixed: use the proper linear operator without wells in matrix in serial 2020-09-03 15:53:57 +02:00
Jose Eduardo Bueno
c7adc3495f Initial commit 2020-09-03 09:46:44 -03:00
Markus Blatt
27931c4303 [opencl] Fixes shadowing variable warnings.
These seemed familar and I would have sworn that I already fixed them
somewhen. Might have been reintroduced by rebasing.
2020-09-02 22:46:44 +02:00
Markus Blatt
e997d7b130
Merge pull request #2751 from ducbueno/opencl-stdwell-clean
AddStandardWell functionality in OpenCL backend
2020-09-02 22:02:05 +02:00
Jose Eduardo Bueno
4d10d9ac76 Fixed issue when no std wells are present 2020-09-02 15:44:46 -03:00
Jose Eduardo Bueno
56c1c0862c Added StandardWell functionality to OpenCL backend 2020-09-02 15:00:34 -03:00
Arne Morten Kvarving
7305f84351 use std::make_unique where applicable 2020-09-02 15:35:39 +02:00
Arne Morten Kvarving
3b21a8a481 changed: remove SET_TYPE_PROP macro usage 2020-08-28 10:44:53 +02:00
Arne Morten Kvarving
93a3ebf8f7 changed: remove NEW_PROP_TAG macro usage 2020-08-28 10:44:53 +02:00
Arne Morten Kvarving
941e4916f8 changed: remove SET_PROP macro usage 2020-08-27 14:02:05 +02:00
Arne Morten Kvarving
7d853d2e05 changed: remove SET_SCALAR_PROP macro usage 2020-08-27 13:01:51 +02:00
Arne Morten Kvarving
fca83318aa changed: remove SET_INT_PROP macro usage 2020-08-27 13:01:51 +02:00
Arne Morten Kvarving
a79c37a041 changed: remove SET_STRING_PROP macro usage 2020-08-27 13:01:51 +02:00
Arne Morten Kvarving
0e71c0e29b changed: remove SET_BOOL_PROP macro usage 2020-08-27 13:01:51 +02:00
Arne Morten Kvarving
e8248b44ff changed: remove NEW_TYPE_TAG macro usage 2020-08-27 13:01:51 +02:00
Arne Morten Kvarving
914053ac3c changed: remove GET_PROP_VALUE macro usage 2020-08-27 13:01:51 +02:00
Arne Morten Kvarving
74fac38d85 changed: remove GET_PROP_TYPE / GET_PROP macro usage 2020-08-27 08:19:39 +02:00
Arne Morten Kvarving
70908d9017 changed: remove BEGIN_PROPERTIES/END_PROPERTIES macro usage 2020-08-21 15:50:35 +02:00
Markus Blatt
5743a979e3 Formatting: added missing space. 2020-08-07 09:38:10 +02:00
Markus Blatt
8d3eac81a5 [OpenCL] Fixes out of bounds read in reordering code in ILU0.
rowPerColor only has size numColors!
2020-08-05 21:22:01 +02:00
Markus Blatt
c28a12636a Also free memory allocated with CUDA also with CUDA
With multisegment wells we allocate WellContributions::hx and hy with
`CudaMallocHost`. Yet we tried to deallocate them with
`delete[]`. This caused segementation faults e.g. for
model1/MSW_MODEL_1. Now we use `CudaFreeHost` for freeing if we used
CUDA.

Closes #2719
2020-08-04 12:54:27 +02:00
Markus Blatt
f37fa8bbd9 Prevent unused variable warnings without CUDA in WellContributions. 2020-07-21 11:24:19 +02:00
Markus Blatt
59064b4ac2 Prevent warning about shadowing dim_wells and dim. 2020-07-10 13:40:38 +02:00
Markus Blatt
efd3aeb290 Catch exceptions by const reference to prevent warnings.
e.g. gcc issued: "warning: catching polymorphic type ‘class cl::Error’ by value [-Wcatch-value=]"
2020-07-10 13:40:38 +02:00
Markus Blatt
faaee51d09
Merge pull request #2682 from Tongdongq/openclSolver
Added openclSolver
2020-07-10 13:38:32 +02:00
T.D. (Tongdong) Qiu
5971a7ae9e Split WellContributions into .cpp and .cu 2020-07-10 11:13:55 +02:00
T.D. (Tongdong) Qiu
af02fc3924 Added try-catch around the linear solve 2020-07-07 16:07:42 +02:00
T.D. (Tongdong) Qiu
0b20762e59 Clarified parameter help print and chosen OpenCL platform and device 2020-07-07 14:26:02 +02:00
T.D. (Tongdong) Qiu
ab49f60eca Added opencl.hpp to define variables and import opencl
Added opencl.cpp to get OpenCL error strings
2020-07-07 13:46:47 +02:00
T.D. (Tongdong) Qiu
478e2ee971 Improved rowsPerColor usage 2020-07-07 11:00:38 +02:00
T.D. (Tongdong) Qiu
5aa8dda487 Changed default parallel strategy to GRAPH_COLORING 2020-07-06 13:56:27 +02:00
T.D. (Tongdong) Qiu
4c037b0998 Removed unused test kernels 2020-07-06 13:56:27 +02:00
T.D. (Tongdong) Qiu
a164a57220 Added memory management to BlockedMatrix 2020-07-06 13:55:50 +02:00
T.D. (Tongdong) Qiu
779a713330 Simplified BdaSolverStatus 2020-07-06 13:40:44 +02:00
T.D. (Tongdong) Qiu
833ea8ae72 Added templated blockinversion for C-style arrays 2020-07-06 13:40:44 +02:00
T.D. (Tongdong) Qiu
bb622449b6 Changed platformID and deviceID to commandline parameter. Make sure Flow exits cleanly upon invalid platform- or deviceID. 2020-07-06 13:38:57 +02:00
Tom Hogervorst
c8eb14aaac Graph coloring now uses CSC-format version of input pattern as well. 2020-07-06 13:29:30 +02:00
Tom Hogervorst
38c58bffae Renamed functions to all used Camel case, and renamed parameters to better represent what is stored in them.
Fixed mistake of using wrong sparsity pattern data to call canBeStarted function, and removed nnzValues of CSCmat, which were never used.
2020-07-06 13:18:46 +02:00
T.D. (Tongdong) Qiu
7f8faa018b Replaced timing function with Dune::Timer 2020-07-06 11:22:11 +02:00
T.D. (Tongdong) Qiu
845563c37b Replaced hardcoded constant with template 2020-07-06 11:20:43 +02:00
Bård Skaflestad
8e20e0957f Don't Name Type that does not Exist in Sequential Configurations
This commit makes the constructor PressureInverseOperator that
accepts a Dune::OwnerOverlapCopyCommunication<> object contingent on
having MPI.  The type does not exist otherwise.
2020-07-01 21:52:57 +02:00
Atgeirr Flø Rasmussen
c94eec872f Allow well operators with FlexibleSolver. 2020-06-30 12:33:57 +02:00
T.D. (Tongdong) Qiu
8913e1d057 Make sure OpenCL can be used without CUDA 2020-06-25 18:44:49 +02:00
T.D. (Tongdong) Qiu
b7f47c9787 Clarified preprocessor macros 2020-06-25 15:01:23 +02:00
T.D. (Tongdong) Qiu
c76630687d Removed config.h in header files 2020-06-25 14:49:41 +02:00
T.D. (Tongdong) Qiu
0471da3815 Rewritten Graph Coloring 2020-06-25 14:42:35 +02:00
T.D. (Tongdong) Qiu
ca83a8f53c Removed unused headers 2020-06-25 13:12:12 +02:00
T.D. (Tongdong) Qiu
4ad234bf55 Changed some ints to unsigned 2020-06-25 12:29:20 +02:00
T.D. (Tongdong) Qiu
b692b66d3a Added block_size templates to BlockedMatrix and Reorder functions 2020-06-25 11:51:41 +02:00
Atgeirr Flø Rasmussen
c59f4f7118 Make ghost-last feature available in PreconditionerFactory. 2020-06-25 10:56:11 +02:00