From febbdc31cdbb69214a54682439d8db75a98eb484 Mon Sep 17 00:00:00 2001 From: hxf12345677 Date: Tue, 22 Mar 2022 15:04:15 +0800 Subject: [PATCH] =?UTF-8?q?TensorOptions=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../csrc/aten/common/TensorFactories.cpp | 71 ++++++++----------- torch_npu/csrc/aten/ops/ArangeKernelNpu.cpp | 17 ++--- torch_npu/csrc/aten/ops/FullKernelNpu.cpp | 12 ++-- torch_npu/csrc/aten/ops/RangeKernelNpu.cpp | 24 +++---- 4 files changed, 50 insertions(+), 74 deletions(-) diff --git a/torch_npu/csrc/aten/common/TensorFactories.cpp b/torch_npu/csrc/aten/common/TensorFactories.cpp index 75601864502..27be7c30824 100644 --- a/torch_npu/csrc/aten/common/TensorFactories.cpp +++ b/torch_npu/csrc/aten/common/TensorFactories.cpp @@ -309,13 +309,10 @@ namespace at_npu c10::optional optional_memory_format) { - c10::TensorOptions options; - auto device = device_or_default(device_opt); - options = options.dtype(dtype_opt) - .device(device) - .layout(layout_opt) - .pinned_memory(pin_memory_opt); - + c10::TensorOptions options = c10::TensorOptions().dtype(dtype_opt) + .device(device) + .layout(layout_opt) + .pinned_memory(pin_memory_opt); return at_npu::native::empty_like_npu(self, options, optional_memory_format); } @@ -419,12 +416,10 @@ namespace at_npu int64_t dst_format) { caffe2::TypeMeta dtype = c10::scalarTypeToTypeMeta(dtype_or_default(dtype_opt)); - c10::TensorOptions options; - auto device = device_or_default(device_opt); - options = options.dtype(dtype_opt) - .device(device) - .layout(layout_opt) - .pinned_memory(pin_memory_opt); + c10::TensorOptions options = c10::TensorOptions().dtype(dtype_opt) + .device(device) + .layout(layout_opt) + .pinned_memory(pin_memory_opt); at::Tensor result = OpPreparation::ApplyTensorWithFormat(size, options, dst_format); if (names.has_value()) { @@ -514,12 +509,10 @@ namespace at_npu c10::optional pin_memory_opt) { - c10::TensorOptions options; - auto device = device_or_default(device_opt); - options = options.dtype(dtype_opt) - .device(device) - .layout(layout_opt) - .pinned_memory(pin_memory_opt); + c10::TensorOptions options = c10::TensorOptions().dtype(dtype_opt) + .device(device) + .layout(layout_opt) + .pinned_memory(pin_memory_opt); window_function_checks("blackman_window", options, window_length); if (window_length == 0) @@ -558,12 +551,10 @@ namespace at_npu c10::optional pin_memory_opt) { - c10::TensorOptions options; - auto device = device_or_default(device_opt); - options = options.dtype(dtype_opt) - .device(device) - .layout(layout_opt) - .pinned_memory(pin_memory_opt); + c10::TensorOptions options = c10::TensorOptions().dtype(dtype_opt) + .device(device) + .layout(layout_opt) + .pinned_memory(pin_memory_opt); window_function_checks("bartlett_window", options, window_length); if (window_length == 0) @@ -604,12 +595,10 @@ namespace at_npu c10::optional pin_memory_opt) { - c10::TensorOptions options; - auto device = device_or_default(device_opt); - options = options.dtype(dtype_opt) - .device(device) - .layout(layout_opt) - .pinned_memory(pin_memory_opt); + c10::TensorOptions options = c10::TensorOptions().dtype(dtype_opt) + .device(device) + .layout(layout_opt) + .pinned_memory(pin_memory_opt); window_function_checks("hann_window", options, window_length); return at::hamming_window(window_length, periodic, 0.5, 0.5, options); @@ -636,12 +625,10 @@ namespace at_npu c10::optional pin_memory_opt) { - c10::TensorOptions options; - auto device = device_or_default(device_opt); - options = options.dtype(dtype_opt) - .device(device) - .layout(layout_opt) - .pinned_memory(pin_memory_opt); + c10::TensorOptions options = c10::TensorOptions().dtype(dtype_opt) + .device(device) + .layout(layout_opt) + .pinned_memory(pin_memory_opt); window_function_checks("hamming_window", options, window_length); if (window_length == 0) @@ -753,12 +740,10 @@ namespace at_npu c10::optional device_opt, c10::optional pin_memory_opt) { - c10::TensorOptions options; - auto device = device_or_default(device_opt); - options = options.dtype(dtype_opt) - .device(device) - .layout(layout_opt) - .pinned_memory(pin_memory_opt); + c10::TensorOptions options = c10::TensorOptions().dtype(dtype_opt) + .device(device) + .layout(layout_opt) + .pinned_memory(pin_memory_opt); TORCH_CHECK( options.layout() != at::kSparse, "full(...) is not implemented for sparse layout"); diff --git a/torch_npu/csrc/aten/ops/ArangeKernelNpu.cpp b/torch_npu/csrc/aten/ops/ArangeKernelNpu.cpp index 494594327d4..a4619b997ff 100644 --- a/torch_npu/csrc/aten/ops/ArangeKernelNpu.cpp +++ b/torch_npu/csrc/aten/ops/ArangeKernelNpu.cpp @@ -40,9 +40,9 @@ at::Tensor& arange_out_npu_nocheck( at::Scalar step) { OpCommand cmd; cmd.Name("Range") - .Input(start, result.scalar_type()) - .Input(end, result.scalar_type()) - .Input(step, result.scalar_type()) + .Input(start, result.scalar_type(), CompileType::MEMORY_HOST_COMPILE_DEPENDENT) + .Input(end, result.scalar_type(), CompileType::MEMORY_HOST_COMPILE_DEPENDENT) + .Input(step, result.scalar_type(), CompileType::MEMORY_HOST_COMPILE_DEPENDENT) .Output(result) .Run(); @@ -58,13 +58,10 @@ at::Tensor NPUNativeFunctions::arange( c10::optional device_opt, c10::optional pin_memory_opt) { - auto device = device_or_default(device_opt); - at::TensorOptions option; - option = option.dtype(dtype_opt) - .layout(layout_opt) - .device(device) - .pinned_memory(pin_memory_opt); - + c10::TensorOptions option = c10::TensorOptions().dtype(dtype_opt) + .device(device) + .layout(layout_opt) + .pinned_memory(pin_memory_opt); float start_value = CalcuOpUtil::get_scalar_float_value(start); float end_value = CalcuOpUtil::get_scalar_float_value(end); float step_value = CalcuOpUtil::get_scalar_float_value(step); diff --git a/torch_npu/csrc/aten/ops/FullKernelNpu.cpp b/torch_npu/csrc/aten/ops/FullKernelNpu.cpp index 8f644cbc0f9..20d64edc007 100644 --- a/torch_npu/csrc/aten/ops/FullKernelNpu.cpp +++ b/torch_npu/csrc/aten/ops/FullKernelNpu.cpp @@ -37,13 +37,11 @@ at::Tensor NPUNativeFunctions::full( c10::optional layout_opt, c10::optional device_opt, c10::optional pin_memory_opt) { - c10::TensorOptions option; - auto device = device_or_default(device_opt); - option = option.dtype(dtype_opt) - .device(device) - .layout(layout_opt) - .pinned_memory(pin_memory_opt); - at::Tensor result = OpPreparation::ApplyTensorWithSizes(size, option); + c10::TensorOptions options = c10::TensorOptions().dtype(dtype_opt) + .device(device) + .layout(layout_opt) + .pinned_memory(pin_memory_opt); + at::Tensor result = OpPreparation::ApplyTensorWithSizes(size, options); return result.fill_(fill_value); } diff --git a/torch_npu/csrc/aten/ops/RangeKernelNpu.cpp b/torch_npu/csrc/aten/ops/RangeKernelNpu.cpp index df65f925d39..7dd3ae8c28c 100644 --- a/torch_npu/csrc/aten/ops/RangeKernelNpu.cpp +++ b/torch_npu/csrc/aten/ops/RangeKernelNpu.cpp @@ -55,13 +55,11 @@ at::Tensor NPUNativeFunctions::range( c10::optional layout_opt, c10::optional device_opt, c10::optional pin_memory_opt) { - auto device = device_or_default(device_opt); - c10::TensorOptions option; - option = option.dtype(dtype_opt) - .device(device) - .layout(layout_opt) - .pinned_memory(pin_memory_opt); - return at::range(start, end, 1, option); + c10::TensorOptions options = c10::TensorOptions().dtype(dtype_opt) + .device(device_opt) + .layout(layout_opt) + .pinned_memory(pin_memory_opt); + return at::range(start, end, 1, options); } at::Tensor NPUNativeFunctions::range( @@ -72,12 +70,10 @@ at::Tensor NPUNativeFunctions::range( c10::optional layout_opt, c10::optional device_opt, c10::optional pin_memory_opt) { - auto device = device_or_default(device_opt); - c10::TensorOptions option; - option = option.dtype(dtype_opt) - .device(device) - .layout(layout_opt) - .pinned_memory(pin_memory_opt); + c10::TensorOptions options = c10::TensorOptions().dtype(dtype_opt) + .device(device) + .layout(layout_opt) + .pinned_memory(pin_memory_opt); float start_value = CalcuOpUtil::get_scalar_float_value(start); float end_value = CalcuOpUtil::get_scalar_float_value(end); @@ -88,7 +84,7 @@ at::Tensor NPUNativeFunctions::range( "upper bound and larger bound inconsistent with step sign"); auto outputSize = range_npu_output_size(start_value, end_value, step_value); - at::Tensor result = OpPreparation::ApplyTensorWithFormat(outputSize, option, ACL_FORMAT_NCHW); + at::Tensor result = OpPreparation::ApplyTensorWithFormat(outputSize, options, ACL_FORMAT_NCHW); return range_out_nocheck(start, end, step, result); } -- Gitee