|
hypreinterface/HypreCpuTransfers.hpp
Go to the documentation of this file.
94 HYPRE_IJVectorSetValues(hypre_vec, N, const_cast<HYPRE_BigInt*>(host_arrays.indices.data()), values));
135 HYPRE_IJVectorGetValues(hypre_vec, N, const_cast<HYPRE_BigInt*>(host_arrays.indices.data()), values));
169 gpuistl::HypreInterface::updateMatrixFromCpuMatrix(cpu_matrix, hypre_matrix, sparsity_pattern, device_arrays);
#define OPM_HYPRE_SAFE_CALL(expr) Macro to wrap Hypre function calls with error checking. Definition: HypreErrorHandling.hpp:96 void updateMatrixFromCpuMatrix(const MatrixType &cpu_matrix, HYPRE_IJMatrix hypre_matrix, const linalg::HypreInterface::SparsityPattern &sparsity_pattern, const linalg::HypreInterface::DeviceDataArrays &device_arrays) Update Hypre matrix from CPU matrix Uses HYPRE_IJMatrixSetValues2 with pre-computed row_indexes,... Definition: gpuistl/hypreinterface/HypreCpuTransfers.hpp:143 void transferCpuVectorToHypre(const VectorType &cpu_vec, HYPRE_IJVector hypre_vec, linalg::HypreInterface::HostDataArrays &host_arrays, const linalg::HypreInterface::DeviceDataArrays &device_arrays, const linalg::HypreInterface::ParallelInfo &par_info) Transfer CPU vector to Hypre vector. Definition: gpuistl/hypreinterface/HypreCpuTransfers.hpp:67 void transferHypreToCpuVector(HYPRE_IJVector hypre_vec, VectorType &cpu_vec, linalg::HypreInterface::HostDataArrays &host_arrays, const linalg::HypreInterface::DeviceDataArrays &device_arrays, const linalg::HypreInterface::ParallelInfo &par_info) Transfer Hypre vector to CPU vector. Definition: gpuistl/hypreinterface/HypreCpuTransfers.hpp:104 Unified interface for Hypre operations with both CPU and GPU data structures. Definition: hypreinterface/HypreCpuTransfers.hpp:36 void setContinuousVectorForHypre(const VectorType &v, std::vector< HYPRE_Real > &continuous_vector_values, const std::vector< int > &local_hypre_to_local_dune) Extract owned vector values in the order expected by HYPRE. Definition: hypreinterface/HypreCpuTransfers.hpp:43 void transferCpuVectorToHypre(const VectorType &cpu_vec, HYPRE_IJVector hypre_vec, linalg::HypreInterface::HostDataArrays &host_arrays, const linalg::HypreInterface::DeviceDataArrays &device_arrays, const linalg::HypreInterface::ParallelInfo &par_info, bool use_gpu_backend) Transfer CPU vector to Hypre vector. Definition: hypreinterface/HypreCpuTransfers.hpp:73 void transferHypreToCpuVector(HYPRE_IJVector hypre_vec, VectorType &cpu_vec, linalg::HypreInterface::HostDataArrays &host_arrays, const linalg::HypreInterface::DeviceDataArrays &device_arrays, const linalg::HypreInterface::ParallelInfo &par_info, bool use_gpu_backend) Transfer Hypre vector to CPU vector. Definition: hypreinterface/HypreCpuTransfers.hpp:114 void setDuneVectorFromContinuousVector(VectorType &v, const std::vector< HYPRE_Real > &continuous_vector_values, const std::vector< int > &local_hypre_to_local_dune) Distribute HYPRE vector values back to original vector positions. Definition: hypreinterface/HypreCpuTransfers.hpp:58 void updateMatrixFromCpuMatrix(const MatrixType &cpu_matrix, HYPRE_IJMatrix hypre_matrix, const linalg::HypreInterface::SparsityPattern &sparsity_pattern, const linalg::HypreInterface::HostDataArrays &host_arrays, const linalg::HypreInterface::DeviceDataArrays &device_arrays, bool use_gpu_backend) Update Hypre matrix from CPU matrix Uses HYPRE_IJMatrixSetValues2 with pre-computed row_indexes,... Definition: hypreinterface/HypreCpuTransfers.hpp:155 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 std::vector< HYPRE_Int > row_indexes Pre-computed row start indexes for HYPRE_IJMatrixSetValues2. Definition: HypreDataStructures.hpp:113 std::vector< HYPRE_Real > continuous_vector_values Temporary buffer for vector values in non-owner-first ordering. Definition: HypreDataStructures.hpp:128 std::vector< HYPRE_BigInt > indices Global DOF indices for owned degrees of freedom. Definition: HypreDataStructures.hpp:120 Parallel domain decomposition information for HYPRE-Dune interface. Definition: HypreDataStructures.hpp:37 std::vector< int > local_hypre_to_local_dune Mapping from local HYPRE indices to local Dune indices. Definition: HypreDataStructures.hpp:59 bool owner_first Whether owned DOFs appear first in local Dune ordering. Definition: HypreDataStructures.hpp:77 Compressed Sparse Row (CSR) sparsity pattern for HYPRE matrix assembly. Definition: HypreDataStructures.hpp:86 std::vector< HYPRE_BigInt > cols Global column indices in CSR format (size: nnz) Definition: HypreDataStructures.hpp:94 std::vector< HYPRE_Int > ncols Non-zero entries per owned row (size: N_owned) Definition: HypreDataStructures.hpp:88 std::vector< HYPRE_BigInt > rows Global row indices for owned rows (size: N_owned) Definition: HypreDataStructures.hpp:91 |