OpenLB 1.7
Loading...
Searching...
No Matches
Public Member Functions | List of all members
olb::HeterogeneousCopyTask< T, DESCRIPTOR, Platform::GPU_CUDA, TARGET > Class Template Reference

Wrapper for a local heterogeneous block communication request. More...

#include <communicator.h>

+ Inheritance diagram for olb::HeterogeneousCopyTask< T, DESCRIPTOR, Platform::GPU_CUDA, TARGET >:
+ Collaboration diagram for olb::HeterogeneousCopyTask< T, DESCRIPTOR, Platform::GPU_CUDA, TARGET >:

Public Member Functions

 HeterogeneousCopyTask (const std::vector< std::type_index > &fields, const std::vector< CellID > &targetCells, ConcreteBlockLattice< T, DESCRIPTOR, TARGET > &target, const std::vector< CellID > &sourceCells, ConcreteBlockLattice< T, DESCRIPTOR, Platform::GPU_CUDA > &source)
 
 ~HeterogeneousCopyTask ()
 
void copy () override
 
void wait () override
 

Detailed Description

template<typename T, typename DESCRIPTOR, Platform TARGET>
class olb::HeterogeneousCopyTask< T, DESCRIPTOR, Platform::GPU_CUDA, TARGET >

Wrapper for a local heterogeneous block communication request.

Definition at line 76 of file communicator.h.

Constructor & Destructor Documentation

◆ HeterogeneousCopyTask()

template<typename T , typename DESCRIPTOR , Platform TARGET>
olb::HeterogeneousCopyTask< T, DESCRIPTOR, Platform::GPU_CUDA, TARGET >::HeterogeneousCopyTask ( const std::vector< std::type_index > & fields,
const std::vector< CellID > & targetCells,
ConcreteBlockLattice< T, DESCRIPTOR, TARGET > & target,
const std::vector< CellID > & sourceCells,
ConcreteBlockLattice< T, DESCRIPTOR, Platform::GPU_CUDA > & source )

Definition at line 717 of file communicator.hh.

720 :
721 _impl(new HeterogeneousCopyTaskDataForGpuSource<T,DESCRIPTOR,TARGET>(fields,
722 targetCells, target,
723 sourceCells, source))
724{
725 OLB_ASSERT(sourceCells.size() == targetCells.size(),
726 "Source cell count must match target cell count");
727}
#define OLB_ASSERT(COND, MESSAGE)
Definition olbDebug.h:45

References OLB_ASSERT.

◆ ~HeterogeneousCopyTask()

template<typename T , typename DESCRIPTOR , Platform TARGET>
olb::HeterogeneousCopyTask< T, DESCRIPTOR, Platform::GPU_CUDA, TARGET >::~HeterogeneousCopyTask ( )
inline

Definition at line 86 of file communicator.h.

Member Function Documentation

◆ copy()

template<typename T , typename DESCRIPTOR , Platform TARGET>
void olb::HeterogeneousCopyTask< T, DESCRIPTOR, Platform::GPU_CUDA, TARGET >::copy ( )
override

Definition at line 730 of file communicator.hh.

731{
732 _impl->copy();
733}

◆ wait()

template<typename T , typename DESCRIPTOR , Platform TARGET>
void olb::HeterogeneousCopyTask< T, DESCRIPTOR, Platform::GPU_CUDA, TARGET >::wait ( )
override

Definition at line 736 of file communicator.hh.

737{
738 _impl->wait();
739}

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