alpaka
Abstraction Library for Parallel Kernel Acceleration
alpaka::WorkDivMembers< TDim, TIdx > Class Template Reference

A basic class holding the work division as grid block extent, block thread and thread element extent. More...

#include <WorkDivMembers.hpp>

+ Inheritance diagram for alpaka::WorkDivMembers< TDim, TIdx >:

Public Member Functions

ALPAKA_FN_HOST_ACC WorkDivMembers ()=delete
 
ALPAKA_NO_HOST_ACC_WARNING ALPAKA_FN_HOST_ACC WorkDivMembers (alpaka::Vec< TDim, TIdx > const &gridBlockExtent, alpaka::Vec< TDim, TIdx > const &blockThreadExtent, alpaka::Vec< TDim, TIdx > const &elemExtent)
 Accepts single specific type and is called without explicit template parameters. More...
 
template<typename TGridBlockExtent , typename TBlockThreadExtent , typename TThreadElemExtent >
ALPAKA_NO_HOST_ACC_WARNING ALPAKA_FN_HOST_ACC WorkDivMembers (TGridBlockExtent const &gridBlockExtent=TGridBlockExtent(), TBlockThreadExtent const &blockThreadExtent=TBlockThreadExtent(), TThreadElemExtent const &threadElemExtent=TThreadElemExtent())
 Accepts different alpaka vector types and takes the last TDim number of items. More...
 
template<typename TWorkDiv >
ALPAKA_NO_HOST_ACC_WARNING ALPAKA_FN_HOST_ACC WorkDivMembers (TWorkDiv const &other)
 
 WorkDivMembers (WorkDivMembers &&)=default
 
ALPAKA_NO_HOST_ACC_WARNING ALPAKA_FN_HOST_ACC WorkDivMembers (WorkDivMembers const &other)
 
template<typename TWorkDiv >
ALPAKA_NO_HOST_ACC_WARNING ALPAKA_FN_HOST_ACC auto operator= (TWorkDiv const &other) -> WorkDivMembers< TDim, TIdx > &
 
auto operator= (WorkDivMembers &&) -> WorkDivMembers &=default
 
auto operator= (WorkDivMembers const &) -> WorkDivMembers &=default
 

Public Attributes

Vec< TDim, TIdx > m_blockThreadExtent
 
Vec< TDim, TIdx > m_gridBlockExtent
 
Vec< TDim, TIdx > m_threadElemExtent
 

Friends

ALPAKA_FN_HOST friend auto operator<< (std::ostream &os, WorkDivMembers const &workDiv) -> std::ostream &
 
ALPAKA_FN_HOST_ACC constexpr friend auto operator== (WorkDivMembers const &a, WorkDivMembers const &b) -> bool
 

Detailed Description

template<typename TDim, typename TIdx>
class alpaka::WorkDivMembers< TDim, TIdx >

A basic class holding the work division as grid block extent, block thread and thread element extent.

Definition at line 19 of file WorkDivMembers.hpp.

Constructor & Destructor Documentation

◆ WorkDivMembers() [1/6]

template<typename TDim , typename TIdx >
ALPAKA_FN_HOST_ACC alpaka::WorkDivMembers< TDim, TIdx >::WorkDivMembers ( )
delete

◆ WorkDivMembers() [2/6]

template<typename TDim , typename TIdx >
template<typename TGridBlockExtent , typename TBlockThreadExtent , typename TThreadElemExtent >
ALPAKA_NO_HOST_ACC_WARNING ALPAKA_FN_HOST_ACC alpaka::WorkDivMembers< TDim, TIdx >::WorkDivMembers ( TGridBlockExtent const &  gridBlockExtent = TGridBlockExtent(),
TBlockThreadExtent const &  blockThreadExtent = TBlockThreadExtent(),
TThreadElemExtent const &  threadElemExtent = TThreadElemExtent() 
)
inlineexplicit

Accepts different alpaka vector types and takes the last TDim number of items.

Definition at line 27 of file WorkDivMembers.hpp.

◆ WorkDivMembers() [3/6]

template<typename TDim , typename TIdx >
ALPAKA_NO_HOST_ACC_WARNING ALPAKA_FN_HOST_ACC alpaka::WorkDivMembers< TDim, TIdx >::WorkDivMembers ( alpaka::Vec< TDim, TIdx > const &  gridBlockExtent,
alpaka::Vec< TDim, TIdx > const &  blockThreadExtent,
alpaka::Vec< TDim, TIdx > const &  elemExtent 
)
inline

Accepts single specific type and is called without explicit template parameters.

Definition at line 39 of file WorkDivMembers.hpp.

◆ WorkDivMembers() [4/6]

template<typename TDim , typename TIdx >
ALPAKA_NO_HOST_ACC_WARNING ALPAKA_FN_HOST_ACC alpaka::WorkDivMembers< TDim, TIdx >::WorkDivMembers ( WorkDivMembers< TDim, TIdx > const &  other)
inline

Definition at line 50 of file WorkDivMembers.hpp.

◆ WorkDivMembers() [5/6]

template<typename TDim , typename TIdx >
template<typename TWorkDiv >
ALPAKA_NO_HOST_ACC_WARNING ALPAKA_FN_HOST_ACC alpaka::WorkDivMembers< TDim, TIdx >::WorkDivMembers ( TWorkDiv const &  other)
inlineexplicit

Definition at line 59 of file WorkDivMembers.hpp.

◆ WorkDivMembers() [6/6]

template<typename TDim , typename TIdx >
alpaka::WorkDivMembers< TDim, TIdx >::WorkDivMembers ( WorkDivMembers< TDim, TIdx > &&  )
default

Member Function Documentation

◆ operator=() [1/3]

template<typename TDim , typename TIdx >
template<typename TWorkDiv >
ALPAKA_NO_HOST_ACC_WARNING ALPAKA_FN_HOST_ACC auto alpaka::WorkDivMembers< TDim, TIdx >::operator= ( TWorkDiv const &  other) -> WorkDivMembers<TDim, TIdx>&
inline

Definition at line 72 of file WorkDivMembers.hpp.

◆ operator=() [2/3]

template<typename TDim , typename TIdx >
auto alpaka::WorkDivMembers< TDim, TIdx >::operator= ( WorkDivMembers< TDim, TIdx > &&  ) -> WorkDivMembers &=default
default

◆ operator=() [3/3]

template<typename TDim , typename TIdx >
auto alpaka::WorkDivMembers< TDim, TIdx >::operator= ( WorkDivMembers< TDim, TIdx > const &  ) -> WorkDivMembers &=default
default

Friends And Related Function Documentation

◆ operator<<

template<typename TDim , typename TIdx >
ALPAKA_FN_HOST friend auto operator<< ( std::ostream &  os,
WorkDivMembers< TDim, TIdx > const &  workDiv 
) -> std::ostream&
friend

Definition at line 86 of file WorkDivMembers.hpp.

◆ operator==

template<typename TDim , typename TIdx >
ALPAKA_FN_HOST_ACC constexpr friend auto operator== ( WorkDivMembers< TDim, TIdx > const &  a,
WorkDivMembers< TDim, TIdx > const &  b 
) -> bool
friend

Definition at line 80 of file WorkDivMembers.hpp.

Member Data Documentation

◆ m_blockThreadExtent

template<typename TDim , typename TIdx >
Vec<TDim, TIdx> alpaka::WorkDivMembers< TDim, TIdx >::m_blockThreadExtent

Definition at line 95 of file WorkDivMembers.hpp.

◆ m_gridBlockExtent

template<typename TDim , typename TIdx >
Vec<TDim, TIdx> alpaka::WorkDivMembers< TDim, TIdx >::m_gridBlockExtent

Definition at line 94 of file WorkDivMembers.hpp.

◆ m_threadElemExtent

template<typename TDim , typename TIdx >
Vec<TDim, TIdx> alpaka::WorkDivMembers< TDim, TIdx >::m_threadElemExtent

Definition at line 96 of file WorkDivMembers.hpp.


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