opm-simulators/opm/simulators/linalg
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
..
bda avoid including MultisegmentWellContribution in WellContributions.hpp 2024-04-17 08:11:47 +02:00
cuistl Add HIP support for AMD GPUs 2024-05-06 15:56:53 +02:00
amgcpr.hh -- added more timing to get better coverage of amg solver 2023-07-24 12:28:08 +02:00
DILU.hpp add missing include 2023-11-22 13:18:56 +01:00
extractMatrix.hpp Add utilities that will be needed for NLDD solvers. 2023-06-09 10:08:29 +02:00
ExtractParallelGridInformationToISTL.cpp ExtractParallelGridInfoToISTL: use forwarding 2021-04-29 12:50:19 +02:00
ExtractParallelGridInformationToISTL.hpp ExtractParallelGridInfoToISTL: use forwarding 2021-04-29 12:50:19 +02:00
ExtraSmoothers.hpp add OpenMP parallelized version of DILU. 2023-11-21 15:41:53 +01:00
findOverlapRowsAndColumns.hpp consistently use std::size_t 2023-08-15 09:32:10 +02:00
FlexibleSolver1.cpp Use macro for instantiations, and clean up includes. 2020-06-19 16:37:43 +02:00
FlexibleSolver2.cpp Use macro for instantiations, and clean up includes. 2020-06-19 16:37:43 +02:00
FlexibleSolver3.cpp Use macro for instantiations, and clean up includes. 2020-06-19 16:37:43 +02:00
FlexibleSolver4.cpp Use macro for instantiations, and clean up includes. 2020-06-19 16:37:43 +02:00
FlexibleSolver5.cpp first version of micp implementation in flow 2021-10-14 17:44:57 +02:00
FlexibleSolver6.cpp first version of micp implementation in flow 2021-10-14 17:44:57 +02:00
FlexibleSolver_impl.hpp Add HIP support for AMD GPUs 2024-05-06 15:56:53 +02:00
FlexibleSolver.hpp Ensure UMFPACK works with FlexibleSolver. 2023-06-09 15:37:31 +02:00
FlowLinearSolverParameters.hpp adjust to Parameters::isSet change 2024-04-15 08:12:05 +02:00
getQuasiImpesWeights.hpp removed more warings and a bug for strange index settings 2024-01-18 18:25:50 +01:00
GraphColoring.hpp replace loop with std function, remove print from test 2023-11-21 09:52:48 +01:00
ISTLSolver.cpp move ebos/alucartesianindexmapper.hh to opm/simulators/flow 2024-02-23 15:27:28 +01:00
ISTLSolver.hpp adjust to Parameters::isSet change 2024-04-15 08:12:05 +02:00
ISTLSolverBda.cpp move ebos/alucartesianindexmapper.hh to opm/simulators/flow 2024-02-23 15:27:28 +01:00
ISTLSolverBda.hpp adjust to removal of EWOMS_GET_PARAM 2024-04-05 14:02:28 +02:00
MatrixMarketSpecializations.hpp minimum dune version required is now 2.7 2023-04-12 09:41:23 +02:00
MILU.cpp -- added more timing to get better coverage of amg solver 2023-07-24 12:28:08 +02:00
MILU.hpp Remove Trailing Semicolon on Function's Close Brace 2022-10-13 09:57:55 +02:00
OwningBlockPreconditioner.hpp adjust to timing macro header split 2023-03-01 13:18:16 +01:00
OwningTwoLevelPreconditioner.hpp OwningTwoLevelPreconditioner: avoid use of sstream 2023-01-02 15:19:08 +01:00
ParallelIstlInformation.cpp Restore Non-MPI Builds 2022-08-18 16:08:41 +02:00
ParallelIstlInformation.hpp consistently use ParallelCommunication.hpp for communication definition 2022-09-01 12:26:11 +02:00
ParallelOverlappingILU0_impl.hpp consistently use std::size_t 2023-08-15 09:32:10 +02:00
ParallelOverlappingILU0.cpp changed: put ParallelOverlappingILU0 in separate compile unit 2022-08-22 11:21:31 +02:00
ParallelOverlappingILU0.hpp -- added more timing to get better coverage of amg solver 2023-07-24 12:28:08 +02:00
ParallelRestrictedAdditiveSchwarz.hpp -- added more timing to get better coverage of amg solver 2023-07-24 12:28:08 +02:00
PreconditionerFactory1.cpp changed: split PreconditionerFactory in _impl file 2022-08-22 09:33:15 +02:00
PreconditionerFactory2.cpp changed: split PreconditionerFactory in _impl file 2022-08-22 09:33:15 +02:00
PreconditionerFactory3.cpp changed: split PreconditionerFactory in _impl file 2022-08-22 09:33:15 +02:00
PreconditionerFactory4.cpp changed: split PreconditionerFactory in _impl file 2022-08-22 09:33:15 +02:00
PreconditionerFactory5.cpp changed: split PreconditionerFactory in _impl file 2022-08-22 09:33:15 +02:00
PreconditionerFactory6.cpp changed: split PreconditionerFactory in _impl file 2022-08-22 09:33:15 +02:00
PreconditionerFactory_impl.hpp Add HIP support for AMD GPUs 2024-05-06 15:56:53 +02:00
PreconditionerFactory.hpp -- added more timing to get better coverage of amg solver 2023-07-24 12:28:08 +02:00
PreconditionerFactoryGPUIncludeWrapper.hpp Add HIP support for AMD GPUs 2024-05-06 15:56:53 +02:00
PreconditionerWithUpdate.hpp Make function that infers templates, avoid use of new 2024-04-16 15:39:17 +02:00
PressureBhpTransferPolicy.hpp consistently use std::size_t 2023-08-15 09:32:10 +02:00
PressureSolverPolicy.hpp Determine index of pressure from model used. 2021-06-10 16:19:18 +02:00
PressureTransferPolicy.hpp consistently use std::size_t 2023-08-15 09:32:10 +02:00
PropertyTree.cpp added: PropertyTree class 2021-06-09 15:21:52 +02:00
PropertyTree.hpp added: PropertyTree class 2021-06-09 15:21:52 +02:00
setupPropertyTree.cpp Add cpr_trueimpesanalytic option for LinearSolver parameter. 2024-01-24 13:03:18 +01:00
setupPropertyTree.hpp Add DILU preconditioner 2023-10-18 14:30:17 +02:00
SmallDenseMatrixUtils.hpp changed: get rid of duplicate MatrixBlock headers/classes 2022-08-25 12:48:53 +02:00
twolevelmethodcpr.hh Add comment on trailing return type with decltype that is used for detecting the signature of the coarsen function of the Dune::Amg::IndicesCoarsener 2024-01-26 14:29:19 +01:00
WellOperators.hpp WellOperators.hpp: fix comment 2024-02-06 14:03:08 +01:00
WriteSystemMatrixHelper.hpp use std::filesystem directly 2021-11-01 12:31:58 +01:00