HypreInterface.hpp
Go to the documentation of this file.
119 SparsityPattern setupSparsityPattern(const MatrixType& matrix, const ParallelInfo& par_info, bool owner_first);
173 transferGpuVectorToHypre(vec, hypre_vec, host_arrays, device_arrays, par_info, use_gpu_backend);
177 transferCpuVectorToHypre(vec, hypre_vec, host_arrays, device_arrays, par_info, use_gpu_backend);
191 transferHypreToGpuVector(hypre_vec, vec, host_arrays, device_arrays, par_info, use_gpu_backend);
195 transferHypreToCpuVector(hypre_vec, vec, host_arrays, device_arrays, par_info, use_gpu_backend);
Unified interface for Hypre operations with both CPU and GPU data structures. Definition: HypreInterface.hpp:61 void destroySolver(HYPRE_Solver solver) Destroy Hypre solver. Definition: HypreSetup.hpp:219 void transferVectorToHypre(const VectorType &vec, HYPRE_IJVector hypre_vec, HostArrays &host_arrays, const DeviceArrays &device_arrays, const ParallelInfo &par_info, bool use_gpu_backend) Transfer vector to Hypre from any vector type (CPU or GPU) Definition: HypreInterface.hpp:164 void transferCpuVectorToHypre(const VectorType &cpu_vec, HYPRE_IJVector hypre_vec, HypreHostDataArrays &host_arrays, const HypreDeviceDataArrays &device_arrays, const ParallelInfo &par_info, bool use_gpu_backend) Transfer CPU vector to Hypre vector. Definition: HypreCpuTransfers.hpp:67 ParallelInfo setupHypreParallelInfo(const CommType &comm, const MatrixType &matrix) Setup parallel information for Hypre (automatically detects serial/parallel) Definition: HypreSetup.hpp:263 void destroyMatrix(HYPRE_IJMatrix matrix) Destroy Hypre matrix. Definition: HypreSetup.hpp:233 HYPRE_Solver createAMGSolver() Create Hypre solver (BoomerAMG) Definition: HypreSetup.hpp:117 void transferHypreToCpuVector(HYPRE_IJVector hypre_vec, VectorType &cpu_vec, HypreHostDataArrays &host_arrays, const HypreDeviceDataArrays &device_arrays, const ParallelInfo &par_info, bool use_gpu_backend) Transfer Hypre vector to CPU vector. Definition: HypreCpuTransfers.hpp:127 void updateMatrixFromCpuMatrix(const MatrixType &cpu_matrix, HYPRE_IJMatrix hypre_matrix, const SparsityPattern &sparsity_pattern, const HypreHostDataArrays &host_arrays, const HypreDeviceDataArrays &device_arrays, bool use_gpu_backend) Update Hypre matrix from CPU matrix Uses HYPRE_IJMatrixSetValues2 with pre-computed row_indexes,... Definition: HypreCpuTransfers.hpp:187 ::Opm::gpuistl::ParallelInfo ParallelInfo Definition: HypreInterface.hpp:64 std::vector< HYPRE_Int > computeRowIndexes(const MatrixType &matrix, const std::vector< HYPRE_Int > &ncols, const std::vector< int > &local_dune_to_local_hypre, bool owner_first) Compute row indexes for HYPRE_IJMatrixSetValues2. Definition: HypreSetup.hpp:634 HYPRE_IJMatrix createMatrix(HYPRE_Int N, HYPRE_Int dof_offset, const CommType &comm) Create Hypre matrix. Definition: HypreSetup.hpp:170 void updateMatrixValues(const MatrixType &matrix, HYPRE_IJMatrix hypre_matrix, const SparsityPattern &sparsity_pattern, const HostArrays &host_arrays, const DeviceArrays &device_arrays, bool use_gpu_backend) Update matrix values in Hypre. Definition: HypreInterface.hpp:200 SparsityPattern setupSparsityPattern(const MatrixType &matrix, const ParallelInfo &par_info, bool owner_first) Setup sparsity pattern from matrix (automatically detects CPU/GPU type) Definition: HypreSetup.hpp:465 ::Opm::gpuistl::SparsityPattern SparsityPattern Definition: HypreInterface.hpp:65 void initialize(bool use_gpu_backend) Initialize the Hypre library and set memory/execution policy. Definition: HypreSetup.hpp:89 HYPRE_IJVector createVector(HYPRE_Int N, HYPRE_Int dof_offset, const CommType &comm) Create Hypre vector. Definition: HypreSetup.hpp:197 void destroyVector(HYPRE_IJVector vector) Destroy Hypre vector. Definition: HypreSetup.hpp:247 void setSolverParameters(HYPRE_Solver solver, const PropertyTree &prm, bool use_gpu_backend) Set solver parameters from property tree. Definition: HypreSetup.hpp:133 void transferVectorFromHypre(HYPRE_IJVector hypre_vec, VectorType &vec, HostArrays &host_arrays, const DeviceArrays &device_arrays, const ParallelInfo &par_info, bool use_gpu_backend) Transfer vector from Hypre to any vector type (CPU or GPU) Definition: HypreInterface.hpp:182 Definition: AmgxInterface.hpp:38 GPU device memory arrays for HYPRE operations with GPU backend. Definition: HypreDataStructures.hpp:137 Host arrays for HYPRE matrix and vector data transfers. Definition: HypreDataStructures.hpp:106 Parallel domain decomposition information for HYPRE-Dune interface. Definition: HypreDataStructures.hpp:37 Compressed Sparse Row (CSR) sparsity pattern for HYPRE matrix assembly. Definition: HypreDataStructures.hpp:86 Type trait to detect if a type is a GPU type. Definition: gpu_type_detection.hpp:40 |