alpaka
Abstraction Library for Parallel Kernel Acceleration
alpaka::KernelCfg< TAcc, TGridElemExtent, TThreadElemExtent > Struct Template Reference

Kernel start configuration to determine a valid work division. More...

#include <WorkDivHelpers.hpp>

Public Attributes

bool blockThreadMustDivideGridThreadExtent = true
 If this is true, the grid thread extent will be multiples of the corresponding block thread extent. NOTE: If this is true and gridThreadExtent is prime (or otherwise bad chosen) in a dimension, the block thread extent will be one in this dimension. More...
 
GridBlockExtentSubDivRestrictions gridBlockExtentSubDivRestrictions = GridBlockExtentSubDivRestrictions::Unrestricted
 The grid block extent subdivision restrictions. More...
 
TGridElemExtent const gridElemExtent = alpaka::Vec<Dim<TAcc>, Idx<TAcc>>::ones()
 The full extent of elements in the grid. More...
 
TThreadElemExtent const threadElemExtent = alpaka::Vec<Dim<TAcc>, Idx<TAcc>>::ones()
 The number of elements computed per thread. More...
 

Detailed Description

template<typename TAcc, typename TGridElemExtent = alpaka::Vec<Dim<TAcc>, Idx<TAcc>>, typename TThreadElemExtent = alpaka::Vec<Dim<TAcc>, Idx<TAcc>>>
struct alpaka::KernelCfg< TAcc, TGridElemExtent, TThreadElemExtent >

Kernel start configuration to determine a valid work division.

Template Parameters
TGridElemExtentThe type of the grid element extent.
TThreadElemExtentThe type of the thread element extent.

Definition at line 319 of file WorkDivHelpers.hpp.

Member Data Documentation

◆ blockThreadMustDivideGridThreadExtent

template<typename TAcc , typename TGridElemExtent = alpaka::Vec<Dim<TAcc>, Idx<TAcc>>, typename TThreadElemExtent = alpaka::Vec<Dim<TAcc>, Idx<TAcc>>>
bool alpaka::KernelCfg< TAcc, TGridElemExtent, TThreadElemExtent >::blockThreadMustDivideGridThreadExtent = true

If this is true, the grid thread extent will be multiples of the corresponding block thread extent. NOTE: If this is true and gridThreadExtent is prime (or otherwise bad chosen) in a dimension, the block thread extent will be one in this dimension.

Definition at line 329 of file WorkDivHelpers.hpp.

◆ gridBlockExtentSubDivRestrictions

template<typename TAcc , typename TGridElemExtent = alpaka::Vec<Dim<TAcc>, Idx<TAcc>>, typename TThreadElemExtent = alpaka::Vec<Dim<TAcc>, Idx<TAcc>>>
GridBlockExtentSubDivRestrictions alpaka::KernelCfg< TAcc, TGridElemExtent, TThreadElemExtent >::gridBlockExtentSubDivRestrictions = GridBlockExtentSubDivRestrictions::Unrestricted

The grid block extent subdivision restrictions.

Definition at line 331 of file WorkDivHelpers.hpp.

◆ gridElemExtent

template<typename TAcc , typename TGridElemExtent = alpaka::Vec<Dim<TAcc>, Idx<TAcc>>, typename TThreadElemExtent = alpaka::Vec<Dim<TAcc>, Idx<TAcc>>>
TGridElemExtent const alpaka::KernelCfg< TAcc, TGridElemExtent, TThreadElemExtent >::gridElemExtent = alpaka::Vec<Dim<TAcc>, Idx<TAcc>>::ones()

The full extent of elements in the grid.

Definition at line 322 of file WorkDivHelpers.hpp.

◆ threadElemExtent

template<typename TAcc , typename TGridElemExtent = alpaka::Vec<Dim<TAcc>, Idx<TAcc>>, typename TThreadElemExtent = alpaka::Vec<Dim<TAcc>, Idx<TAcc>>>
TThreadElemExtent const alpaka::KernelCfg< TAcc, TGridElemExtent, TThreadElemExtent >::threadElemExtent = alpaka::Vec<Dim<TAcc>, Idx<TAcc>>::ones()

The number of elements computed per thread.

Definition at line 324 of file WorkDivHelpers.hpp.


The documentation for this struct was generated from the following file: