fix missing-prototypes warnings in torch_cpu (Part 3) (#100245)
This PR fixes more missing-prototypes violations in the torch_cpu source following PRs #100053 and #100147
Pull Request resolved: https://github.com/pytorch/pytorch/pull/100245
Approved by: https://github.com/Skylion007
diff --git a/aten/src/ATen/native/AffineGridGenerator.cpp b/aten/src/ATen/native/AffineGridGenerator.cpp
index 8fe19ee..bb512ce 100644
--- a/aten/src/ATen/native/AffineGridGenerator.cpp
+++ b/aten/src/ATen/native/AffineGridGenerator.cpp
@@ -61,7 +61,7 @@
return base_grid;
}
-Tensor affine_grid_generator_4D(
+static Tensor affine_grid_generator_4D(
const Tensor& theta,
int64_t N,
int64_t C,
@@ -73,7 +73,7 @@
return grid.view({N, H, W, 2});
}
-Tensor affine_grid_generator_5D(
+static Tensor affine_grid_generator_5D(
const Tensor& theta,
int64_t N,
int64_t C,
@@ -99,7 +99,7 @@
}
}
-Tensor affine_grid_generator_4D_backward(
+static Tensor affine_grid_generator_4D_backward(
const Tensor& grad_grid,
int64_t N,
int64_t C,
@@ -114,7 +114,7 @@
return grad_theta.transpose(1, 2);
}
-Tensor affine_grid_generator_5D_backward(
+static Tensor affine_grid_generator_5D_backward(
const Tensor& grad_grid,
int64_t N,
int64_t C,
diff --git a/aten/src/ATen/native/BatchLinearAlgebra.cpp b/aten/src/ATen/native/BatchLinearAlgebra.cpp
index 83613da..cbc43a6 100644
--- a/aten/src/ATen/native/BatchLinearAlgebra.cpp
+++ b/aten/src/ATen/native/BatchLinearAlgebra.cpp
@@ -1579,7 +1579,7 @@
// Without it, this function can lead to composite compliance problems, which
// may lead to bugs in functorch, where a Tensor Subclass that doesn't
// require grad may wrap a Tensor subclass that requires grad.
-bool _may_require_fw_or_bw_grad(const Tensor& input) {
+static bool _may_require_fw_or_bw_grad(const Tensor& input) {
return ((at::GradMode::is_enabled() && input.requires_grad())
|| input._fw_grad(/*level */ 0).defined()
|| isTensorSubclassLike(input));
@@ -1800,7 +1800,7 @@
DEFINE_DISPATCH(cholesky_inverse_stub);
-Tensor& cholesky_inverse_out_info(Tensor& result, Tensor& infos, const Tensor& input, bool upper) {
+static Tensor& cholesky_inverse_out_info(Tensor& result, Tensor& infos, const Tensor& input, bool upper) {
TORCH_INTERNAL_ASSERT(input.dim() >= 2);
TORCH_INTERNAL_ASSERT(input.size(-1) == input.size(-2));
@@ -2460,7 +2460,7 @@
For further details, please see the LAPACK/MAGMA documentation.
*/
-Tensor& householder_product_out_helper(const Tensor& input, const Tensor& tau, Tensor& result) {
+static Tensor& householder_product_out_helper(const Tensor& input, const Tensor& tau, Tensor& result) {
TORCH_INTERNAL_ASSERT(input.dim() >= 2);
TORCH_INTERNAL_ASSERT(input.size(-2) >= input.size(-1));
TORCH_INTERNAL_ASSERT(input.size(-1) >= tau.size(-1));
@@ -2579,7 +2579,7 @@
DEFINE_DISPATCH(ormqr_stub);
-void ormqr_out_helper(const Tensor& input, const Tensor& tau, const Tensor& other, const Tensor& result, bool left, bool transpose) {
+static void ormqr_out_helper(const Tensor& input, const Tensor& tau, const Tensor& other, const Tensor& result, bool left, bool transpose) {
TORCH_INTERNAL_ASSERT_DEBUG_ONLY(input.dim() >= 2);
TORCH_INTERNAL_ASSERT_DEBUG_ONLY(other.dim() >= 2);
@@ -2848,7 +2848,7 @@
DEFINE_DISPATCH(linalg_eig_stub);
-std::tuple<Tensor&, Tensor&> linalg_eig_out_info(const Tensor& input, Tensor& values, Tensor& vectors, Tensor& infos, bool compute_eigenvectors) {
+static std::tuple<Tensor&, Tensor&> linalg_eig_out_info(const Tensor& input, Tensor& values, Tensor& vectors, Tensor& infos, bool compute_eigenvectors) {
// MAGMA doesn't have GPU interface for GEEV routine, it requires inputs to be on CPU
// therefore we create all intermediate tensors on CPU
auto options = input.options().device(at::kCPU);
diff --git a/aten/src/ATen/native/Bucketization.cpp b/aten/src/ATen/native/Bucketization.cpp
index 7b53a31..aa1c44a 100644
--- a/aten/src/ATen/native/Bucketization.cpp
+++ b/aten/src/ATen/native/Bucketization.cpp
@@ -10,6 +10,8 @@
#include <ATen/Functions.h>
#else
#include <ATen/ops/empty.h>
+#include <ATen/ops/bucketize_native.h>
+#include <ATen/ops/searchsorted_native.h>
#endif
/* Implement a numpy like searchsorted and a TF like bucketize function running on cpu
diff --git a/aten/src/ATen/native/CPUFallback.cpp b/aten/src/ATen/native/CPUFallback.cpp
index 83d9516..de5ef55 100644
--- a/aten/src/ATen/native/CPUFallback.cpp
+++ b/aten/src/ATen/native/CPUFallback.cpp
@@ -19,7 +19,7 @@
// convenience helper for converting tensors to cpu
-std::vector<at::Tensor> to_cpu(const at::TensorList& tensors) {
+static std::vector<at::Tensor> to_cpu(const at::TensorList& tensors) {
// We can't just call at::to_cpu() on the entire list of Tensors
// Because it will break on undefined tensors. Separate out undefined tensors first.
std::vector<at::Tensor> cpu_tensors(tensors.size());
@@ -46,7 +46,7 @@
return cpu_tensors;
}
-c10::optional<c10::Device> compute_target_device(std::vector<at::Tensor>& t_args, std::vector<c10::List<at::Tensor>> tlist_args) {
+static c10::optional<c10::Device> compute_target_device(std::vector<at::Tensor>& t_args, std::vector<c10::List<at::Tensor>> tlist_args) {
// Decide what device to move the output tensor(s) to.
// The current convention is that we use the first tensor arg to pick the device
// Barring that, we take the first tensor from a TensorList arg.
diff --git a/aten/src/ATen/native/Convolution.cpp b/aten/src/ATen/native/Convolution.cpp
index a5959ef..dd7ad98 100644
--- a/aten/src/ATen/native/Convolution.cpp
+++ b/aten/src/ATen/native/Convolution.cpp
@@ -247,7 +247,8 @@
}
-bool xnnpack_use_convolution2d(
+#if defined(C10_MOBILE)
+static bool xnnpack_use_convolution2d(
const Tensor& input,
const Tensor& weight,
const at::OptionalIntArrayRef bias_sizes_opt,
@@ -259,7 +260,7 @@
return xnnpack::use_convolution2d(input, weight, bias_sizes_opt, padding, stride, dilation, groups, transposed);
}
-bool xnnpack_use_convolution2d(
+static bool xnnpack_use_convolution2d(
const Tensor& input,
const Tensor& weight,
const at::OptionalSymIntArrayRef bias_sizes_opt,
@@ -271,6 +272,7 @@
// Never use xnnpack for symbolic tracing
return false;
}
+#endif
// NOLINTNEXTLINE(cppcoreguidelines-pro-type-member-init)
// This struct is templated so that we can run backend selection in a dynamic
@@ -1332,7 +1334,7 @@
}
// For BC reasons, have a copy that does not require bias_opt
-ConvBackend select_conv_backend(
+static ConvBackend select_conv_backend(
const Tensor& input,
const Tensor& weight,
const at::OptionalIntArrayRef bias_sizes_opt,
@@ -1341,7 +1343,7 @@
return _select_conv_backend(input, weight, {}, bias_sizes_opt, need_backward, params);
}
-at::Tensor _convolution_nogroup_backend(
+static at::Tensor _convolution_nogroup_backend(
const Tensor& input,
const Tensor& weight,
const Tensor& bias,
@@ -1910,7 +1912,7 @@
return std::tuple<Tensor,Tensor,Tensor>{ggO, gI, gW};
}
-std::tuple<at::Tensor, at::Tensor, at::Tensor> _convolution_backward_nogroup_backend(
+static std::tuple<at::Tensor, at::Tensor, at::Tensor> _convolution_backward_nogroup_backend(
const Tensor& grad_output,
const Tensor& input,
const Tensor& weight,
diff --git a/aten/src/ATen/native/ConvolutionMM3d.cpp b/aten/src/ATen/native/ConvolutionMM3d.cpp
index b8d6afd..0d7078a 100644
--- a/aten/src/ATen/native/ConvolutionMM3d.cpp
+++ b/aten/src/ATen/native/ConvolutionMM3d.cpp
@@ -688,7 +688,7 @@
return output;
}
-std::tuple<Tensor&, Tensor&, Tensor&> slow_conv3d_backward_out_cpu(const Tensor& grad_output,
+static std::tuple<Tensor&, Tensor&, Tensor&> slow_conv3d_backward_out_cpu(const Tensor& grad_output,
const Tensor& self,
const Tensor& weight,
IntArrayRef kernel_size,
diff --git a/aten/src/ATen/native/Cross.cpp b/aten/src/ATen/native/Cross.cpp
index 6c40001..eb0624f 100644
--- a/aten/src/ATen/native/Cross.cpp
+++ b/aten/src/ATen/native/Cross.cpp
@@ -41,7 +41,7 @@
DEFINE_DISPATCH(cross_stub);
-int64_t _default_cross_dim(const c10::optional<int64_t> &dimension, SymIntArrayRef sizes) {
+static int64_t _default_cross_dim(const c10::optional<int64_t> &dimension, SymIntArrayRef sizes) {
// If dimension is not given, it defaults to the first dimension found with the size 3.
// Note that this behaviour might be unexpected.
// _default_cross_dim is called internally inside the cross implementation to calculate
diff --git a/aten/src/ATen/native/EmbeddingBag.cpp b/aten/src/ATen/native/EmbeddingBag.cpp
index 717596b..a7da55c 100644
--- a/aten/src/ATen/native/EmbeddingBag.cpp
+++ b/aten/src/ATen/native/EmbeddingBag.cpp
@@ -1189,7 +1189,7 @@
// Assumes all input tensors except for `weight` are contiguous.
// See NOTE [ embedding_bag Native Functions ] in native_functions.yaml for details
-std::tuple<Tensor, Tensor, Tensor, Tensor> _embedding_bag_cpu_impl(
+static std::tuple<Tensor, Tensor, Tensor, Tensor> _embedding_bag_cpu_impl(
const Tensor& weight,
const Tensor& indices_,
const Tensor& offsets_,
@@ -1754,15 +1754,6 @@
});
}
-Tensor _embedding_bag_sparse_backward(
- const Tensor &grad_, const Tensor &indices, const Tensor &offsets,
- const Tensor &offset2bag, const Tensor &bag_size_, SymInt num_weights,
- bool scale_grad_by_freq, int64_t mode, const c10::optional<Tensor>& per_sample_weights_opt,
- int64_t padding_idx) {
- return at::native::_embedding_bag_sparse_backward_symint(grad_, indices, offsets, offset2bag, bag_size_, std::move(num_weights),
- scale_grad_by_freq, mode, per_sample_weights_opt, padding_idx);
-}
-
Tensor _embedding_bag_sparse_backward_symint(
const Tensor &grad_, const Tensor &indices, const Tensor &offsets,
const Tensor &offset2bag, const Tensor &bag_size_, SymInt num_weights,
diff --git a/aten/src/ATen/native/Fill.cpp b/aten/src/ATen/native/Fill.cpp
index 494c182..372e810 100644
--- a/aten/src/ATen/native/Fill.cpp
+++ b/aten/src/ATen/native/Fill.cpp
@@ -131,7 +131,7 @@
return self;
}
-Tensor& zero_cpu_(Tensor &self, int64_t nelements) {
+static Tensor& zero_cpu_(Tensor &self, int64_t nelements) {
void* ptr = self.data_ptr();
if (nullptr == ptr) {
return self.fill_(0);
diff --git a/aten/src/ATen/native/GridSampler.cpp b/aten/src/ATen/native/GridSampler.cpp
index b558602..2bb43b9 100644
--- a/aten/src/ATen/native/GridSampler.cpp
+++ b/aten/src/ATen/native/GridSampler.cpp
@@ -436,7 +436,7 @@
} // namespace
-Tensor _grid_sampler_2d_cpu_quantized(
+static Tensor _grid_sampler_2d_cpu_quantized(
const Tensor& input,
const Tensor& grid,
int64_t interpolation_mode_,
diff --git a/aten/src/ATen/native/LinearAlgebra.cpp b/aten/src/ATen/native/LinearAlgebra.cpp
index 4965521..b9ad133 100644
--- a/aten/src/ATen/native/LinearAlgebra.cpp
+++ b/aten/src/ATen/native/LinearAlgebra.cpp
@@ -137,7 +137,7 @@
namespace at {
namespace detail {
- void check_linalg_norm_dtype(optional<ScalarType> opt_dtype, ScalarType self_dtype, const char* const name) {
+ static void check_linalg_norm_dtype(optional<ScalarType> opt_dtype, ScalarType self_dtype, const char* const name) {
if (opt_dtype.has_value()) {
auto dtype = opt_dtype.value();
TORCH_CHECK(isFloatingType(dtype) || isComplexType(dtype), name, ": dtype should"
diff --git a/aten/src/ATen/native/LossNLL.cpp b/aten/src/ATen/native/LossNLL.cpp
index b1656ac..fe774cc 100644
--- a/aten/src/ATen/native/LossNLL.cpp
+++ b/aten/src/ATen/native/LossNLL.cpp
@@ -479,7 +479,7 @@
total_weight);
}
-Tensor cross_entropy_loss_prob_target(
+static Tensor cross_entropy_loss_prob_target(
const Tensor& self,
const Tensor& target_,
const Tensor& weight,
@@ -547,7 +547,7 @@
}
}
-Tensor cross_entropy_loss_label_smoothing(
+static Tensor cross_entropy_loss_label_smoothing(
const Tensor& self,
const Tensor& target,
const Tensor& weight,
diff --git a/aten/src/ATen/native/NaiveConvolutionTranspose2d.cpp b/aten/src/ATen/native/NaiveConvolutionTranspose2d.cpp
index 9a6b1e5..0bb3088 100644
--- a/aten/src/ATen/native/NaiveConvolutionTranspose2d.cpp
+++ b/aten/src/ATen/native/NaiveConvolutionTranspose2d.cpp
@@ -848,7 +848,7 @@
grad_input, grad_weight, grad_bias);
}
-std::tuple<Tensor, Tensor, Tensor> slow_conv_transpose2d_backward_cpu(
+static std::tuple<Tensor, Tensor, Tensor> slow_conv_transpose2d_backward_cpu(
const Tensor& grad_output,
const Tensor& input,
const Tensor& weight,
diff --git a/aten/src/ATen/native/NaiveConvolutionTranspose3d.cpp b/aten/src/ATen/native/NaiveConvolutionTranspose3d.cpp
index 8187e39..072c3b4 100644
--- a/aten/src/ATen/native/NaiveConvolutionTranspose3d.cpp
+++ b/aten/src/ATen/native/NaiveConvolutionTranspose3d.cpp
@@ -924,7 +924,7 @@
grad_input, grad_weight, grad_bias);
}
-std::tuple<Tensor, Tensor, Tensor> slow_conv_transpose3d_backward_cpu(
+static std::tuple<Tensor, Tensor, Tensor> slow_conv_transpose3d_backward_cpu(
const Tensor& grad_output,
const Tensor& input,
const Tensor& weight,
diff --git a/aten/src/ATen/native/NaiveDilatedConvolution.cpp b/aten/src/ATen/native/NaiveDilatedConvolution.cpp
index 91daf3d..6c37c6a 100644
--- a/aten/src/ATen/native/NaiveDilatedConvolution.cpp
+++ b/aten/src/ATen/native/NaiveDilatedConvolution.cpp
@@ -628,7 +628,7 @@
return output;
}
-std::tuple<Tensor, Tensor, Tensor> slow_conv_dilated2d_backward_cpu(
+static std::tuple<Tensor, Tensor, Tensor> slow_conv_dilated2d_backward_cpu(
const Tensor& grad_output,
const Tensor& input,
const Tensor& weight,
@@ -687,7 +687,7 @@
return std::tie(grad_input, grad_weight, grad_bias);
}
-std::tuple<Tensor, Tensor, Tensor> slow_conv_dilated3d_backward_cpu(
+static std::tuple<Tensor, Tensor, Tensor> slow_conv_dilated3d_backward_cpu(
const Tensor& grad_output,
const Tensor& input,
const Tensor& weight,