OpenLB 1.7
Loading...
Searching...
No Matches
Classes | Namespaces | Functions | Variables
operator.hh File Reference
#include "operator.h"
#include "context.hh"
#include "dynamics.hh"
+ Include dependency graph for operator.hh:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  olb::gpu::cuda::MaskedCollision< T, DESCRIPTOR, DYNAMICS >
 Masked application of DYNAMICS::apply for use in kernel::call_operators. More...
 
class  olb::gpu::cuda::ListedCollision< T, DESCRIPTOR, DYNAMICS >
 List-based application of DYNAMICS::apply for use in kernel::call_list_operators. More...
 
class  olb::gpu::cuda::MaskedPostProcessor< OPERATOR >
 Masked application of OPERATOR::apply. More...
 
struct  olb::gpu::cuda::ListedPostProcessor< OPERATOR >
 List-based application of OPERATOR::apply. More...
 
class  olb::gpu::cuda::ListedPostProcessorWithParameters< T, DESCRIPTOR, OPERATOR >
 List-based application of OPERATOR::apply with parameters. More...
 
struct  olb::gpu::cuda::UnmaskedCoupling< COUPLER >
 Unrestricted application of COUPLING::apply. More...
 
class  olb::gpu::cuda::UnmaskedCouplingWithParameters< COUPLER, COUPLEES >
 Unrestricted application of COUPLING::apply with parameters. More...
 

Namespaces

namespace  olb
 Top level namespace for all of OpenLB.
 
namespace  olb::gpu
 Implementations of GPU specifics.
 
namespace  olb::gpu::cuda
 Implementations of Nvidia CUDA specifics.
 
namespace  olb::gpu::cuda::kernel
 CUDA kernels to execute collisions and post processors.
 

Functions

template<typename CONTEXT , typename... OPERATORS>
void olb::gpu::cuda::kernel::call_operators (CONTEXT lattice, bool *subdomain, OPERATORS... ops) __global__
 CUDA kernel for applying purely local collision steps.
 
template<typename CONTEXT , typename... OPERATORS>
void olb::gpu::cuda::kernel::call_operators_with_statistics (CONTEXT lattice, bool *subdomain, OPERATORS... ops) __global__
 CUDA kernel for applying purely local collision steps while tracking statistics.
 
template<typename CONTEXT , typename... OPERATORS>
void olb::gpu::cuda::kernel::call_list_operators (CONTEXT lattice, const CellID *indices, std::size_t nIndices, OPERATORS... ops) __global__
 CUDA kernel for applying generic OPERATORS with OperatorScope::PerCell or ListedCollision.
 
template<typename CONTEXT , typename... OPERATORS>
void olb::gpu::cuda::kernel::call_list_operators_with_statistics (CONTEXT lattice, const CellID *indices, std::size_t nIndices, OPERATORS... ops) __global__
 CUDA kernel for applying ListedCollision.
 
template<typename CONTEXTS , typename... OPERATORS>
void olb::gpu::cuda::kernel::call_coupling_operators (CONTEXTS lattices, bool *subdomain, OPERATORS... ops) __global__
 CUDA kernel for applying UnmaskedCoupling(WithParameters)
 
template<typename T , typename DESCRIPTOR , typename DYNAMICS , typename PARAMETERS = typename DYNAMICS::ParametersD>
void olb::gpu::cuda::kernel::construct_dynamics (void *target, PARAMETERS *parameters) __global__
 CUDA kernel for constructing on-device ConcreteDynamics.
 
template<typename CONTEXT , typename... ARGS>
void olb::gpu::cuda::call_operators (CONTEXT &lattice, bool *subdomain, ARGS &&... args)
 Apply masked collision operators to lattice.
 
template<typename CONTEXT , typename... ARGS>
void olb::gpu::cuda::async_call_operators (cudaStream_t stream, CONTEXT &lattice, bool *subdomain, ARGS &&... args)
 Apply masked collision operators to lattice (async)
 
template<typename CONTEXT , typename... ARGS>
void olb::gpu::cuda::call_operators_with_statistics (CONTEXT &lattice, bool *subdomain, ARGS &&... args)
 Apply masked collision operators to lattice while tracking statistics.
 
template<typename CONTEXT , typename... ARGS>
void olb::gpu::cuda::async_call_operators_with_statistics (cudaStream_t stream, CONTEXT &lattice, bool *subdomain, ARGS &&... args)
 Apply masked collision operators to lattice while tracking statistics (async)
 
template<typename CONTEXT , typename... ARGS>
void olb::gpu::cuda::call_list_operators (CONTEXT &lattice, const gpu::cuda::Column< CellID > &cells, ARGS &&... args)
 Apply operators to listed cell indices.
 
template<typename CONTEXT , typename... ARGS>
void olb::gpu::cuda::async_call_list_operators (cudaStream_t stream, CONTEXT &lattice, const gpu::cuda::Column< CellID > &cells, ARGS &&... args)
 Apply operators to listed cell indices (async version)
 
template<typename CONTEXT , typename... ARGS>
void olb::gpu::cuda::async_call_list_operators_with_statistics (cudaStream_t stream, CONTEXT &lattice, const gpu::cuda::Column< CellID > &cells, ARGS &&... args)
 Apply ListedCollision with statistics (async version)
 
template<typename CONTEXT , typename... ARGS>
void olb::gpu::cuda::call_coupling_operators (CONTEXT &lattices, bool *subdomain, ARGS &&... args)
 Apply coupling on subdomain.
 

Variables

template<typename T , typename DESCRIPTOR , typename... DYNAMICS>
std::function< void(ConcreteBlockLattice< T, DESCRIPTOR, Platform::GPU_CUDA > &) olb::gpu::cuda::getFusedCollisionO )()
 Helper for constructing fused collision operators.