Cutlass
CUDA Templates for Linear Algebra Subroutines and Solvers
|
Statically-sized array specifying Coords within a tensor.
#include <coord.h>
Public Types | |
typedef Index_ | Index |
Index type used to store elements. More... | |
Public Member Functions | |
CUTLASS_HOST_DEVICE | Coord (Index value=0) |
Default ctor initializes uniformly. More... | |
CUTLASS_HOST_DEVICE | Coord (Index _idx[]) |
Constructs from an array of integers. More... | |
CUTLASS_HOST_DEVICE | Coord (Coord< kRank > const &coord) |
Constructs from an array of integers. More... | |
template<int Slice> | |
CUTLASS_HOST_DEVICE Coord< Slice > | slice (int start=0, Index identity=0) const |
CUTLASS_HOST_DEVICE | operator bool () const |
Returns true if Coord is non-zero. More... | |
CUTLASS_HOST_DEVICE bool | operator! () const |
Returns true if Coord is uniformly zero. More... | |
CUTLASS_HOST_DEVICE Coord | operator+ (Coord const &b) const |
Element-wise addition. More... | |
CUTLASS_HOST_DEVICE Coord | operator- (Coord const &b) const |
Element-wise subtraction. More... | |
CUTLASS_HOST_DEVICE Coord | operator* (Coord const &b) const |
Element-wise multiplication. More... | |
CUTLASS_HOST_DEVICE Coord | operator/ (Coord const &b) const |
Element-wise division. More... | |
CUTLASS_HOST_DEVICE Coord & | operator+= (Coord const &b) |
In-place addition. More... | |
CUTLASS_HOST_DEVICE Coord & | operator-= (Coord const &b) |
In-place subtraction. More... | |
CUTLASS_HOST_DEVICE Coord & | operator*= (Coord const &b) |
In-place multiplication. More... | |
CUTLASS_HOST_DEVICE Coord & | operator/= (Coord const &b) |
In-place division. More... | |
CUTLASS_HOST_DEVICE Index & | operator[] (int dim) |
Member access operator. More... | |
CUTLASS_HOST_DEVICE Index const & | operator[] (int dim) const |
Member access operator. More... | |
template<typename T > | |
CUTLASS_HOST_DEVICE T | dot (Coord const &b, T sum) const |
Computes the dot product of two Coord instances. More... | |
template<typename T > | |
CUTLASS_HOST_DEVICE T | dot (Coord const &b) const |
Computes the dot product of two Coord instances. More... | |
template<int Dim> | |
CUTLASS_HOST_DEVICE Index & | at () |
Gets the index of a given Coord element. More... | |
CUTLASS_HOST_DEVICE Index & | at (int dim) |
Access via index; may limit unrolling potential. More... | |
template<int Dim> | |
CUTLASS_HOST_DEVICE Index const & | at () const |
Gets the index of a given Coord element. More... | |
CUTLASS_HOST_DEVICE Index const & | at (int dim) const |
Access via index; may limit unrolling potential. More... | |
CUTLASS_HOST_DEVICE bool | operator== (Coord< kRank > const &b) const |
Determines if two Coord<> objects are equal. More... | |
CUTLASS_HOST_DEVICE bool | operator!= (Coord< kRank > const &b) const |
Not equal. More... | |
CUTLASS_HOST_DEVICE Coord & | clamp (Coord< kRank > const &max, Coord< kRank > const &min=Coord< kRank >()) |
Clamps a coordinate to a range specified by maximum and minimum values. More... | |
CUTLASS_HOST_DEVICE Index | count () const |
Returns the product of all elements. More... | |
CUTLASS_HOST_DEVICE bool | operator< (Coord< kRank > const &b) const |
Less than operator. More... | |
CUTLASS_HOST_DEVICE bool | operator<= (Coord< kRank > const &b) const |
Less than or equals operator. More... | |
Public Attributes | |
Index | idx [kRank] |
Indices. More... | |
Static Public Attributes | |
static int const | kRank = Rank_ |
Number of elements in Coord. More... | |
static int const | N = Rank_ |
Number of elements in Coord, aliased for compatibility. More... | |
typedef Index_ cutlass::Coord< Rank_, Index_ >::Index |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Returns a slice of the Coord which may be larger or smaller in rank than this.
Index cutlass::Coord< Rank_, Index_ >::idx[kRank] |
|
static |
|
static |