Tong Dong Qiu
5620b08033
Fix segfaults rocalutionSolver
2022-11-18 14:19:10 +01:00
Tong Dong Qiu
21b23b7aa4
Combine multiple defines into one
2022-11-18 13:09:39 +01:00
Tong Dong Qiu
65128d1616
Removed unused reordering functions, file, header inclusions
2022-11-17 09:38:23 +01:00
Tong Dong Qiu
35287a61ff
Remove FPGASolver and references
2022-11-17 09:38:01 +01:00
Arne Morten Kvarving
bdb2738034
ISTLSolverEbos: instance for ALUGrid
2022-11-14 14:54:11 +01:00
Markus Blatt
4988f98060
Merge pull request #4178 from Tongdongq/rocalution
...
Add rocalutionSolver
2022-11-09 16:44:35 +01:00
Tong Dong Qiu
b51a4a863e
Fix reduction calculation
2022-11-09 10:27:10 +01:00
Tong Dong Qiu
1dd6af15dc
Print via fmt
2022-11-08 13:05:57 +01:00
Tong Dong Qiu
d3d9743b81
Simplify parameter
2022-11-08 10:03:15 +01:00
Tong Dong Qiu
8fbfd473ab
Removed unnecessary stream clear
2022-11-08 10:03:15 +01:00
Tong Dong Qiu
f91154c165
Autodetect if transposing is needed
2022-11-08 10:03:09 +01:00
Bård Skaflestad
1c0f1ad4d0
Merge pull request #4243 from blattms/drop-unused-LinearSolverRequireFullSparsityPattern
...
Remove ununsed ancient LinearSolverRequireFullSparsityPattern option.
2022-11-04 21:47:27 +01:00
Bård Skaflestad
d095c8c287
Merge pull request #4242 from blattms/reactivate-use-gmres-flexible-solver
...
[bugfix] recover support for selecting GMRes as solver.
2022-11-04 21:18:30 +01:00
Markus Blatt
6f5931ca1b
Remove ununsed ancient LinearSolverRequireFullSparsityPattern option.
...
It is unused since 2018 when we moved away from autodiff implementation.
2022-11-04 21:04:40 +01:00
Markus Blatt
2dc73a7c47
[bugfix] recover support for selecting GMRes as solver.
...
Previously, passing --use-gmres=true had now effect. Probably was lost
when introducing FlexibleSolver. With this change the FlexibleSolver
will now use GMRes if the option is true.
Closes #4240
2022-11-04 20:30:13 +01:00
Tong Dong Qiu
5dea01b9dc
Remove unnecessary release()
2022-11-03 15:47:38 +01:00
Arne Morten Kvarving
0e2f7649e2
improve encapsulation
2022-11-03 15:47:38 +01:00
Arne Morten Kvarving
9ce8d1ceca
adjust for ILU reorder removal
2022-11-03 15:47:38 +01:00
Tong Dong Qiu
5466fdd289
Add missing macro guards
2022-11-03 15:47:38 +01:00
Tong Dong Qiu
7e2a6800de
Add test for rocalutionSolver
2022-11-03 15:47:32 +01:00
Tong Dong Qiu
ea73a1bf3c
Add rocalutionSolver
2022-11-02 15:55:07 +01:00
Atgeirr Flø Rasmussen
e872cfb21d
Merge pull request #4194 from hnil/trueimpes_scaling_fix
...
- made heuristic scaling of trueimpes
2022-11-01 12:00:06 +01:00
Tong Dong Qiu
b4e730a767
Removed default declaration in wrong place
2022-10-27 09:25:55 +02:00
hnil
8ede0e67b2
- made heuristic scaling of trueimpes
2022-10-21 12:51:05 +02:00
hnil
32e21c0e25
- fix compilation of amgcl bindings in bda by not doing anything for blocksize 1
2022-10-21 11:08:59 +02:00
Markus Blatt
3e680e41f5
Merge pull request #4136 from Tongdongq/remove_reordering
...
Remove reordering for opencl
2022-10-19 15:30:01 +02:00
Arne Morten Kvarving
0da1ff494b
findOverlapRowsAndColumns: use elements range generator
2022-10-13 23:01:37 +02:00
Arne Morten Kvarving
3137cb5194
getQuasiImplesWeights: use elements range generator
2022-10-13 23:01:37 +02:00
Tong Dong Qiu
09e262bbfd
Minor changes:
...
- removed unused header inclusion
- update comments
- removed unnecessary cast
2022-10-13 15:37:20 +02:00
Bård Skaflestad
90ddd13bcc
Remove Trailing Semicolon on Function's Close Brace
...
This removes a GCC warning message on higher warning levels.
2022-10-13 09:57:55 +02:00
Markus Blatt
fcc3690832
Added missing include of config.h in cpp files.
2022-10-12 15:28:38 +02:00
Tong Dong Qiu
38f67ffa57
Bugfix: wrong size when copying matrix to GPU row-by-row
2022-09-29 11:02:04 +02:00
OPMUSER
75d35bbefb
Update FlowLinearSolverParameters.hpp
...
Remove commented out code
2022-09-29 14:37:52 +08:00
Tong Dong Qiu
5c4d1a3f65
Removed outdated functions
2022-09-27 15:59:51 +02:00
Tong Dong Qiu
d30073a885
Bugfix: use full matrix for spmv
...
Remove references to reordering
2022-09-27 15:59:37 +02:00
Tong Dong Qiu
24f8f7c857
Use exact instead of approximate inverted diagonal blocks for ChowPatel
2022-09-27 15:54:27 +02:00
Tong Dong Qiu
42410d408f
Removed GRAPH_COLORING opencl reordering option.
...
Simplified and renamed opencl_ilu_reorder parameter.
2022-09-27 15:54:19 +02:00
Tong Dong Qiu
e327142088
Do not reorder the matrix for GPU
2022-09-27 15:51:23 +02:00
Tong Dong Qiu
2690917e93
Simple speedup for opencl level_scheduling
2022-09-27 15:51:23 +02:00
OPMUSER
8dbd23793c
LinearSolverVerbosity
...
This is one of several PRs that will rename some command line parameters for greater consistency, as agreed with Atgeirr in #4096
Here we rename FlowLinearSolverVerbosity to LinearSolverVerbosity.
2022-09-26 14:27:55 +08:00
Atgeirr Flø Rasmussen
6834fafe15
Remove misleading dummy ISAI config.
...
Added comment explaining a bit.
2022-09-21 09:32:06 +02:00
Atgeirr Flø Rasmussen
caca77dc67
Rename command line option --linsolver to --linear-solver.
2022-09-21 09:31:19 +02:00
Arne Morten Kvarving
8e2b385f4d
changed: put parts of ISTLSolverEbos in separate compile unit
...
in particular this means simulator objects are now not dependent
on FlexibleSolver.hpp and BdaBridge.hpp
2022-09-12 12:44:56 +02:00
Markus Blatt
a4360b4961
Merge pull request #4028 from akva2/reduce_dup
...
changed: get rid of duplicate MatrixBlock headers/classes
2022-09-09 15:30:30 +02:00
Arne Morten Kvarving
58b0121e9b
fixed: forward structs as struct
2022-09-09 08:37:59 +02:00
Arne Morten Kvarving
2c0ff6f81e
consistently use ParallelCommunication.hpp for communication definition
2022-09-01 12:26:11 +02:00
Antonella Ritorto
57183081c8
Code modernization
...
Change from Functor class to functions.
2022-08-26 08:54:48 +02:00
Arne Morten Kvarving
1a348c0d29
changed: get rid of duplicate MatrixBlock headers/classes
...
this has already led to some confusion. move some of the code
upstream to opm-models and remove the rest of the duplicated code.
the remainder of MatrixBlock.hpp is renamed to SmallDenseMatrixUtils.hpp
2022-08-25 12:48:53 +02:00
Atgeirr Flø Rasmussen
432df26ecc
Merge pull request #4025 from bska/remove-dune-unused
...
Prefer Attributes to Macros
2022-08-25 08:29:33 +02:00
Bård Skaflestad
a56cd6752c
Revert "changed: reduce some code duplication"
2022-08-24 20:34:52 +02:00
Bård Skaflestad
f3fc5331f0
Prefer Attributes to Macros
2022-08-24 17:05:55 +02:00
Arne Morten Kvarving
447d77b579
changed: get rid of duplicate MatrixBlock headers/classes
...
this has already led to some confusion. move some of the code
upstream to opm-models and remove the rest of the duplicated code.
the remainder of MatrixBlock.hpp is renamed to SmallDenseMatrixUtils.hpp
2022-08-24 15:54:01 +02:00
Arne Morten Kvarving
3faccb4a17
changed: reduce some code duplication
2022-08-23 09:31:27 +02:00
Arne Morten Kvarving
3ef07d7f62
changed: put ParallelOverlappingILU0 in separate compile unit
...
i chose to split in a separate _impl file because this code is so
generic that there may be downstream users who want to use on other
matrix types than what we use in opm-simulators.
2022-08-22 11:21:31 +02:00
Arne Morten Kvarving
ec089af048
changed: split PreconditionerFactory in _impl file
...
and put instances in separate cpp files.
2022-08-22 09:33:15 +02:00
Bård Skaflestad
b87154223b
Restore Non-MPI Builds
...
Commit 371b2592f
misordered the closing brace of a namespace and
the conditional declarations dependent upon MPI availability. This
commit restores the expected order and fixes non-MPI builds.
2022-08-18 16:08:41 +02:00
Arne Morten Kvarving
371b2592f5
changed: put ParallelIstlInformation in separate compile unit
2022-08-18 09:15:28 +02:00
Arne Morten Kvarving
a32a32649d
changed: put MILU in separate compile unit
2022-08-16 10:46:20 +02:00
Bård Skaflestad
e73d3368e0
Merge pull request #3989 from Tongdongq/tweak-opencl-launch-params
...
Tweak opencl launch params v2
2022-08-10 14:22:52 +02:00
Tong Dong Qiu
18d9f8cca7
Include missing header
2022-08-10 14:03:32 +02:00
Tong Dong Qiu
58b20fe2fb
Tweak ILU opencl kernel launch params
2022-08-09 13:39:35 +02:00
Tong Dong Qiu
d0aa42e9e3
Reduce source code line lengths
2022-08-09 13:38:57 +02:00
Tong Dong Qiu
5607329b05
Backport to fix ChowPatelIlu
2022-08-09 11:49:47 +02:00
Atgeirr Flø Rasmussen
93ce28e9a2
Merge pull request #3972 from ElyesAhmed/alugrid2
...
Alugrid2
2022-08-04 15:43:24 +02:00
Arne Morten Kvarving
36b167b451
remove use of Unused.hpp
2022-08-02 11:53:54 +02:00
Elyes Ahmed
5c2b60bcd0
rebasing
2022-07-28 20:40:34 +02:00
Bård Skaflestad
9d9ec6c522
Revert "Tweak opencl launch params"
2022-07-07 15:21:53 +02:00
Markus Blatt
f22d58a1d0
Merge pull request #3953 from Tongdongq/tweak-opencl-launch-params
...
Tweak opencl launch params
2022-07-07 10:43:15 +02:00
Tong Dong Qiu
85776f528a
Tweak ILU opencl kernel launch params
2022-06-28 12:42:52 +02:00
Arne Morten Kvarving
9751b78992
fixed: add virtual dtor to class with virtual members
2022-06-27 14:47:44 +02:00
Tong Dong Qiu
842a9a9317
Reduce source code line lengths
2022-06-23 10:21:34 +02:00
Tong Dong Qiu
c4ebed1718
Backport to fix ChowPatelIlu
2022-06-23 10:17:14 +02:00
Markus Blatt
f3bf15ab2f
Merge pull request #3946 from Tongdongq/fix-gpu-verbose-timing
...
Fix: verbose timing for openclSolver
2022-06-22 16:13:57 +02:00
Arne Morten Kvarving
da57e15271
fixed: fix build with dune 2.6
2022-06-20 14:16:43 +02:00
Tong Dong Qiu
4384872f8e
Only use timers when printing their results,
...
and actually wait for kernels to finish when timing GPU
2022-06-17 16:02:56 +02:00
Atgeirr Flø Rasmussen
ffb09ee53e
Merge pull request #3937 from atgeirr/pressure-bhp-cpr
...
Pressure bhp cpr
2022-06-16 17:15:49 +02:00
Atgeirr Flø Rasmussen
c871e603f8
Do not insert unused options.
2022-06-16 16:24:41 +02:00
Atgeirr Flø Rasmussen
66ff942b2f
Move MatrixBlock specializations inside namespace.
...
This is necessary since the calls are ns-qualified in the
matrix market code.
2022-06-16 11:37:40 +02:00
Atgeirr Flø Rasmussen
2992ec25d8
Address issues raised in review.
2022-06-10 15:59:45 +02:00
Atgeirr Flø Rasmussen
7fe3839500
Use MatrixBlock consistently, also whitespace cleanup.
2022-06-10 11:08:24 +02:00
Atgeirr Flø Rasmussen
16b1756339
Add necessary include statements.
2022-06-09 10:38:47 +02:00
hnil
98acda0977
- change FieldMatrix to MatrixBlock in Tracer model to not need extra initializations in linear solver
2022-06-08 17:03:27 +02:00
Atgeirr Flø Rasmussen
a0f16089f7
Re-add explicit instantiation of FlexibleSolver to reduce compile time.
2022-06-08 17:03:27 +02:00
hnil
4ead854b69
- taking pullrequest information into account
...
- Moving transfere level to be template of OwningTwolevelPrecontitioner
2022-06-08 17:03:27 +02:00
hnil
8f4cf8a952
removed compiler warnings
2022-06-08 17:03:27 +02:00
hnil
66c4a8c862
made resue interval separate paramter
2022-06-08 17:03:27 +02:00
hnil
3bed1ebbdb
fixed bug in default options for cprw
2022-06-08 17:03:27 +02:00
hnil
541edeaf67
- add default for CPRW
...
- cleanded code
2022-06-08 17:03:27 +02:00
hnil
8a757a4935
removed comments
2022-06-08 17:03:27 +02:00
hnil
a8acd40f4a
Changes to make ms wells work with cprw
2022-06-08 17:03:27 +02:00
hnil
141a816e5d
new restart options
2022-06-08 17:03:25 +02:00
hnil
aba1d5047d
working with no resue on norne
2022-06-08 17:02:02 +02:00
hnil
c697e70a69
changed definition of extra equations. made norne go to step 27. HACK
2022-06-08 17:02:02 +02:00
hnil
4975d5d9e7
- fixed extended communicator
...
- fixed scaling of well cpr
2022-06-08 17:02:02 +02:00
hnil
da572d1f60
-Fixed buges related to cpr with wells.
...
- change interfaces to have access to pressureVarIndex
- added option in cmake files to propagate checking in dune-istl
2022-06-08 17:02:02 +02:00
Atgeirr Flø Rasmussen
fef06a77af
Updated for upstream changes.
2022-06-08 17:02:02 +02:00
hnil
f3acfcde0b
Adding functions for pressure system manipulation to well models.
...
Also add well-aware operator and transfer policy.
This will be used for CPR with custom operators.
2022-06-08 17:01:33 +02:00
Bård Skaflestad
e6dff88eb7
Temporarily Limit Block-Jacobi Partitioner to OpenCL Only
...
The block-Jacobi partitioner (commit e360c00b7
) uses grid interfaces
that are only available in CpGrid and this blocks introducing other
grid managers such as ALUGrid. Since the partitioner was only added
for OpenCL, guard special purposes accesses with HAVE_OPENCL.
This is a temporary measure and we will venture to restore the
partitioner later, although possibly restricted to CpGrid only.
2022-06-08 16:14:39 +02:00
Tong Dong Qiu
91a54645fb
Fix: zeros were not replaced correctly in the diagonal
...
And minor changes
2022-06-08 10:00:22 +02:00
Tong Dong Qiu
b00d31042c
Check if memory for nnzs is contiguous
2022-05-04 16:15:57 +02:00
Tong Dong Qiu
cb1ee68967
Fix ILU0 creation for NONE reordering
2022-04-21 17:19:02 +02:00
Tong Dong Qiu
50d7c0f61d
Tweak verbosity for opencl
2022-04-21 17:19:01 +02:00
Tong Dong Qiu
68b604c85f
Speed up reordering for opencl
2022-04-21 17:19:01 +02:00
Tong Dong Qiu
fc298d8f9c
Allow cusparseSolver to use jacMatrix
2022-04-21 17:19:01 +02:00
Tong Dong Qiu
4db112cafa
Use row_wise mode to build jacMatrix
2022-04-21 17:19:01 +02:00
Tong Dong Qiu
1a1bc24bef
Delay creating sparsity pattern for jacobi Matrix
2022-04-21 17:19:01 +02:00
Tong Dong Qiu
2683019280
Bugfix: set vector size for MSwells was removed during refactoring
2022-04-21 17:19:01 +02:00
Tong Dong Qiu
448af67ce6
Merge duplicate functions
2022-04-21 17:19:01 +02:00
Tong Dong Qiu
6ca5f167b2
Allow BISAI to use jacMatrix
2022-04-21 17:19:01 +02:00
Tong Dong Qiu
6f89629f92
Fix wrong print, remove unused variables
2022-04-21 17:19:01 +02:00
Tong Dong Qiu
1cec56fa68
Use implicit mode to build jacMatrix
...
Fix print variable
2022-04-21 17:19:01 +02:00
Tong Dong Qiu
550ce92902
Faster copying to jacMatrix
2022-04-21 17:19:01 +02:00
Tong Dong Qiu
3797b7297d
Merge some duplicate functions
2022-04-21 17:19:01 +02:00
Tong Dong Qiu
d963820e48
Pass BlockedMatrix to BdaSolvers
2022-04-21 17:19:00 +02:00
Tong Dong Qiu
7f5322f7d4
Store a BlockedMatrix in BdaBridge
2022-04-21 17:19:00 +02:00
Tong Dong Qiu
9dec714590
Allow to use jacobi matrix for ILU with CPR
...
Fix whitespace
2022-04-21 17:19:00 +02:00
Tong Dong Qiu
61f693dbaf
reenable normal opencl
...
Rebased
2022-04-21 17:18:54 +02:00
Tong Dong Qiu
dee5e16fb8
subdomain matrix for opencl
...
Rebased
2022-04-21 17:18:40 +02:00
Tong Dong Qiu
e360c00b73
add block-jacobi partitioner option. Add block-jacobi matrix for use in OpenCL preconditioner
...
Rebased
2022-04-21 17:18:32 +02:00
Tong Dong Qiu
c1cbf7a00f
Fix ChowPatelIlu compilation errors,
...
introduced in recent PR
2022-02-03 10:42:27 +01:00
Tong Dong Qiu
6c8ada4cd2
Reduced header inclusion and updated comments
2022-02-03 10:42:22 +01:00
Tong Dong Qiu
275bfe2da4
Move cuda files to separate folder
2022-02-02 09:28:41 +01:00
Tong Dong Qiu
e81ca0526e
Move opencl files to separate folder
2022-02-01 16:51:32 +01:00
Markus Blatt
3db9a4e3e5
Merge pull request #3750 from ducbueno/isai-ilu
...
Adds IncompleteSAI preconditioner to openclSolver
2022-01-18 12:38:39 +01:00
Eduardo Bueno
1df9d2e51f
Adds BISAI preconditioner to openclSolver
2022-01-17 13:57:29 -03:00
Tong Dong Qiu
f48fe632cb
Added comment to apply_stdwell kernels
2021-12-22 16:22:55 +01:00
Tong Dong Qiu
3decb73561
Fix stdwell_apply opencl kernel
2021-12-22 16:16:04 +01:00
Jose Eduardo Bueno
c7ac97e215
[OpenCL] Moves all OpenCL kernels to *.cl files.
...
Kernel files are located in opm/simulators/linalg/bda/opencl/kernels.
CMake will combine them for usage in
${PROJECT_BINARY_DIR}/clSources.cpp that becomes part of the library.
2021-12-22 12:43:18 +01:00
Arne Morten Kvarving
2d0d48d8c9
fix build with dune 2.6
2021-12-09 09:02:13 +01:00
Markus Blatt
ac41c318da
Fixes compilation of opencl CPR without MPI
2021-12-08 20:24:14 +01:00
Tong Dong Qiu
374f8276dc
Move opencl variables to Preconditioner
2021-12-01 14:15:59 +01:00
Tong Dong Qiu
94ea2dcd30
Change C to C++
...
Also bugfix wrong size when COPY_ROW_BY_ROW is active
2021-12-01 14:15:16 +01:00
Tong Dong Qiu
e0a4d271ea
Formatting changes
2021-12-01 11:47:45 +01:00
Tong Dong Qiu
0881089406
Add Preconditioner, superclass of BILU0 and CPR
2021-12-01 11:47:45 +01:00
Tong Dong Qiu
50d0486b28
Allow a variable number of pre/post smooth steps during AMG
2021-12-01 11:47:44 +01:00
Tong Dong Qiu
a911d5d2be
Add test for solve_transposed_3x3()
2021-12-01 11:47:44 +01:00
Tong Dong Qiu
56fb3948e5
Fill restriction matrix faster
2021-12-01 11:47:44 +01:00
Tong Dong Qiu
411d3c6a8d
Replace spmv-prolongation by specialized kernel
2021-12-01 11:47:44 +01:00
Tong Dong Qiu
eaded9dcf7
Add prolongate_vector() kernel
2021-12-01 11:47:44 +01:00
Tong Dong Qiu
9d611f04ee
Add timers to opencl CPR preconditioner
2021-12-01 11:47:44 +01:00
Tong Dong Qiu
f2225503c4
Combine BILU0 and CPR preconditioner
2021-12-01 11:47:44 +01:00
Tong Dong Qiu
11d54f31f5
Reuse umfpack object
2021-12-01 11:47:29 +01:00
Tong Dong Qiu
b9a12b64d9
Rename copy sparsity pattern function
2021-12-01 11:43:40 +01:00
Tong Dong Qiu
d7204c5be7
Create separate functions
2021-12-01 11:43:39 +01:00
Tong Dong Qiu
13646337f3
Reduce get_absmax() code
2021-12-01 11:43:39 +01:00
Tong Dong Qiu
5e85c23478
Renamed move_to_coarse/fine() in CPR
2021-12-01 11:43:39 +01:00
Tong Dong Qiu
19a0454b6f
Update comments
2021-12-01 11:43:39 +01:00
Tong Dong Qiu
ca44351c72
Add error checks for OpenclMatrix
2021-12-01 11:43:39 +01:00
Tong Dong Qiu
de8073e689
Reuse Matrix constructor
2021-12-01 11:43:39 +01:00
Tong Dong Qiu
a71a5cd8fe
Moved OpenclMatrix to new file
2021-12-01 11:43:39 +01:00