13 #include "DeviceMemory.h"
14 #include "MemorySpace.h"
16 namespace faiss {
namespace gpu {
20 bool InnerContig =
false,
21 typename IndexT = int,
22 template <
typename U>
class PtrTraits = traits::DefaultPtrTraits>
25 typedef IndexT IndexType;
26 typedef typename PtrTraits<T>::PtrType DataPtrType;
44 MemorySpace space = MemorySpace::Device);
46 MemorySpace space = MemorySpace::Device);
53 const IndexT sizes[Dim],
55 MemorySpace space = MemorySpace::Device);
57 std::initializer_list<IndexT> sizes,
59 MemorySpace space = MemorySpace::Device);
64 const IndexT sizes[Dim],
65 MemorySpace space = MemorySpace::Device);
67 std::initializer_list<IndexT> sizes,
68 MemorySpace space = MemorySpace::Device);
73 const IndexT sizes[Dim],
75 MemorySpace space = MemorySpace::Device);
80 MemorySpace space = MemorySpace::Device);
87 MemorySpace space = MemorySpace::Device);
91 zero(cudaStream_t stream);
114 #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.