|
gpuistl/hypreinterface/HypreCpuTransfers.hpp
Go to the documentation of this file.
81 device_arrays.vector_buffer_device, values, HYPRE_Real, N, HYPRE_MEMORY_DEVICE, HYPRE_MEMORY_HOST);
120 values, device_arrays.vector_buffer_device, HYPRE_Real, N, HYPRE_MEMORY_HOST, HYPRE_MEMORY_DEVICE);
155 device_arrays.matrix_buffer_device, values, HYPRE_Real, nnz, HYPRE_MEMORY_DEVICE, HYPRE_MEMORY_HOST);
#define OPM_HYPRE_SAFE_CALL(expr) Macro to wrap Hypre function calls with error checking. Definition: HypreErrorHandling.hpp:96 Definition: gpuistl/hypreinterface/HypreCpuTransfers.hpp:30 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: gpuistl/hypreinterface/HypreCpuTransfers.hpp:52 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: gpuistl/hypreinterface/HypreCpuTransfers.hpp:37 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 GPU device memory arrays for HYPRE operations with GPU backend. Definition: HypreDataStructures.hpp:137 HYPRE_Real * vector_buffer_device Device buffer for vector operations Used when input type and backend are different,... Definition: HypreDataStructures.hpp:149 HYPRE_BigInt * rows_device Definition: HypreDataStructures.hpp:140 HYPRE_Int * ncols_device Mirrors host data arrays. Definition: HypreDataStructures.hpp:139 HYPRE_BigInt * indices_device Definition: HypreDataStructures.hpp:143 HYPRE_Real * matrix_buffer_device Device buffer for matrix values, only needed for CPU input + GPU backend. Definition: HypreDataStructures.hpp:155 HYPRE_BigInt * cols_device Definition: HypreDataStructures.hpp:141 HYPRE_Int * row_indexes_device Definition: HypreDataStructures.hpp:142 Host arrays for HYPRE matrix and vector data transfers. Definition: HypreDataStructures.hpp:106 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 > rows Global row indices for owned rows (size: N_owned) Definition: HypreDataStructures.hpp:91 |