CUTLASS
CUDA Templates for Linear Algebra Subroutines and Solvers
|
Statically-sized array specifying Coords within a tensor.
#include <coord.h>
Public Types | |
using | Index = Index_ |
Index type used to store elements. More... | |
using | LongIndex = LongIndex_ |
Type used to represent linear offsets. More... | |
Public Member Functions | |
CUTLASS_HOST_DEVICE | Coord (Index value=Index(0)) |
Default ctor initializes uniformly. More... | |
CUTLASS_HOST_DEVICE | Coord (Index const (&_idx)[kRank]) |
Constructs from an array of integers. More... | |
CUTLASS_HOST_DEVICE | Coord (Coord< kRank, Index, LongIndex > const &coord) |
Copy constructor. More... | |
template<int Slice> | |
CUTLASS_HOST_DEVICE Coord< Slice > | slice (int start=0, Index identity=0) const |
CUTLASS_HOST_DEVICE int | min_dim_index () const |
Returns the index of the dimension with least value. More... | |
CUTLASS_HOST_DEVICE int | max_dim_index () const |
Returns the index of the dimension with greatest value. More... | |
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... | |
CUTLASS_HOST_DEVICE LongIndex | dot (Coord const &b, LongIndex sum=LongIndex(0)) const |
Computes the dot product with anotherCoord object. 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 const &b) const |
Determines if two Coord<> objects are equal. More... | |
CUTLASS_HOST_DEVICE bool | operator!= (Coord const &b) const |
Not equal. More... | |
CUTLASS_HOST_DEVICE Coord & | clamp (Coord const &max, Coord const &min=Coord()) |
Clamps a coordinate to a range specified by maximum and minimum values. More... | |
CUTLASS_HOST_DEVICE Index | sum () const |
Returns the sum of all elements. More... | |
CUTLASS_HOST_DEVICE LongIndex | product () const |
Returns the product of all elements. More... | |
CUTLASS_HOST_DEVICE bool | operator< (Coord const &b) const |
Less than operator. More... | |
CUTLASS_HOST_DEVICE bool | operator<= (Coord const &b) const |
Less than or equals operator. More... | |
CUTLASS_HOST_DEVICE bool | operator> (Coord const &b) const |
Greater than operator. More... | |
CUTLASS_HOST_DEVICE bool | operator>= (Coord const &b) const |
Greater than or equals operator. More... | |
Static Public Attributes | |
static int const | kRank = Rank_ |
Number of elements in Coord. More... | |
using cutlass::Coord< Rank_, Index_, LongIndex_ >::Index = Index_ |
using cutlass::Coord< Rank_, Index_, LongIndex_ >::LongIndex = LongIndex_ |
|
inlineexplicit |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inlineexplicit |
|
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.
|
inline |
|
static |