Faiss
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends
Public Types | Public Member Functions | List of all members
faiss::gpu::HostTensor< T, Dim, Contig, IndexT, PtrTraits > Class Template Reference
Inheritance diagram for faiss::gpu::HostTensor< T, Dim, Contig, IndexT, PtrTraits >:
faiss::gpu::Tensor< T, Dim, Contig, IndexT, PtrTraits >

Public Types

typedef IndexT IndexType
 
typedef PtrTraits< T >::PtrType DataPtrType
 
- Public Types inherited from faiss::gpu::Tensor< T, Dim, Contig, IndexT, PtrTraits >
enum  { NumDim = Dim }
 
enum  { IsContig = Contig }
 
typedef T DataType
 
typedef IndexT IndexType
 
typedef PtrTraits< T >::PtrType DataPtrType
 
typedef Tensor< T, Dim, Contig,
IndexT, PtrTraits > 
TensorType
 

Public Member Functions

__host__ HostTensor ()
 Default constructor.
 
__host__ ~HostTensor ()
 Destructor.
 
__host__ HostTensor (const IndexT sizes[Dim])
 
__host__ HostTensor (std::initializer_list< IndexT > sizes)
 
__host__ HostTensor (DataPtrType data, const IndexT sizes[Dim])
 
__host__ HostTensor (DataPtrType data, std::initializer_list< IndexT > sizes)
 
__host__ HostTensor (DataPtrType data, const IndexT sizes[Dim], const IndexT strides[Dim])
 
__host__ HostTensor (Tensor< T, Dim, Contig, IndexT, PtrTraits > &t, cudaStream_t stream)
 
__host__ HostTensor< T, Dim,
Contig, IndexT, PtrTraits > & 
zero ()
 Call to zero out memory.
 
__host__ T maxDiff (const HostTensor< T, Dim, Contig, IndexT, PtrTraits > &t) const
 Returns the maximum difference seen between two tensors.
 
__host__ bool equal (const HostTensor< T, Dim, Contig, IndexT, PtrTraits > &t) const
 Are the two tensors exactly equal?
 
- Public Member Functions inherited from faiss::gpu::Tensor< T, Dim, Contig, IndexT, PtrTraits >
__host__ __device__ Tensor ()
 Default constructor.
 
__host__ __device__ Tensor (Tensor< T, Dim, Contig, IndexT, PtrTraits > &t)=default
 Copy constructor.
 
__host__ __device__ Tensor (Tensor< T, Dim, Contig, IndexT, PtrTraits > &&t)=default
 Move constructor.
 
__host__ __device__ Tensor< T,
Dim, Contig, IndexT, PtrTraits > & 
operator= (Tensor< T, Dim, Contig, IndexT, PtrTraits > &t)=default
 Assignment.
 
__host__ __device__ Tensor< T,
Dim, Contig, IndexT, PtrTraits > & 
operator= (Tensor< T, Dim, Contig, IndexT, PtrTraits > &&t)
 Move assignment.
 
__host__ __device__ Tensor (DataPtrType data, const IndexT sizes[Dim])
 Constructor that calculates strides with no padding.
 
__host__ __device__ Tensor (DataPtrType data, std::initializer_list< IndexT > sizes)
 
__host__ __device__ Tensor (DataPtrType data, const IndexT sizes[Dim], const IndexT strides[Dim])
 
__host__ void copyFrom (Tensor< T, Dim, Contig, IndexT, PtrTraits > &t, cudaStream_t stream)
 Copies a tensor into ourselves; sizes must match.
 
__host__ void copyTo (Tensor< T, Dim, Contig, IndexT, PtrTraits > &t, cudaStream_t stream)
 Copies ourselves into a tensor; sizes must match.
 
template<int OtherDim>
__host__ __device__ bool isSame (const Tensor< T, OtherDim, Contig, IndexT, PtrTraits > &rhs) const
 
template<typename U >
__host__ __device__ Tensor< U,
Dim, Contig, IndexT, PtrTraits > 
cast ()
 
template<typename U >
__host__ __device__ const
Tensor< U, Dim, Contig, IndexT,
PtrTraits > 
cast () const
 Const version of cast
 
template<typename U >
__host__ __device__ Tensor< U,
Dim, Contig, IndexT, PtrTraits > 
castResize ()
 
template<typename U >
__host__ __device__ const
Tensor< U, Dim, Contig, IndexT,
PtrTraits > 
castResize () const
 Const version of castResize
 
template<typename U >
__host__ __device__ bool canCastResize () const
 Returns true if we can castResize() this tensor to the new type.
 
__host__ __device__ DataPtrType data ()
 Returns a raw pointer to the start of our data.
 
__host__ __device__ DataPtrType end ()
 
__host__ __device__ const
DataPtrType 
data () const
 Returns a raw pointer to the start of our data (const).
 
__host__ __device__ DataPtrType end () const
 
template<typename U >
__host__ __device__ PtrTraits
< U >::PtrType 
dataAs ()
 Cast to a different datatype.
 
template<typename U >
__host__ __device__ const
PtrTraits< const U >::PtrType 
dataAs () const
 Cast to a different datatype.
 
__host__ __device__
detail::SubTensor< TensorType,
Dim-1, PtrTraits > 
operator[] (IndexT)
 Returns a read/write view of a portion of our tensor.
 
__host__ __device__ const
detail::SubTensor< TensorType,
Dim-1, PtrTraits > 
operator[] (IndexT) const
 Returns a read/write view of a portion of our tensor (const).
 
__host__ __device__ IndexT getSize (int i) const
 
__host__ __device__ IndexT getStride (int i) const
 
__host__ __device__ IndexT numElements () const
 
__host__ __device__ size_t getSizeInBytes () const
 
__host__ __device__ const IndexT * sizes () const
 Returns the size array.
 
__host__ __device__ const IndexT * strides () const
 Returns the stride array.
 
__host__ __device__ bool isContiguous () const
 
__host__ __device__ bool isConsistentlySized (int i) const
 
__host__ __device__ bool isConsistentlySized () const
 
__host__ __device__ bool isContiguousDim (int i) const
 Returns true if the given dimension index has no padding.
 
__host__ __device__ Tensor< T,
Dim, Contig, IndexT, PtrTraits > 
transpose (int dim1, int dim2) const
 
template<int NewDim>
__host__ __device__ Tensor< T,
NewDim, Contig, IndexT,
PtrTraits > 
upcastOuter ()
 
template<int NewDim>
__host__ __device__ Tensor< T,
NewDim, Contig, IndexT,
PtrTraits > 
upcastInner ()
 
template<int NewDim>
__host__ __device__ Tensor< T,
NewDim, Contig, IndexT,
PtrTraits > 
downcastOuter ()
 
template<int NewDim>
__host__ __device__ Tensor< T,
NewDim, Contig, IndexT,
PtrTraits > 
downcastInner ()
 
template<int SubDim>
__host__ __device__ Tensor< T,
SubDim, Contig, IndexT,
PtrTraits > 
view (DataPtrType at)
 
template<int SubDim>
__host__ __device__ Tensor< T,
SubDim, Contig, IndexT,
PtrTraits > 
view ()
 
__host__ __device__ Tensor< T,
Dim, Contig, IndexT, PtrTraits > 
narrowOutermost (IndexT start, IndexT size)
 
__host__ __device__ Tensor< T,
Dim, false, IndexT, PtrTraits > 
narrow (int dim, IndexT start, IndexT size)
 
template<int NewDim>
__host__ __device__ Tensor< T,
NewDim, Contig, IndexT,
PtrTraits > 
view (std::initializer_list< IndexT > sizes)
 

Additional Inherited Members

- Protected Attributes inherited from faiss::gpu::Tensor< T, Dim, Contig, IndexT, PtrTraits >
DataPtrType data_
 Raw pointer to where the tensor data begins.
 
IndexT stride_ [Dim]
 Array of strides (in sizeof(T) terms) per each dimension.
 
IndexT size_ [Dim]
 Size per each dimension.
 

Detailed Description

template<typename T, int Dim, bool Contig = false, typename IndexT = int, template< typename U > class PtrTraits = traits::DefaultPtrTraits>
class faiss::gpu::HostTensor< T, Dim, Contig, IndexT, PtrTraits >

Definition at line 23 of file HostTensor.cuh.

Constructor & Destructor Documentation

template<typename T , int Dim, bool Contig, typename IndexT , template< typename U > class PtrTraits>
__host__ faiss::gpu::HostTensor< T, Dim, Contig, IndexT, PtrTraits >::HostTensor ( const IndexT  sizes[Dim])

Constructs a tensor of the given size, allocating memory for it locally

Definition at line 36 of file HostTensor-inl.cuh.

template<typename T , int Dim, bool Contig, typename IndexT , template< typename U > class PtrTraits>
__host__ faiss::gpu::HostTensor< T, Dim, Contig, IndexT, PtrTraits >::HostTensor ( DataPtrType  data,
const IndexT  sizes[Dim] 
)

Constructs a tensor of the given size and stride, referencing a memory region we do not own

Definition at line 59 of file HostTensor-inl.cuh.

template<typename T , int Dim, bool Contig, typename IndexT , template< typename U > class PtrTraits>
__host__ faiss::gpu::HostTensor< T, Dim, Contig, IndexT, PtrTraits >::HostTensor ( DataPtrType  data,
const IndexT  sizes[Dim],
const IndexT  strides[Dim] 
)

Constructs a tensor of the given size and stride, referencing a memory region we do not own

Definition at line 79 of file HostTensor-inl.cuh.

template<typename T , int Dim, bool Contig, typename IndexT , template< typename U > class PtrTraits>
__host__ faiss::gpu::HostTensor< T, Dim, Contig, IndexT, PtrTraits >::HostTensor ( Tensor< T, Dim, Contig, IndexT, PtrTraits > &  t,
cudaStream_t  stream 
)

Copies a tensor into ourselves, allocating memory for it locally. If the tensor is on the GPU, then we will copy it to ourselves wrt the given stream.

Definition at line 90 of file HostTensor-inl.cuh.


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