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__ | DeviceTensor () |
| Default constructor. | |
| __host__ | ~DeviceTensor () |
| Destructor. | |
| __host__ | DeviceTensor (DeviceTensor< T, Dim, Contig, IndexT, PtrTraits > &&t) |
| Move constructor. | |
|
__host__ DeviceTensor< T, Dim, Contig, IndexT, PtrTraits > & | operator= (DeviceTensor< T, Dim, Contig, IndexT, PtrTraits > &&t) |
| Move assignment. | |
| __host__ | DeviceTensor (const IndexT sizes[Dim]) |
| __host__ | DeviceTensor (std::initializer_list< IndexT > sizes) |
| __host__ | DeviceTensor (DeviceMemory &m, const IndexT sizes[Dim], cudaStream_t stream) |
| __host__ | DeviceTensor (DeviceMemory &m, std::initializer_list< IndexT > sizes, cudaStream_t stream) |
| __host__ | DeviceTensor (DataPtrType data, const IndexT sizes[Dim]) |
| __host__ | DeviceTensor (DataPtrType data, std::initializer_list< IndexT > sizes) |
| __host__ | DeviceTensor (DataPtrType data, const IndexT sizes[Dim], const IndexT strides[Dim]) |
| __host__ | DeviceTensor (Tensor< T, Dim, Contig, IndexT, PtrTraits > &t, cudaStream_t stream) |
| Copies a tensor into ourselves, allocating memory for it locally. | |
| __host__ | DeviceTensor (DeviceMemory &m, Tensor< T, Dim, Contig, IndexT, PtrTraits > &t, cudaStream_t stream) |
|
__host__ DeviceTensor< T, Dim, Contig, IndexT, PtrTraits > & | zero (cudaStream_t stream) |
| Call to zero out memory. | |
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. | |
Definition at line 24 of file DeviceTensor.cuh.
| __host__ faiss::gpu::DeviceTensor< T, Dim, Contig, IndexT, PtrTraits >::DeviceTensor | ( | const IndexT | sizes[Dim] | ) |
Constructs a tensor of the given size, allocating memory for it locally
Definition at line 71 of file DeviceTensor-inl.cuh.
| __host__ faiss::gpu::DeviceTensor< T, Dim, Contig, IndexT, PtrTraits >::DeviceTensor | ( | DeviceMemory & | m, |
| const IndexT | sizes[Dim], | ||
| cudaStream_t | stream | ||
| ) |
Constructs a tensor of the given size, reserving a temporary memory reservation via a memory manager. The memory reservation should be ordered with respect to the given stream.
Definition at line 99 of file DeviceTensor-inl.cuh.
| __host__ faiss::gpu::DeviceTensor< T, Dim, Contig, IndexT, PtrTraits >::DeviceTensor | ( | 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 135 of file DeviceTensor-inl.cuh.
| __host__ faiss::gpu::DeviceTensor< T, Dim, Contig, IndexT, PtrTraits >::DeviceTensor | ( | 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 155 of file DeviceTensor-inl.cuh.
| __host__ faiss::gpu::DeviceTensor< T, Dim, Contig, IndexT, PtrTraits >::DeviceTensor | ( | DeviceMemory & | m, |
| Tensor< T, Dim, Contig, IndexT, PtrTraits > & | t, | ||
| cudaStream_t | stream | ||
| ) |
Copies a tensor into ourselves, reserving a temporary memory reservation via a memory manager.
Definition at line 180 of file DeviceTensor-inl.cuh.
1.8.5