#include "fieldReduction.h"
#include <cooperative_groups.h>
#include <cooperative_groups/reduce.h>
Go to the source code of this file.
|
| 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.
|
| |
|
| 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) |
| |