opm-simulators
Loading...
Searching...
No Matches
Opm::gpuistl::GpuOwnerOverlapCopy< field_type, OwnerOverlapCopyCommunicationType > Class Template Reference

CUDA compatiable variant of Dune::OwnerOverlapCopyCommunication. More...

#include <GpuOwnerOverlapCopy.hpp>

Public Types

using X = GpuVector<field_type>

Public Member Functions

 GpuOwnerOverlapCopy (std::shared_ptr< GPUSender< field_type, OwnerOverlapCopyCommunicationType > > sender)
void copyOwnerToAll (const X &source, X &dest) const
void dot (const X &x, const X &y, field_type &output) const
field_type norm (const X &x) const
void project (X &x) const
const ::Dune::Communication< MPI_Comm > & communicator () const
 communicator returns the MPI communicator used by this GpuOwnerOverlapCopy

Detailed Description

template<class field_type, class OwnerOverlapCopyCommunicationType>
class Opm::gpuistl::GpuOwnerOverlapCopy< field_type, OwnerOverlapCopyCommunicationType >

CUDA compatiable variant of Dune::OwnerOverlapCopyCommunication.

This class can essentially be seen as an adapter around Dune::OwnerOverlapCopyCommunication, and should work as a Dune::OwnerOverlapCopyCommunication on GpuVectors

Note
This currently only has the functionality to parallelize the linear solve.
Template Parameters
field_typeshould be a field_type supported by GpuVector (double, float)
OwnerOverlapCopyCommunicationTypeshould mimic Dune::OwnerOverlapCopyCommunication.

Member Function Documentation

◆ communicator()

template<class field_type, class OwnerOverlapCopyCommunicationType>
const ::Dune::Communication< MPI_Comm > & Opm::gpuistl::GpuOwnerOverlapCopy< field_type, OwnerOverlapCopyCommunicationType >::communicator ( ) const
inline

communicator returns the MPI communicator used by this GpuOwnerOverlapCopy

Returns
the MPI communicator

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