Phalanx Development
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Protected Member Functions | List of all members
PHX::MDALayout< Tag0, Tag1, Tag2, Tag3, Tag4, Tag5, Tag6, Tag7 > Class Template Reference

A concrete implementation of the DataLayout class for compile time checked multidimensional arrays. More...

Inheritance diagram for PHX::MDALayout< Tag0, Tag1, Tag2, Tag3, Tag4, Tag5, Tag6, Tag7 >:
Inheritance graph
[legend]
Collaboration diagram for PHX::MDALayout< Tag0, Tag1, Tag2, Tag3, Tag4, Tag5, Tag6, Tag7 >:
Collaboration graph
[legend]

Public Types

enum  { MaxRank = 8 }
 
enum  { Rank = tag_list::Rank }
 
typedef PHX::DLTagList< Tag0, Tag1, Tag2, Tag3, Tag4, Tag5, Tag6, Tag7tag_list
 
- Public Types inherited from PHX::DataLayout
enum class  KokkosLayoutType { Left , Right , Default }
 Defines the kokkos layout to use. Default uses the recommended layout from the default device execution space.
 
typedef PHX::Device::size_type size_type
 

Public Member Functions

 MDALayout (size_type size1, size_type size2, size_type size3, size_type size4, size_type size5, size_type size6, size_type size7, size_type size8)
 
 MDALayout (size_type size1, size_type size2, size_type size3, size_type size4, size_type size5, size_type size6, size_type size7)
 
 MDALayout (size_type size1, size_type size2, size_type size3, size_type size4, size_type size5, size_type size6)
 
 MDALayout (size_type size1, size_type size2, size_type size3, size_type size4, size_type size5)
 
 MDALayout (size_type size1, size_type size2, size_type size3, size_type size4)
 
 MDALayout (size_type size1, size_type size2, size_type size3)
 
 MDALayout (size_type size1, size_type size2)
 
 MDALayout (size_type size1)
 
 MDALayout (const std::string &prefix, size_type size1, size_type size2, size_type size3, size_type size4, size_type size5, size_type size6, size_type size7, size_type size8)
 
 MDALayout (const std::string &prefix, size_type size1, size_type size2, size_type size3, size_type size4, size_type size5, size_type size6, size_type size7)
 
 MDALayout (const std::string &prefix, size_type size1, size_type size2, size_type size3, size_type size4, size_type size5, size_type size6)
 
 MDALayout (const std::string &prefix, size_type size1, size_type size2, size_type size3, size_type size4, size_type size5)
 
 MDALayout (const std::string &prefix, size_type size1, size_type size2, size_type size3, size_type size4)
 
 MDALayout (const std::string &prefix, size_type size1, size_type size2, size_type size3)
 
 MDALayout (const std::string &prefix, size_type size1, size_type size2)
 
 MDALayout (const std::string &prefix, size_type size1)
 
virtual bool operator== (const DataLayout &right) const override
 
virtual PHX::Device::size_type rank () const override
 
virtual PHX::Device::size_type dimension (size_type ordinal) const override
 
virtual PHX::Device::size_type extent (size_type ordinal) const override
 
virtual int extent_int (size_type ordinal) const override
 
virtual void dimensions (std::vector< PHX::Device::size_type > &dim) const override
 
virtual std::string name (size_type ordinal) const override
 
virtual void names (std::vector< std::string > &names) const override
 
virtual PHX::Device::size_type size () const override
 
virtual PHX::DataLayout::KokkosLayoutType kokkosLayout () const override
 
virtual std::string identifier () const override
 Unique name identifier that can be used for strict weak ordering in stl std::map keys.
 
virtual void print (std::ostream &os, int offset) const override
 
- Public Member Functions inherited from PHX::DataLayout
virtual bool operator!= (const DataLayout &left) const
 
template<typename... extent_pack>
void setExtents (extent_pack... extents)
 

Protected Member Functions

virtual void setExtentsOnDerivedClass (const std::vector< PHX::Device::size_type > &extents) override
 

Detailed Description

template<typename Tag0, typename Tag1, typename Tag2, typename Tag3, typename Tag4, typename Tag5, typename Tag6, typename Tag7>
class PHX::MDALayout< Tag0, Tag1, Tag2, Tag3, Tag4, Tag5, Tag6, Tag7 >

A concrete implementation of the DataLayout class for compile time checked multidimensional arrays.

Member Function Documentation

◆ dimension()

PHX::Device::size_type PHX::MDALayout< Tag0, Tag1, Tag2, Tag3, Tag4, Tag5, Tag6, Tag7 >::dimension ( size_type ordinal) const
overridevirtual

Implements PHX::DataLayout.

◆ dimensions()

void PHX::MDALayout< Tag0, Tag1, Tag2, Tag3, Tag4, Tag5, Tag6, Tag7 >::dimensions ( std::vector< PHX::Device::size_type > & dim) const
overridevirtual

Implements PHX::DataLayout.

◆ extent()

PHX::Device::size_type PHX::MDALayout< Tag0, Tag1, Tag2, Tag3, Tag4, Tag5, Tag6, Tag7 >::extent ( size_type ordinal) const
overridevirtual

Implements PHX::DataLayout.

◆ extent_int()

int PHX::MDALayout< Tag0, Tag1, Tag2, Tag3, Tag4, Tag5, Tag6, Tag7 >::extent_int ( size_type ordinal) const
overridevirtual

Implements PHX::DataLayout.

◆ identifier()

std::string PHX::MDALayout< Tag0, Tag1, Tag2, Tag3, Tag4, Tag5, Tag6, Tag7 >::identifier ( ) const
overridevirtual

Unique name identifier that can be used for strict weak ordering in stl std::map keys.

Implements PHX::DataLayout.

◆ kokkosLayout()

Implements PHX::DataLayout.

◆ name()

std::string PHX::MDALayout< Tag0, Tag1, Tag2, Tag3, Tag4, Tag5, Tag6, Tag7 >::name ( size_type ordinal) const
overridevirtual

Implements PHX::DataLayout.

◆ names()

void PHX::MDALayout< Tag0, Tag1, Tag2, Tag3, Tag4, Tag5, Tag6, Tag7 >::names ( std::vector< std::string > & names) const
overridevirtual

Implements PHX::DataLayout.

◆ operator==()

bool PHX::MDALayout< Tag0, Tag1, Tag2, Tag3, Tag4, Tag5, Tag6, Tag7 >::operator== ( const DataLayout & right) const
overridevirtual

Implements PHX::DataLayout.

◆ print()

void PHX::MDALayout< Tag0, Tag1, Tag2, Tag3, Tag4, Tag5, Tag6, Tag7 >::print ( std::ostream & os,
int offset ) const
overridevirtual

Implements PHX::DataLayout.

◆ rank()

PHX::Device::size_type PHX::MDALayout< Tag0, Tag1, Tag2, Tag3, Tag4, Tag5, Tag6, Tag7 >::rank ( ) const
overridevirtual

Implements PHX::DataLayout.

◆ setExtentsOnDerivedClass()

void PHX::MDALayout< Tag0, Tag1, Tag2, Tag3, Tag4, Tag5, Tag6, Tag7 >::setExtentsOnDerivedClass ( const std::vector< PHX::Device::size_type > & extents)
overrideprotectedvirtual

Implements PHX::DataLayout.

◆ size()

PHX::Device::size_type PHX::MDALayout< Tag0, Tag1, Tag2, Tag3, Tag4, Tag5, Tag6, Tag7 >::size ( ) const
overridevirtual

Implements PHX::DataLayout.


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