Opm::gpuistl::HypreDeviceDataArrays Struct Reference

GPU device memory arrays for HYPRE operations with GPU backend. More...

#include <HypreDataStructures.hpp>

Public Attributes

HYPRE_Int * ncols_device = nullptr
 Mirrors host data arrays. More...
 
HYPRE_BigInt * rows_device = nullptr
 
HYPRE_BigInt * cols_device = nullptr
 
HYPRE_Int * row_indexes_device = nullptr
 
HYPRE_BigInt * indices_device = nullptr
 
HYPRE_Real * vector_buffer_device = nullptr
 Device buffer for vector operations Used when input type and backend are different, for transferring values between host and device. Size: N_owned when allocated, empty otherwise. More...
 
HYPRE_Real * matrix_buffer_device = nullptr
 Device buffer for matrix values, only needed for CPU input + GPU backend. More...
 

Detailed Description

GPU device memory arrays for HYPRE operations with GPU backend.

These arrays mirror the host data but reside in GPU memory. All pointers are managed manually using HYPRE's memory management functions.

Member Data Documentation

◆ cols_device

◆ indices_device

◆ matrix_buffer_device

HYPRE_Real* Opm::gpuistl::HypreDeviceDataArrays::matrix_buffer_device = nullptr

Device buffer for matrix values, only needed for CPU input + GPU backend.

Size: nnz when allocated, empty otherwise.

Referenced by Hypre::HyprePreconditioner< M, X, Y, Comm >::HyprePreconditioner(), Opm::gpuistl::HypreInterface::updateMatrixFromCpuMatrix(), and Hypre::HyprePreconditioner< M, X, Y, Comm >::~HyprePreconditioner().

◆ ncols_device

◆ row_indexes_device

◆ rows_device

◆ vector_buffer_device

HYPRE_Real* Opm::gpuistl::HypreDeviceDataArrays::vector_buffer_device = nullptr

Device buffer for vector operations Used when input type and backend are different, for transferring values between host and device. Size: N_owned when allocated, empty otherwise.

Referenced by Hypre::HyprePreconditioner< M, X, Y, Comm >::HyprePreconditioner(), Opm::gpuistl::HypreInterface::transferCpuVectorToHypre(), Opm::gpuistl::HypreInterface::transferHypreToCpuVector(), and Hypre::HyprePreconditioner< M, X, Y, Comm >::~HyprePreconditioner().


The documentation for this struct was generated from the following file: