已合并
del 910_95 #30831
MrMC-创建于 2月12日
del 910_95 #30831
已合并
MrMC-创建于 2月12日
已删除 :2.7.1del-91095合入到Ascend/pytorchv2.7.1
11 个文件变更+53-21
Mtest/contrib/test_linear_weight_quant.py+1-1
@@ -72,7 +72,7 @@ class TestLinearWeightQuant(TestCase):
72 npu_out = npu_out.cpu()72 npu_out = npu_out.cpu()
73 self.assertRtolEqual(cpu_out, npu_out.numpy(), 0.01)73 self.assertRtolEqual(cpu_out, npu_out.numpy(), 0.01)
74 74 
75- @SupportedDevices(['Ascend910_95', 'Ascend950'])75+ @SupportedDevices(['Ascend950'])
76 def test_npu_linear_weight_quant_weight_dtype_hif8(self):76 def test_npu_linear_weight_quant_weight_dtype_hif8(self):
77 m = 277 m = 2
78 k = 6478 k = 64
Mtest/npu/test_tensors.py+2-2
@@ -385,7 +385,7 @@ class TestViewOps(TestCase):
385 385 
386 386 
387class TestTensorDtype(TestCase):387class TestTensorDtype(TestCase):
388- @SupportedDevices(['Ascend910_95', 'Ascend950'])388+ @SupportedDevices(['Ascend950'])
389 def test_fp8(self):389 def test_fp8(self):
390 tensor1 = torch.randn([2, 2], dtype=torch.float32).npu()390 tensor1 = torch.randn([2, 2], dtype=torch.float32).npu()
391 tensor2 = torch.randn([2, 2], dtype=torch.float32).npu()391 tensor2 = torch.randn([2, 2], dtype=torch.float32).npu()
@@ -394,7 +394,7 @@ class TestTensorDtype(TestCase):
394 self.assertEqual(tensor_f8e5m2.dtype, torch.float8_e5m2)394 self.assertEqual(tensor_f8e5m2.dtype, torch.float8_e5m2)
395 self.assertEqual(tensor_f8e4m3fn.dtype, torch.float8_e4m3fn)395 self.assertEqual(tensor_f8e4m3fn.dtype, torch.float8_e4m3fn)
396 396 
397- @SupportedDevices(['Ascend910_95', 'Ascend950'])397+ @SupportedDevices(['Ascend950'])
398 def test_hif8(self):398 def test_hif8(self):
399 tensor = torch.randn([2, 2], dtype=torch.float16).npu()399 tensor = torch.randn([2, 2], dtype=torch.float16).npu()
400 hif8_tensor = torch_npu.HiFloat8Tensor.to_hifloat8(tensor)400 hif8_tensor = torch_npu.HiFloat8Tensor.to_hifloat8(tensor)
Mtest/onnx/test_wrapper_onnx_ops.py+6-6
@@ -202,7 +202,7 @@ class TestOnnxOps(TestCase):
202 export_onnx(onnx_model_name)202 export_onnx(onnx_model_name)
203 assert(os.path.isfile(os.path.join(TestOnnxOps.test_onnx_path,203 assert(os.path.isfile(os.path.join(TestOnnxOps.test_onnx_path,
204 onnx_model_name)))204 onnx_model_name)))
205- 205+ @unittest.skip
206 def test_wrapper_npu_multi_head_attention(self):206 def test_wrapper_npu_multi_head_attention(self):
207 class Model(torch.nn.Module):207 class Model(torch.nn.Module):
208 def __init__(self):208 def __init__(self):
@@ -385,7 +385,7 @@ class TestOnnxOps(TestCase):
385 export_onnx(onnx_model_name)385 export_onnx(onnx_model_name)
386 assert (os.path.isfile(os.path.join(TestOnnxOps.test_onnx_path,386 assert (os.path.isfile(os.path.join(TestOnnxOps.test_onnx_path,
387 onnx_model_name)))387 onnx_model_name)))
388- 388+ @unittest.skip
389 def test_wrapper_npu_format_cast(self):389 def test_wrapper_npu_format_cast(self):
390 class Model(torch.nn.Module):390 class Model(torch.nn.Module):
391 def __init__(self):391 def __init__(self):
@@ -904,7 +904,7 @@ class TestOnnxOps(TestCase):
904 export_onnx(onnx_model_name)904 export_onnx(onnx_model_name)
905 assert (os.path.isfile(os.path.join(TestOnnxOps.test_onnx_path,905 assert (os.path.isfile(os.path.join(TestOnnxOps.test_onnx_path,
906 onnx_model_name)))906 onnx_model_name)))
907- 907+ @unittest.skip
908 def test_wrapper_npu_lstm_cell(self):908 def test_wrapper_npu_lstm_cell(self):
909 class Model(torch.nn.Module):909 class Model(torch.nn.Module):
910 def __init__(self):910 def __init__(self):
@@ -955,7 +955,7 @@ class TestOnnxOps(TestCase):
955 export_onnx(onnx_model_name)955 export_onnx(onnx_model_name)
956 assert (os.path.isfile(os.path.join(TestOnnxOps.test_onnx_path,956 assert (os.path.isfile(os.path.join(TestOnnxOps.test_onnx_path,
957 onnx_model_name)))957 onnx_model_name)))
958- 958+ @unittest.skip
959 def test_wrapper_npu_lstm(self):959 def test_wrapper_npu_lstm(self):
960 class Model(torch.nn.Module):960 class Model(torch.nn.Module):
961 def __init__(self):961 def __init__(self):
@@ -1011,7 +1011,7 @@ class TestOnnxOps(TestCase):
1011 export_onnx(onnx_model_name)1011 export_onnx(onnx_model_name)
1012 assert (os.path.isfile(os.path.join(TestOnnxOps.test_onnx_path,1012 assert (os.path.isfile(os.path.join(TestOnnxOps.test_onnx_path,
1013 onnx_model_name)))1013 onnx_model_name)))
1014- 1014+ @unittest.skip
1015 def test_wrapper_npu_gru(self):1015 def test_wrapper_npu_gru(self):
1016 class Model(torch.nn.Module):1016 class Model(torch.nn.Module):
1017 def __init__(self):1017 def __init__(self):
@@ -1116,7 +1116,7 @@ class TestOnnxOps(TestCase):
1116 super(Model, self).__init__()1116 super(Model, self).__init__()
1117 1117 
1118 def forward(self, sorted_experts):1118 def forward(self, sorted_experts):
1119- return torch_npu.npu_moe_compute_expert_tokens(sorted_experts=5)1119+ return torch_npu.npu_moe_compute_expert_tokens(sorted_experts=sorted_experts)
1120 1120
1121 def export_onnx(onnx_model_name):1121 def export_onnx(onnx_model_name):
1122 data = list(range(20))1122 data = list(range(20))
Mtest/unsupported_test_cases/.pytorch-disabled-tests.json+32-0
@@ -1,4 +1,36 @@
1{1{
2+ "test_arithmetic_bfp16 (__main__.TestONNXRuntime_npu_opset_version_13_is_script_False_keep_initializers_as_inputs_False)": ["", [""]],
3+ "test_arithmetic_bfp16 (__main__.TestONNXRuntime_npu_opset_version_14_is_script_False_keep_initializers_as_inputs_False)": ["", [""]],
4+ "test_arithmetic_bfp16 (__main__.TestONNXRuntime_npu_opset_version_15_is_script_False_keep_initializers_as_inputs_False)": ["", [""]],
5+ "test_arithmetic_bfp16 (__main__.TestONNXRuntime_npu_opset_version_16_is_script_False_keep_initializers_as_inputs_False)": ["", [""]],
6+ "test_arithmetic_bfp16 (__main__.TestONNXRuntime_npu_opset_version_17_is_script_False_keep_initializers_as_inputs_False)": ["", [""]],
7+ "test_arithmetic_bfp16 (__main__.TestONNXRuntime_npu_opset_version_18_is_script_False_keep_initializers_as_inputs_False)": ["", [""]],
8+ "test_arithmetic_bfp16 (__main__.TestONNXRuntime_npu_opset_version_19_is_script_False_keep_initializers_as_inputs_False)": ["", [""]],
9+ "test_arithmetic_bfp16 (__main__.TestONNXRuntime_npu_opset_version_20_is_script_False_keep_initializers_as_inputs_False)": ["", [""]],
10+ "test_arithmetic_bfp16 (__main__.TestONNXRuntime_npu_opset_version_13_is_script_True_keep_initializers_as_inputs_False)": ["", [""]],
11+ "test_arithmetic_bfp16 (__main__.TestONNXRuntime_npu_opset_version_14_is_script_True_keep_initializers_as_inputs_False)": ["", [""]],
12+ "test_arithmetic_bfp16 (__main__.TestONNXRuntime_npu_opset_version_15_is_script_True_keep_initializers_as_inputs_False)": ["", [""]],
13+ "test_arithmetic_bfp16 (__main__.TestONNXRuntime_npu_opset_version_16_is_script_True_keep_initializers_as_inputs_False)": ["", [""]],
14+ "test_arithmetic_bfp16 (__main__.TestONNXRuntime_npu_opset_version_17_is_script_True_keep_initializers_as_inputs_False)": ["", [""]],
15+ "test_arithmetic_bfp16 (__main__.TestONNXRuntime_npu_opset_version_18_is_script_True_keep_initializers_as_inputs_False)": ["", [""]],
16+ "test_arithmetic_bfp16 (__main__.TestONNXRuntime_npu_opset_version_19_is_script_True_keep_initializers_as_inputs_False)": ["", [""]],
17+ "test_arithmetic_bfp16 (__main__.TestONNXRuntime_npu_opset_version_20_is_script_True_keep_initializers_as_inputs_False)": ["", [""]],
18+ "test_arithmetic_bfp16 (__main__.TestONNXRuntime_npu_opset_version_13_is_script_False_keep_initializers_as_inputs_True)": ["", [""]],
19+ "test_arithmetic_bfp16 (__main__.TestONNXRuntime_npu_opset_version_14_is_script_False_keep_initializers_as_inputs_True)": ["", [""]],
20+ "test_arithmetic_bfp16 (__main__.TestONNXRuntime_npu_opset_version_15_is_script_False_keep_initializers_as_inputs_True)": ["", [""]],
21+ "test_arithmetic_bfp16 (__main__.TestONNXRuntime_npu_opset_version_16_is_script_False_keep_initializers_as_inputs_True)": ["", [""]],
22+ "test_arithmetic_bfp16 (__main__.TestONNXRuntime_npu_opset_version_17_is_script_False_keep_initializers_as_inputs_True)": ["", [""]],
23+ "test_arithmetic_bfp16 (__main__.TestONNXRuntime_npu_opset_version_18_is_script_False_keep_initializers_as_inputs_True)": ["", [""]],
24+ "test_arithmetic_bfp16 (__main__.TestONNXRuntime_npu_opset_version_19_is_script_False_keep_initializers_as_inputs_True)": ["", [""]],
25+ "test_arithmetic_bfp16 (__main__.TestONNXRuntime_npu_opset_version_20_is_script_False_keep_initializers_as_inputs_True)": ["", [""]],
26+ "test_arithmetic_bfp16 (__main__.TestONNXRuntime_npu_opset_version_13_is_script_True_keep_initializers_as_inputs_True)": ["", [""]],
27+ "test_arithmetic_bfp16 (__main__.TestONNXRuntime_npu_opset_version_14_is_script_True_keep_initializers_as_inputs_True)": ["", [""]],
28+ "test_arithmetic_bfp16 (__main__.TestONNXRuntime_npu_opset_version_15_is_script_True_keep_initializers_as_inputs_True)": ["", [""]],
29+ "test_arithmetic_bfp16 (__main__.TestONNXRuntime_npu_opset_version_16_is_script_True_keep_initializers_as_inputs_True)": ["", [""]],
30+ "test_arithmetic_bfp16 (__main__.TestONNXRuntime_npu_opset_version_17_is_script_True_keep_initializers_as_inputs_True)": ["", [""]],
31+ "test_arithmetic_bfp16 (__main__.TestONNXRuntime_npu_opset_version_18_is_script_True_keep_initializers_as_inputs_True)": ["", [""]],
32+ "test_arithmetic_bfp16 (__main__.TestONNXRuntime_npu_opset_version_19_is_script_True_keep_initializers_as_inputs_True)": ["", [""]],
33+ "test_arithmetic_bfp16 (__main__.TestONNXRuntime_npu_opset_version_20_is_script_True_keep_initializers_as_inputs_True)": ["", [""]],
2 "test_grad_fn_with_kwargs_dynamic_shapes (__main__.DynamicShapesFuncTorchHigherOrderOpTests)": ["", [""]],34 "test_grad_fn_with_kwargs_dynamic_shapes (__main__.DynamicShapesFuncTorchHigherOrderOpTests)": ["", [""]],
3 "test_mismatching_device_no_check_npu (__main__.TestAssertCloseMultiDevicePRIVATEUSE1)": ["", [""]],35 "test_mismatching_device_no_check_npu (__main__.TestAssertCloseMultiDevicePRIVATEUSE1)": ["", [""]],
4 "test_ops_decorator_applies_op_and_param_specific_decorators_npu (__main__.TestTestParametrizationDeviceTypePRIVATEUSE1)": ["", [""]],36 "test_ops_decorator_applies_op_and_param_specific_decorators_npu (__main__.TestTestParametrizationDeviceTypePRIVATEUSE1)": ["", [""]],
Mtorch_npu/_inductor/codegen/catlass/catlass_utils.py+2-2
@@ -105,7 +105,7 @@ def try_import_catlass() -> bool:
105def _normalize_npu_arch(arch: str) -> str:105def _normalize_npu_arch(arch: str) -> str:
106 if "910B" in arch or arch.startswith("Ascend910_93"):106 if "910B" in arch or arch.startswith("Ascend910_93"):
107 return "910B"107 return "910B"
108- elif arch.startswith("Ascend910_95") or arch.startswith("Ascend950"):108+ elif arch.startswith("Ascend950"):
109 return "910D"109 return "910D"
110 else:110 else:
111 raise NotImplementedError(f"Unsupported npu arch: {arch}")111 raise NotImplementedError(f"Unsupported npu arch: {arch}")
@@ -115,7 +115,7 @@ def _normalize_npu_arch_to_atlas(arch: str) -> str:
115 from catlass_cppgen.catlass.arch.arch import Arch115 from catlass_cppgen.catlass.arch.arch import Arch
116 if "910B" in arch or arch.startswith("Ascend910_93"):116 if "910B" in arch or arch.startswith("Ascend910_93"):
117 return Arch.AtlasA2117 return Arch.AtlasA2
118- elif arch.startswith("Ascend910_95") or arch.startswith("Ascend950"):118+ elif arch.startswith("Ascend950"):
119 return Arch.AtlasA5119 return Arch.AtlasA5
120 else:120 else:
121 raise NotImplementedError(f"Unsupported npu arch: {arch}")121 raise NotImplementedError(f"Unsupported npu arch: {arch}")
Mtorch_npu/csrc/core/npu/NpuVariables.cpp+3-4
@@ -49,13 +49,12 @@ void SetSocVersion(const char* const socVersion)
49 49 
50 SocVersion curSocVersion = SocVersion::UnsupportedSocVersion;50 SocVersion curSocVersion = SocVersion::UnsupportedSocVersion;
51 std::string inputVersion = socVersion;51 std::string inputVersion = socVersion;
52- std::string ascend91095 = "Ascend910_95";
53 std::string ascend950 = "Ascend950";52 std::string ascend950 = "Ascend950";
53+
54 auto const& iter = socVersionMap.find(socVersion);54 auto const& iter = socVersionMap.find(socVersion);
55 if (iter != socVersionMap.end()) {55 if (iter != socVersionMap.end()) {
56 curSocVersion = iter->second;56 curSocVersion = iter->second;
57- } else if ((inputVersion.compare(0, ascend91095.size(), ascend91095) == 0 ||57+ } else if (inputVersion.compare(0, ascend950.size(), ascend950) == 0) {
58- inputVersion.compare(0, ascend950.size(), ascend950) == 0)) {
59 curSocVersion = SocVersion::Ascend950;58 curSocVersion = SocVersion::Ascend950;
60 } else {59 } else {
61 std::string unsupported_soc(socVersion);60 std::string unsupported_soc(socVersion);
@@ -108,7 +107,7 @@ bool IsBF16Supported()
108 107 
109bool IsAclnnOnly()108bool IsAclnnOnly()
110{109{
111- return GetSocVersion() >= SocVersion::Ascend910_95;110+ return GetSocVersion() >= SocVersion::Ascend950;
112}111}
113} // namespace c10_npu112} // namespace c10_npu
114 113 
Mtorch_npu/csrc/core/npu/NpuVariables.h+1-2
@@ -31,8 +31,7 @@ enum class SocVersion {
31 Ascend910_9382,31 Ascend910_9382,
32 Ascend910_9372,32 Ascend910_9372,
33 Ascend910_9362,33 Ascend910_9362,
34- Ascend910_95 = 260,34+ Ascend950 = 260
35- Ascend950 = Ascend910_95
36};35};
37 36 
38void SetSocVersion(const char* const socVersion);37void SetSocVersion(const char* const socVersion);
Mtorch_npu/csrc/core/npu/interface/AclInterface.cpp+1-1
@@ -1252,7 +1252,7 @@ bool AclrtMallocHostWithCfgExist()
1252 if (func != nullptr) {1252 if (func != nullptr) {
1253 ASCEND_LOGI("Successfully to find function aclrtMallocHostWithCfg");1253 ASCEND_LOGI("Successfully to find function aclrtMallocHostWithCfg");
1254 return c10_npu::GetSocVersion() >= c10_npu::SocVersion::Ascend910B1 &&1254 return c10_npu::GetSocVersion() >= c10_npu::SocVersion::Ascend910B1 &&
1255- c10_npu::GetSocVersion() < c10_npu::SocVersion::Ascend910_95;1255+ c10_npu::GetSocVersion() < c10_npu::SocVersion::Ascend950;
1256 }1256 }
1257 return false;1257 return false;
1258 }();1258 }();
Mtorch_npu/csrc/distributed/ProcessGroupHCCL.cpp+2-2
@@ -427,7 +427,7 @@ inline bool IsCompatibleSoc()
427 static const bool is_compatible = []() {427 static const bool is_compatible = []() {
428 auto soc_version = c10_npu::GetSocVersion();428 auto soc_version = c10_npu::GetSocVersion();
429 return ((soc_version >= c10_npu::SocVersion::Ascend910B1) && (soc_version < c10_npu::SocVersion::Ascend310B1)) ||429 return ((soc_version >= c10_npu::SocVersion::Ascend910B1) && (soc_version < c10_npu::SocVersion::Ascend310B1)) ||
430- ((soc_version >= c10_npu::SocVersion::Ascend910_9391) && (soc_version < c10_npu::SocVersion::Ascend910_95));430+ ((soc_version >= c10_npu::SocVersion::Ascend910_9391) && (soc_version < c10_npu::SocVersion::Ascend950));
431 }();431 }();
432 return is_compatible;432 return is_compatible;
433}433}
@@ -4859,7 +4859,7 @@ c10::intrusive_ptr<c10d::Work> ProcessGroupHCCL::_reduce_oop(
4859constexpr int64_t ADDRESS_ALIGNMENT_BYTE = 512;4859constexpr int64_t ADDRESS_ALIGNMENT_BYTE = 512;
4860at::Tensor ProcessGroupHCCL::byte_alignment(at::Tensor& tensors) const4860at::Tensor ProcessGroupHCCL::byte_alignment(at::Tensor& tensors) const
4861{4861{
4862- static bool no_need_padding = c10_npu::GetSocVersion() >= c10_npu::SocVersion::Ascend910_95;4862+ static bool no_need_padding = c10_npu::GetSocVersion() >= c10_npu::SocVersion::Ascend950;
4863 at::Tensor inter_tensors = at::reshape(tensors, {1, tensors.numel()});4863 at::Tensor inter_tensors = at::reshape(tensors, {1, tensors.numel()});
4864 if (tensors.element_size() == 0 || no_need_padding) {4864 if (tensors.element_size() == 0 || no_need_padding) {
4865 return inter_tensors;4865 return inter_tensors;
Mtorch_npu/onnx/wrapper_onnx_ops.py+1-1
@@ -1287,7 +1287,7 @@ def _wrapper_npu_moe_finalize_routing(expanded_permuted_rows, skip1, skip2, bias
1287 scales, expanded_src_to_dst_row, export_for_source_row, drop_pad_mode=0):1287 scales, expanded_src_to_dst_row, export_for_source_row, drop_pad_mode=0):
1288 if skip1 is not None and bias is not None and scales is not None and \1288 if skip1 is not None and bias is not None and scales is not None and \
1289 export_for_source_row is not None and drop_pad_mode == 0 and \1289 export_for_source_row is not None and drop_pad_mode == 0 and \
1290- "Ascend910_95" not in torch_npu.npu.get_device_name():1290+ "Ascend950" not in torch_npu.npu.get_device_name():
1291 return _NPUMoeFinalizeRoutingOP.apply(expanded_permuted_rows, skip1, skip2, bias,1291 return _NPUMoeFinalizeRoutingOP.apply(expanded_permuted_rows, skip1, skip2, bias,
1292 scales, expanded_src_to_dst_row, export_for_source_row)1292 scales, expanded_src_to_dst_row, export_for_source_row)
1293 return _NPUMoeFinalizeRoutingV2OP.apply(expanded_permuted_rows, skip1, skip2, bias,1293 return _NPUMoeFinalizeRoutingV2OP.apply(expanded_permuted_rows, skip1, skip2, bias,
Mtorch_npu/testing/common_utils.py+2-0
@@ -200,6 +200,8 @@ class SupportedDevices:
200 device_name = torch_npu.npu.get_device_name(0)[:10]200 device_name = torch_npu.npu.get_device_name(0)[:10]
201 if device_name == "Ascend910_":201 if device_name == "Ascend910_":
202 device_name = torch_npu.npu.get_device_name(0)[:12]202 device_name = torch_npu.npu.get_device_name(0)[:12]
203+ elif device_name.startswith("Ascend950"):
204+ device_name = torch_npu.npu.get_device_name(0)[:9]
203 if device_name not in self.supported_devices:205 if device_name not in self.supported_devices:
204 reason = f"Only run on {repr(self.supported_devices)}, current device is {device_name}."206 reason = f"Only run on {repr(self.supported_devices)}, current device is {device_name}."
205 raise unittest.SkipTest(reason)207 raise unittest.SkipTest(reason)