| #pragma once |
| #include <ATen/core/TensorBase.h> |
|
|
| namespace at { |
| namespace detail { |
|
|
| template <class ArrayRefType> |
| inline void check_size_nonnegative(ArrayRefType size) { |
| for (auto x : size) { |
| TORCH_CHECK( |
| x >= 0, |
| "Trying to create tensor with negative dimension ", |
| x, |
| ": ", |
| size); |
| } |
| } |
|
|
| TORCH_API size_t computeStorageNbytesContiguous( |
| IntArrayRef sizes, |
| size_t itemsize, |
| size_t storage_offset = 0); |
| TORCH_API size_t computeStorageNbytes( |
| IntArrayRef sizes, |
| IntArrayRef strides, |
| size_t itemsize, |
| size_t storage_offset = 0); |
| TORCH_API SymInt computeStorageNbytes( |
| SymIntArrayRef sizes, |
| SymIntArrayRef strides, |
| SymInt itemsize, |
| SymInt storage_offset = 0); |
|
|
| TORCH_API TensorBase empty_generic( |
| IntArrayRef size, |
| c10::Allocator* allocator, |
| c10::DispatchKeySet ks, |
| ScalarType scalar_type, |
| c10::optional<c10::MemoryFormat> memory_format_opt); |
|
|
| TORCH_API TensorBase empty_strided_generic( |
| IntArrayRef size, |
| IntArrayRef stride, |
| c10::Allocator* allocator, |
| c10::DispatchKeySet ks, |
| ScalarType scalar_type); |
|
|
| TORCH_API TensorBase empty_strided_symint_generic( |
| SymIntArrayRef size, |
| SymIntArrayRef stride, |
| c10::Allocator* allocator, |
| c10::DispatchKeySet ks, |
| ScalarType scalar_type); |
|
|
| TORCH_API TensorBase empty_cpu( |
| IntArrayRef size, |
| ScalarType dtype, |
| bool pin_memory = false, |
| c10::optional<c10::MemoryFormat> memory_format_opt = c10::nullopt); |
|
|
| TORCH_API TensorBase empty_cpu( |
| IntArrayRef size, |
| c10::optional<ScalarType> dtype_opt, |
| c10::optional<Layout> layout_opt, |
| c10::optional<Device> device_opt, |
| c10::optional<bool> pin_memory_opt, |
| c10::optional<c10::MemoryFormat> memory_format_opt); |
|
|
| TORCH_API TensorBase empty_cpu(IntArrayRef size, const TensorOptions& options); |
|
|
| TORCH_API TensorBase empty_strided_cpu( |
| IntArrayRef size, |
| IntArrayRef stride, |
| ScalarType dtype, |
| bool pin_memory = false); |
|
|
| TORCH_API TensorBase empty_strided_cpu( |
| IntArrayRef size, |
| IntArrayRef stride, |
| c10::optional<ScalarType> dtype_opt, |
| c10::optional<Layout> layout_opt, |
| c10::optional<Device> device_opt, |
| c10::optional<bool> pin_memory_opt); |
|
|
| TORCH_API TensorBase empty_strided_cpu( |
| IntArrayRef size, |
| IntArrayRef stride, |
| const TensorOptions& options); |
|
|
| TORCH_API TensorBase empty_meta( |
| IntArrayRef size, |
| ScalarType dtype, |
| c10::optional<c10::MemoryFormat> memory_format_opt = c10::nullopt); |
|
|
| TORCH_API TensorBase empty_meta( |
| IntArrayRef size, |
| c10::optional<ScalarType> dtype_opt, |
| c10::optional<Layout> layout_opt, |
| c10::optional<Device> device_opt, |
| c10::optional<bool> pin_memory_opt, |
| c10::optional<c10::MemoryFormat> memory_format_opt); |
|
|
| TORCH_API TensorBase empty_symint_meta( |
| SymIntArrayRef size, |
| c10::optional<ScalarType> dtype_opt, |
| c10::optional<Layout> layout_opt, |
| c10::optional<Device> device_opt, |
| c10::optional<bool> pin_memory_opt, |
| c10::optional<c10::MemoryFormat> memory_format_opt); |
|
|
| TORCH_API TensorBase empty_meta(IntArrayRef size, const TensorOptions& options); |
|
|
| TORCH_API TensorBase |
| empty_strided_meta(IntArrayRef size, IntArrayRef stride, ScalarType dtype); |
|
|
| TORCH_API TensorBase empty_strided_meta( |
| IntArrayRef size, |
| IntArrayRef stride, |
| c10::optional<ScalarType> dtype_opt, |
| c10::optional<Layout> layout_opt, |
| c10::optional<Device> device_opt, |
| c10::optional<bool> pin_memory_opt); |
|
|
| TORCH_API TensorBase empty_strided_meta( |
| IntArrayRef size, |
| IntArrayRef stride, |
| const TensorOptions& options); |
|
|
| TORCH_API TensorBase empty_strided_symint_meta( |
| SymIntArrayRef size, |
| SymIntArrayRef stride, |
| ScalarType dtype); |
|
|
| TORCH_API TensorBase empty_strided_symint_meta( |
| SymIntArrayRef size, |
| SymIntArrayRef stride, |
| c10::optional<ScalarType> dtype_opt, |
| c10::optional<Layout> layout_opt, |
| c10::optional<Device> device_opt, |
| c10::optional<bool> pin_memory_opt); |
|
|
| TORCH_API TensorBase empty_strided_symint_meta( |
| SymIntArrayRef size, |
| SymIntArrayRef stride, |
| const TensorOptions& options); |
|
|
| } |
| } |
|
|