12 #include "DeviceMemory.h"
13 #include "MemorySpace.h"
15 namespace faiss {
namespace gpu {
19 bool InnerContig =
false,
20 typename IndexT = int,
21 template <
typename U>
class PtrTraits = traits::DefaultPtrTraits>
24 typedef IndexT IndexType;
25 typedef typename PtrTraits<T>::PtrType DataPtrType;
43 MemorySpace space = MemorySpace::Device);
45 MemorySpace space = MemorySpace::Device);
52 const IndexT sizes[Dim],
54 MemorySpace space = MemorySpace::Device);
56 std::initializer_list<IndexT> sizes,
58 MemorySpace space = MemorySpace::Device);
63 const IndexT sizes[Dim],
64 MemorySpace space = MemorySpace::Device);
66 std::initializer_list<IndexT> sizes,
67 MemorySpace space = MemorySpace::Device);
72 const IndexT sizes[Dim],
74 MemorySpace space = MemorySpace::Device);
79 MemorySpace space = MemorySpace::Device);
86 MemorySpace space = MemorySpace::Device);
90 zero(cudaStream_t stream);
113 #include "DeviceTensor-inl.cuh"
__host__ ~DeviceTensor()
Destructor.
__host__ DeviceTensor< T, Dim, InnerContig, IndexT, PtrTraits > & zero(cudaStream_t stream)
Call to zero out memory.
__host__ __device__ const IndexT * sizes() const
Returns the size array.
__host__ __device__ const IndexT * strides() const
Returns the stride array.
__host__ __device__ DataPtrType data()
Returns a raw pointer to the start of our data.
__host__ DeviceTensor()
Default constructor.
__host__ DeviceTensor< T, Dim, InnerContig, IndexT, PtrTraits > & operator=(DeviceTensor< T, Dim, InnerContig, IndexT, PtrTraits > &&t)
Move assignment.
Manages temporary memory allocations on a GPU device.