OpenLB 1.8.1
Loading...
Searching...
No Matches
fieldReduction.hh File Reference
#include "fieldReduction.h"
#include <cooperative_groups.h>
#include <cooperative_groups/reduce.h>
+ Include dependency graph for fieldReduction.hh:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  olb::gpu::cuda::SharedMemory< T >
 
struct  olb::gpu::cuda::SharedMemory< double >
 

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.
 

Functions

template<typename T , typename DESCRIPTOR , typename REDUCTION_OP , typename CONDITION >
void olb::reduceKernelInBlock (thrust::device_ptr< const T > field, T *g_odata, gpu::cuda::DeviceBlockLattice< T, DESCRIPTOR > lattice, CellID size) __global__
 ref: https://github.com/NVIDIA/cuda-samples/blob/master/Samples/2_Concepts_and_Techniques/reduction/reduction_kernel.cu
 
template<typename T , typename REDUCTION_OP >
void olb::reduceKernelInGrid (const T *partialSums, int partialCount, T *d_result) __global__
 
template<typename T , typename DESCRIPTOR , typename REDUCTION_OP , typename CONDITION >
void olb::reductionFunctionDevice (thrust::device_ptr< const T > devPtr, ConcreteBlockLattice< T, DESCRIPTOR, Platform::GPU_CUDA > &blockLattice, T *paramInDevice)