Commit Graph
210 Commits
Author SHA1 Message Date
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
Atgeirr Flø Rasmussen c2c79f0903 Move well operators to separate file.
Also introduce new class WellModelAsLinearOperator making a well model
into an actual Dune::LinearOperator, this prevents the TypeTag dependent
type from leaking into the type of the WellModelMatrixAdapter instantiation.

As a side benefit, the adapter classes can now adapt (i.e. combine with a
matrix operator) any linear operator.
2020-06-25 10:13:12 +02:00
T.D. (Tongdong) Qiu 8f9fa15ecd Fixed warnings, mostly shadowed parameters 2020-06-25 09:40:20 +02:00
T.D. (Tongdong) Qiu 98ddf47b44 Added block_size template to BdaSolvers and BILU0 2020-06-25 09:39:55 +02:00
T.D. (Tongdong) Qiu 2a48f5f63f Simplified usage of BdaSolver::second() for timing 2020-06-24 19:48:50 +02:00
T.D. (Tongdong) Qiu 3dc368b0b4 Added block_size templates to the BdaBridge. Removed unused gpu_mode variable 2020-06-24 16:46:04 +02:00
T.D. (Tongdong) Qiu 26133c4fd7 Fixed type of gpu_mode when HAVE_CUDA is false 2020-06-24 15:55:03 +02:00
Markus Blatt 27c9ed5c85 Consistently use ISTLSolverEbos::getMatrix to get correct matrix. 2020-06-24 15:37:43 +02:00
Markus Blatt 27ace20378 [bugfix] remove redundant copyjacToNoGhost in ISTLSolverEbos::solve
It uses a null pointer and make flow segfault. The copying is already
done in ISTLSolverEbos::prepare.
2020-06-24 15:25:24 +02:00
T.D. (Tongdong) Qiu e4417fdc01 Set default value for use_gpu, using Dune would segfault because of the unitialized value 2020-06-23 18:20:10 +02:00
T.D. (Tongdong) Qiu b9e4bd3a95 Updated HAVE_XX guards. Replaced string == compare with .compare() 2020-06-23 18:19:33 +02:00
T.D. (Tongdong) Qiu 39df7c9381 Updated comments, fixed shadowed declaration warnings 2020-06-23 11:30:15 +02:00
T.D. (Tongdong) Qiu f974a5f6db Added openclSolver
Usage: --gpu-mode=[cusparse|opencl|none] on command line
2020-06-22 18:26:49 +02:00
Atgeirr Flø Rasmussen c58456faae Add missing include. 2020-06-20 16:28:59 +02:00
Atgeirr Flø Rasmussen 427eac5132 Use macro for instantiations, and clean up includes. 2020-06-19 16:37:43 +02:00
Atgeirr Flø Rasmussen fb99dd6fee Use unique_ptr rather than shared_ptr. 2020-06-19 16:03:46 +02:00
Atgeirr Flø Rasmussen faddef0321 Do not instantiate things requiring MPI when HAVE_MPI is false. 2020-06-19 10:01:16 +02:00
Atgeirr Flø Rasmussen dcd5d21415 Split constructor to reduce instantiation.
Without the split, certain combinations with Dune::Amg::SequentialInformation
as template argument for Comm needlessly get instantiated.
2020-06-18 08:28:20 +02:00
Atgeirr Flø Rasmussen 3784ab9d77 Amended copyrights and made the _impl.hpp a proper header file. 2020-06-17 21:07:13 +02:00