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_type | should be a field_type supported by GpuVector (double, float)
  OwnerOverlapCopyCommunicationType | should 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:

- opm/simulators/linalg/gpuistl/GpuOwnerOverlapCopy.hpp