1#pragma once
2#include <ATen/core/TensorBase.h>
3
4namespace at {
5namespace detail {
6
7TORCH_CUDA_CPP_API TensorBase empty_cuda(
8 IntArrayRef size,
9 ScalarType dtype,
10 c10::optional<Device> device_opt,
11 c10::optional<c10::MemoryFormat> memory_format_opt);
12
13TORCH_CUDA_CPP_API TensorBase empty_cuda(
14 IntArrayRef size,
15 c10::optional<ScalarType> dtype_opt,
16 c10::optional<Layout> layout_opt,
17 c10::optional<Device> device_opt,
18 c10::optional<bool> pin_memory_opt,
19 c10::optional<c10::MemoryFormat> memory_format_opt);
20
21TORCH_CUDA_CPP_API TensorBase empty_cuda(
22 IntArrayRef size,
23 const TensorOptions &options);
24
25TORCH_CUDA_CPP_API TensorBase empty_strided_cuda(
26 IntArrayRef size,
27 IntArrayRef stride,
28 ScalarType dtype,
29 c10::optional<Device> device_opt);
30
31TORCH_CUDA_CPP_API TensorBase empty_strided_cuda(
32 IntArrayRef size,
33 IntArrayRef stride,
34 c10::optional<ScalarType> dtype_opt,
35 c10::optional<Layout> layout_opt,
36 c10::optional<Device> device_opt,
37 c10::optional<bool> pin_memory_opt);
38
39TORCH_CUDA_CPP_API TensorBase empty_strided_cuda(
40 IntArrayRef size,
41 IntArrayRef stride,
42 const TensorOptions &options);
43
44
45}} // namespace at::detail
46