已合并
【docs】Remove sample code from native API #44792
【docs】Remove sample code from native API #44792
已合并
lyx324521创建于 8月18日
30 个文件变更+121-754
@@ -513,12 +513,7 @@
513| <term>Atlas A3 训练系列产品</term> | ✔ |513| <term>Atlas A3 训练系列产品</term> | ✔ |
514| <term>Ascend 950DT</term> | ✘ |514| <term>Ascend 950DT</term> | ✘ |
515 515 
516-**限制与说明**:采集NPU上的profiling数据时,“`use_device`”需设置为“npu”,例如:516+**限制与说明**:采集NPU上的profiling数据时,“`use_device`”需设置为“npu”
517- 
518-```python
519-with torch.autograd.profiler.profile(use_device="npu") as prof:
520- ...
521-```
522 517 
523</div>518</div>
524 519 
@@ -539,12 +539,7 @@
539**限制与说明**539**限制与说明**
540 540 
541- `input`仅支持fp32541- `input`仅支持fp32
542-- 通过设置`torch_npu.npu.use_compatible_impl(True)`,`torch.distributed.all_to_all`切换为与原生实现保持一致,例如:542+- 通过设置`torch_npu.npu.use_compatible_impl(True)`,`torch.distributed.all_to_all`切换为与原生实现保持一致
543- 
544- ```python
545- import torch_npu
546- torch_npu.npu.use_compatible_impl(True)
547- ```
548 543 
549</div>544</div>
550 545 
@@ -655,12 +650,7 @@
655**限制与说明**650**限制与说明**
656 651 
657- `tensor`仅支持bf16,fp16,fp32,int8,int32,bool652- `tensor`仅支持bf16,fp16,fp32,int8,int32,bool
658-- 通过设置`torch_npu.npu.use_compatible_impl(True)`,`torch.distributed.gather`切换为与原生实现保持一致,例如:653+- 通过设置`torch_npu.npu.use_compatible_impl(True)`,`torch.distributed.gather`切换为与原生实现保持一致
659- 
660- ```python
661- import torch_npu
662- torch_npu.npu.use_compatible_impl(True)
663- ```
664 654 
665</div>655</div>
666 656 
@@ -695,12 +685,7 @@
695**限制与说明**685**限制与说明**
696 686 
697- `tensor`仅支持bf16,fp16,fp32,fp64,uint8,int8,int16,int32,int64,bool687- `tensor`仅支持bf16,fp16,fp32,fp64,uint8,int8,int16,int32,int64,bool
698-- 通过设置`torch_npu.npu.use_compatible_impl(True)`,`torch.distributed.scatter`切换为与原生实现保持一致,例如:688+- 通过设置`torch_npu.npu.use_compatible_impl(True)`,`torch.distributed.scatter`切换为与原生实现保持一致
699- 
700- ```python
701- import torch_npu
702- torch_npu.npu.use_compatible_impl(True)
703- ```
704 689 
705</div>690</div>
706 691 
@@ -243,12 +243,7 @@
243**限制与说明**243**限制与说明**
244 244 
245- `input`仅支持bf16,fp16,fp32245- `input`仅支持bf16,fp16,fp32
246-- 通过设置torch_npu.npu.use_compatible_impl(True),保证与社区同名接口在内存一致性上对齐,例如:246+- 通过设置torch_npu.npu.use_compatible_impl(True),保证与社区同名接口在内存一致性上对齐
247- 
248- ```python
249- import torch_npu
250- torch_npu.npu.use_compatible_impl(True)
251- ```
252 247 
253</div>248</div>
254 249 
@@ -507,12 +502,7 @@
507 - 通过设置torch_npu.npu.use_compatible_impl(True),支持按SDPA后端选择上下文指定MATH后端502 - 通过设置torch_npu.npu.use_compatible_impl(True),支持按SDPA后端选择上下文指定MATH后端
508- 与原接口除了规格限制之外的差异点:503- 与原接口除了规格限制之外的差异点:
509 - NPU的随机算法部分用DSA硬件实现,算法在DSA引擎固化与GPU算法实现存在差异,导致dropout功能和GPU结果不一致504 - NPU的随机算法部分用DSA硬件实现,算法在DSA引擎固化与GPU算法实现存在差异,导致dropout功能和GPU结果不一致
510- - 当前接口支持输入`query`的head num和`key`/`value`的head num不等长,而原生PyTorch接口不支持,例如:505+ - 当前接口支持输入`query`的head num和`key`/`value`的head num不等长,而原生PyTorch接口不支持
511- 
512- ```python
513- import torch_npu
514- torch_npu.npu.use_compatible_impl(True)
515- ```
516 506 
517</div>507</div>
518 508 
@@ -1662,11 +1652,7 @@
1662**限制与说明**1652**限制与说明**
1663 1653 
1664- `input`仅支持fp16,fp32,fp641654- `input`仅支持fp16,fp32,fp64
1665-- 只支持`mode` = nearest,例如:1655+- 只支持`mode` = nearest
1666- 
1667- ```python
1668- out = torch.nn.functional.upsample(x, size=(256, 256), mode='nearest')
1669- ```
1670 1656 
1671</div>1657</div>
1672 1658 
@@ -1685,11 +1671,7 @@
1685**限制与说明**1671**限制与说明**
1686 1672 
1687- `input`仅支持fp16,fp32,fp641673- `input`仅支持fp16,fp32,fp64
1688-- 只支持3-5维,例如:1674+- 只支持3-5维
1689- 
1690- ```python
1691- out = torch.nn.functional.upsample(x, size=(256, 256), mode='nearest')
1692- ```
1693 1675 
1694</div>1676</div>
1695 1677 
@@ -1450,12 +1450,7 @@
1450**限制与说明**1450**限制与说明**
1451 1451 
1452- `input`仅支持bf16,fp16,fp321452- `input`仅支持bf16,fp16,fp32
1453-- <term>Atlas A2 训练系列产品</term>,默认场景下,如果频繁触发编译,建议手动设置torch.npu.config.allow_internal_format为False,控制入参不开启内部格式,避免在线编译,例如:1453+- <term>Atlas A2 训练系列产品</term>,默认场景下,如果频繁触发编译,建议手动设置torch.npu.config.allow_internal_format为False,控制入参不开启内部格式,避免在线编译
1454- 
1455- ```python
1456- import torch_npu
1457- torch_npu.npu.config.allow_internal_format = False
1458- ```
1459 1454 
1460</div>1455</div>
1461 1456 
@@ -1506,12 +1501,7 @@
1506**限制与说明**1501**限制与说明**
1507 1502 
1508- `input`仅支持fp16,fp321503- `input`仅支持fp16,fp32
1509-- <term>Atlas 训练系列产品</term>/<term>Atlas A2 训练系列产品</term>,需手动设置torch.npu.config.allow_internal_format为False,才可支持3维输入,例如:1504+- <term>Atlas 训练系列产品</term>/<term>Atlas A2 训练系列产品</term>,需手动设置torch.npu.config.allow_internal_format为False,才可支持3维输入
1510- 
1511- ```python
1512- import torch_npu
1513- torch_npu.npu.config.allow_internal_format = False
1514- ```
1515 1505 
1516</div>1506</div>
1517 1507 
@@ -1754,12 +1744,7 @@
1754**限制与说明**1744**限制与说明**
1755 1745 
1756- `input`仅支持bf16,fp16,fp321746- `input`仅支持bf16,fp16,fp32
1757-- 通过设置torch_npu.npu.use_compatible_impl(True),保证与社区同名接口在内存一致性上对齐,例如:1747+- 通过设置torch_npu.npu.use_compatible_impl(True),保证与社区同名接口在内存一致性上对齐
1758- 
1759- ```python
1760- import torch_npu
1761- torch_npu.npu.use_compatible_impl(True)
1762- ```
1763 1748 
1764</div>1749</div>
1765 1750 
@@ -2970,12 +2955,7 @@
2970**限制与说明**2955**限制与说明**
2971 2956 
2972- `input`仅支持bf16,fp16,fp322957- `input`仅支持bf16,fp16,fp32
2973-- 通过torch_npu.npu.use_compatible_impl(True),设置该接口从`aclnnLayerNorm`算子切换为`aclnnFastLayerNorm`算子,保证与社区同名接口在内存一致性上对齐,例如:2958+- 通过torch_npu.npu.use_compatible_impl(True),设置该接口从`aclnnLayerNorm`算子切换为`aclnnFastLayerNorm`算子,保证与社区同名接口在内存一致性上对齐
2974- 
2975- ```python
2976- import torch_npu
2977- torch_npu.npu.use_compatible_impl(True)
2978- ```
2979 2959 
2980</div>2960</div>
2981 2961 
@@ -117,12 +117,7 @@
117**限制与说明**117**限制与说明**
118 118 
119- `params`仅支持bf16,fp16,fp32119- `params`仅支持bf16,fp16,fp32
120-- 优化器在启动`foreach`的情况下(`foreach=None`或`foreach=True`),当被优化的参数分组过多时由于`foreach`算子的特性会导致性能下降。这种情况建议设置为`foreach=False`,例如:120+- 优化器在启动`foreach`的情况下(`foreach=None`或`foreach=True`),当被优化的参数分组过多时由于`foreach`算子的特性会导致性能下降。这种情况建议设置为`foreach=False`
121- 
122- ```python
123- # 参数分组较多时,建议关闭foreach避免性能下降
124- optimizer = torch.optim.Adadelta(model.parameters(), lr=1e-3, foreach=False)
125- ```
126 121 
127> <font size="3">add_param_group()</font>122> <font size="3">add_param_group()</font>
128 123 
@@ -295,12 +290,7 @@
295**限制与说明**290**限制与说明**
296 291 
297- `params`仅支持bf16,fp16,fp32292- `params`仅支持bf16,fp16,fp32
298-- 优化器在启动`foreach`的情况下(`foreach=None`或`foreach=True`),当被优化的参数分组过多时由于`foreach`算子的特性会导致性能下降。这种情况建议设置为`foreach=False`,例如:293+- 优化器在启动`foreach`的情况下(`foreach=None`或`foreach=True`),当被优化的参数分组过多时由于`foreach`算子的特性会导致性能下降。这种情况建议设置为`foreach=False`
299- 
300- ```python
301- # 参数分组较多时,建议关闭foreach避免性能下降
302- optimizer = torch.optim.Adagrad(model.parameters(), lr=1e-3, foreach=False)
303- ```
304 294 
305> <font size="3">add_param_group()</font>295> <font size="3">add_param_group()</font>
306 296 
@@ -474,12 +464,7 @@
474 464 
475- `params`仅支持bf16,fp16,fp32465- `params`仅支持bf16,fp16,fp32
476- 优化器在启动`foreach`的情况下(`foreach=None``foreach=True`),当被优化的参数分组过多时由于`foreach`算子的特性会导致性能下降。这种情况建议设置为`foreach=False`466- 优化器在启动`foreach`的情况下(`foreach=None``foreach=True`),当被优化的参数分组过多时由于`foreach`算子的特性会导致性能下降。这种情况建议设置为`foreach=False`
477-- 在某些情况下可能回退至CPU执行,例如:467+- 在某些情况下可能回退至CPU执行
478- 
479- ```python
480- # 参数分组较多时,建议关闭foreach避免性能下降
481- optimizer = torch.optim.Adam(model.parameters(), lr=1e-3, foreach=False)
482- ```
483 468 
484> <font size="3">add_param_group()</font>469> <font size="3">add_param_group()</font>
485 470 
@@ -653,12 +638,7 @@
653 638 
654- `params`仅支持bf16,fp16,fp32,complex64639- `params`仅支持bf16,fp16,fp32,complex64
655- 优化器在启动`foreach`的情况下(`foreach=None``foreach=True`),当被优化的参数分组过多时由于`foreach`算子的特性会导致性能下降。这种情况建议设置为`foreach=False`640- 优化器在启动`foreach`的情况下(`foreach=None``foreach=True`),当被优化的参数分组过多时由于`foreach`算子的特性会导致性能下降。这种情况建议设置为`foreach=False`
656-- 优化器在启动fused的情况下(fused=True),暂不支持grad_scale和found_inf参数。对标_single_tensor_adamw实现,fp32与cpu/cuda一致,fp16和bf16采用升精度实现,与cpu/cuda不一致,例如:641+- 优化器在启动fused的情况下(fused=True),暂不支持grad_scale和found_inf参数。对标_single_tensor_adamw实现,fp32与cpu/cuda一致,fp16和bf16采用升精度实现,与cpu/cuda不一致
657- 
658- ```python
659- # 参数分组较多时,建议关闭foreach避免性能下降
660- optimizer = torch.optim.AdamW(model.parameters(), lr=1e-3, foreach=False)
661- ```
662 642 
663> <font size="3">add_param_group()</font>643> <font size="3">add_param_group()</font>
664 644 
@@ -981,12 +961,7 @@
981**限制与说明**961**限制与说明**
982 962 
983- `params`仅支持bf16,fp16,fp32963- `params`仅支持bf16,fp16,fp32
984-- 优化器在启动`foreach`的情况下(`foreach=None`或`foreach=True`),当被优化的参数分组过多时由于`foreach`算子的特性会导致性能下降。这种情况建议设置为`foreach=False`,例如:964+- 优化器在启动`foreach`的情况下(`foreach=None`或`foreach=True`),当被优化的参数分组过多时由于`foreach`算子的特性会导致性能下降。这种情况建议设置为`foreach=False`
985- 
986- ```python
987- # 参数分组较多时,建议关闭foreach避免性能下降
988- optimizer = torch.optim.Adamax(model.parameters(), lr=1e-3, foreach=False)
989- ```
990 965 
991> <font size="3">add_param_group()</font>966> <font size="3">add_param_group()</font>
992 967 
@@ -1517,12 +1492,7 @@
1517**限制与说明**1492**限制与说明**
1518 1493 
1519- `params`仅支持bf16,fp16,fp321494- `params`仅支持bf16,fp16,fp32
1520-- 优化器在启动`foreach`的情况下(`foreach=None`或`foreach=True`),当被优化的参数分组过多时由于`foreach`算子的特性会导致性能下降。这种情况建议设置为`foreach=False`,例如:1495+- 优化器在启动`foreach`的情况下(`foreach=None`或`foreach=True`),当被优化的参数分组过多时由于`foreach`算子的特性会导致性能下降。这种情况建议设置为`foreach=False`
1521- 
1522- ```python
1523- # 参数分组较多时,建议关闭foreach避免性能下降
1524- optimizer = torch.optim.NAdam(model.parameters(), lr=1e-3, foreach=False)
1525- ```
1526 1496 
1527> <font size="3">add_param_group()</font>1497> <font size="3">add_param_group()</font>
1528 1498 
@@ -1705,12 +1675,7 @@
1705**限制与说明**1675**限制与说明**
1706 1676 
1707- `params`仅支持bf16,fp16,fp321677- `params`仅支持bf16,fp16,fp32
1708-- 优化器在启动`foreach`的情况下(`foreach=None`或`foreach=True`),当被优化的参数分组过多时由于`foreach`算子的特性会导致性能下降。这种情况建议设置为`foreach=False`,例如:1678+- 优化器在启动`foreach`的情况下(`foreach=None`或`foreach=True`),当被优化的参数分组过多时由于`foreach`算子的特性会导致性能下降。这种情况建议设置为`foreach=False`
1709- 
1710- ```python
1711- # 参数分组较多时,建议关闭foreach避免性能下降
1712- optimizer = torch.optim.RAdam(model.parameters(), lr=1e-3, foreach=False)
1713- ```
1714 1679 
1715> <font size="3">add_param_group()</font>1680> <font size="3">add_param_group()</font>
1716 1681 
@@ -1893,12 +1858,7 @@
1893**限制与说明**1858**限制与说明**
1894 1859 
1895- `params`仅支持bf16,fp16,fp321860- `params`仅支持bf16,fp16,fp32
1896-- 优化器在启动`foreach`的情况下(`foreach=None`或`foreach=True`),当被优化的参数分组过多时由于`foreach`算子的特性会导致性能下降。这种情况建议设置为`foreach=False`,例如:1861+- 优化器在启动`foreach`的情况下(`foreach=None`或`foreach=True`),当被优化的参数分组过多时由于`foreach`算子的特性会导致性能下降。这种情况建议设置为`foreach=False`
1897- 
1898- ```python
1899- # 参数分组较多时,建议关闭foreach避免性能下降
1900- optimizer = torch.optim.RMSprop(model.parameters(), lr=1e-3, foreach=False)
1901- ```
1902 1862 
1903> <font size="3">add_param_group()</font>1863> <font size="3">add_param_group()</font>
1904 1864 
@@ -2249,12 +2209,7 @@
2249**限制与说明**2209**限制与说明**
2250 2210 
2251- `params`仅支持bf16,fp16,fp322211- `params`仅支持bf16,fp16,fp32
2252-- 优化器在启动`foreach`的情况下(`foreach=None`或`foreach=True`),当被优化的参数分组过多时由于`foreach`算子的特性会导致性能下降。这种情况建议设置为`foreach=False`,例如:2212+- 优化器在启动`foreach`的情况下(`foreach=None`或`foreach=True`),当被优化的参数分组过多时由于`foreach`算子的特性会导致性能下降。这种情况建议设置为`foreach=False`
2253- 
2254- ```python
2255- # 参数分组较多时,建议关闭foreach避免性能下降
2256- optimizer = torch.optim.SGD(model.parameters(), lr=1e-3, foreach=False)
2257- ```
2258 2213 
2259> <font size="3">add_param_group()</font>2214> <font size="3">add_param_group()</font>
2260 2215 
@@ -840,14 +840,7 @@
840 840 
841- `input`仅支持fp16,fp32,int16,int32,int64,bool841- `input`仅支持fp16,fp32,int16,int32,int64,bool
842- `index`的维度数需与`input`的维度数一致842- `index`的维度数需与`input`的维度数一致
843-- 针对<term>Ascend 950DT</term>,由于硬件差异,在索引存在重复的情况下,精度可能和<term>Atlas A2 训练系列产品</term>/<term>Atlas A3 训练系列产品</term>存在差异,例如:843+- 针对<term>Ascend 950DT</term>,由于硬件差异,在索引存在重复的情况下,精度可能和<term>Atlas A2 训练系列产品</term>/<term>Atlas A3 训练系列产品</term>存在差异
844- 
845- ```python
846- # index存在重复索引的示例:索引0被多次使用,Ascend 950DT上结果可能与A2/A3存在精度差异
847- x = torch.tensor([[1, 2], [3, 4]], device='npu')
848- index = torch.tensor([[0], [0]], device='npu') # 索引0重复出现
849- out = torch.gather(x, 0, index)
850- ```
851 844 
852</div>845</div>
853 846 
@@ -946,14 +939,7 @@
946**限制与说明**939**限制与说明**
947 940 
948- `input`仅支持bf16,fp16,fp32,int16,int32,int64,bool941- `input`仅支持bf16,fp16,fp32,int16,int32,int64,bool
949-- 针对<term>Ascend 950DT</term>,由于硬件差异,在索引存在重复的情况下,精度可能和<term>Atlas A2 训练系列产品</term>/<term>Atlas A3 训练系列产品</term>存在差异,例如:942+- 针对<term>Ascend 950DT</term>,由于硬件差异,在索引存在重复的情况下,精度可能和<term>Atlas A2 训练系列产品</term>/<term>Atlas A3 训练系列产品</term>存在差异
950- 
951- ```python
952- # index存在重复索引的示例:索引0被多次使用,Ascend 950DT上结果可能与A2/A3存在精度差异
953- x = torch.tensor([[1, 2], [3, 4]], device='npu')
954- index = torch.tensor([0, 0], device='npu') # 索引0重复出现
955- out = torch.index_select(x, 0, index)
956- ```
957 943 
958</div>944</div>
959 945 
@@ -1120,15 +1106,7 @@
1120 1106 
1121- `input`仅支持bf16,fp16,fp32,fp64,uint8,int8,int16,int32,int64,bool,complex64,complex1281107- `input`仅支持bf16,fp16,fp32,fp64,uint8,int8,int16,int32,int64,bool,complex64,complex128
1122- 可能回退至CPU执行1108- 可能回退至CPU执行
1123-- 针对<term>Ascend 950DT</term>,由于硬件差异,在索引存在重复的情况下,精度可能和<term>Atlas A2 训练系列产品</term>/<term>Atlas A3 训练系列产品</term>存在差异,例如:1109+- 针对<term>Ascend 950DT</term>,由于硬件差异,在索引存在重复的情况下,精度可能和<term>Atlas A2 训练系列产品</term>/<term>Atlas A3 训练系列产品</term>存在差异
1124- 
1125- ```python
1126- # index存在重复索引的示例:索引0被多次使用,同一位置被多次写入,Ascend 950DT上结果可能与A2/A3存在精度差异
1127- x = torch.tensor([[1, 2], [3, 4]], device='npu')
1128- src = torch.tensor([[10, 20], [30, 40]], device='npu')
1129- index = torch.tensor([[0], [0]], device='npu') # 索引0重复出现
1130- out = torch.scatter(x, 0, index, src)
1131- ```
1132 1110 
1133</div>1111</div>
1134 1112 
@@ -513,12 +513,7 @@
513| <term>Atlas A3 训练系列产品</term> | ✔ |513| <term>Atlas A3 训练系列产品</term> | ✔ |
514| <term>Ascend 950DT</term> | ✘ |514| <term>Ascend 950DT</term> | ✘ |
515 515 
516-**限制与说明**:采集NPU上的profiling数据时,“`use_device`”需设置为“npu”,例如:516+**限制与说明**:采集NPU上的profiling数据时,“`use_device`”需设置为“npu”
517- 
518-```python
519-with torch.autograd.profiler.profile(use_device="npu") as prof:
520- ...
521-```
522 517 
523</div>518</div>
524 519 
@@ -539,12 +539,7 @@
539**限制与说明**539**限制与说明**
540 540 
541- `input`仅支持fp32541- `input`仅支持fp32
542-- 通过设置`torch_npu.npu.use_compatible_impl(True)`,`torch.distributed.all_to_all`切换为与原生实现保持一致,例如:542+- 通过设置`torch_npu.npu.use_compatible_impl(True)`,`torch.distributed.all_to_all`切换为与原生实现保持一致
543- 
544- ```python
545- import torch_npu
546- torch_npu.npu.use_compatible_impl(True)
547- ```
548 543 
549</div>544</div>
550 545 
@@ -655,12 +650,7 @@
655**限制与说明**650**限制与说明**
656 651 
657- `tensor`仅支持bf16,fp16,fp32,int8,int32,bool652- `tensor`仅支持bf16,fp16,fp32,int8,int32,bool
658-- 通过设置`torch_npu.npu.use_compatible_impl(True)`,`torch.distributed.gather`切换为与原生实现保持一致,例如:653+- 通过设置`torch_npu.npu.use_compatible_impl(True)`,`torch.distributed.gather`切换为与原生实现保持一致
659- 
660- ```python
661- import torch_npu
662- torch_npu.npu.use_compatible_impl(True)
663- ```
664 654 
665</div>655</div>
666 656 
@@ -695,12 +685,7 @@
695**限制与说明**685**限制与说明**
696 686 
697- `tensor`仅支持bf16,fp16,fp32,fp64,uint8,int8,int16,int32,int64,bool687- `tensor`仅支持bf16,fp16,fp32,fp64,uint8,int8,int16,int32,int64,bool
698-- 通过设置`torch_npu.npu.use_compatible_impl(True)`,`torch.distributed.scatter`切换为与原生实现保持一致,例如:688+- 通过设置`torch_npu.npu.use_compatible_impl(True)`,`torch.distributed.scatter`切换为与原生实现保持一致
699- 
700- ```python
701- import torch_npu
702- torch_npu.npu.use_compatible_impl(True)
703- ```
704 689 
705</div>690</div>
706 691 
@@ -243,12 +243,7 @@
243**限制与说明**243**限制与说明**
244 244 
245- `input`仅支持bf16,fp16,fp32245- `input`仅支持bf16,fp16,fp32
246-- 通过设置torch_npu.npu.use_compatible_impl(True),保证与社区同名接口在内存一致性上对齐,例如:246+- 通过设置torch_npu.npu.use_compatible_impl(True),保证与社区同名接口在内存一致性上对齐
247- 
248- ```python
249- import torch_npu
250- torch_npu.npu.use_compatible_impl(True)
251- ```
252 247 
253</div>248</div>
254 249 
@@ -507,12 +502,7 @@
507 - 通过设置torch_npu.npu.use_compatible_impl(True),支持按SDPA后端选择上下文指定MATH后端502 - 通过设置torch_npu.npu.use_compatible_impl(True),支持按SDPA后端选择上下文指定MATH后端
508- 与原接口除了规格限制之外的差异点:503- 与原接口除了规格限制之外的差异点:
509 - NPU的随机算法部分用DSA硬件实现,算法在DSA引擎固化与GPU算法实现存在差异,导致dropout功能和GPU结果不一致504 - NPU的随机算法部分用DSA硬件实现,算法在DSA引擎固化与GPU算法实现存在差异,导致dropout功能和GPU结果不一致
510- - 当前接口支持输入`query`的head num和`key`/`value`的head num不等长,而原生PyTorch接口不支持,例如:505+ - 当前接口支持输入`query`的head num和`key`/`value`的head num不等长,而原生PyTorch接口不支持
511- 
512- ```python
513- import torch_npu
514- torch_npu.npu.use_compatible_impl(True)
515- ```
516 506 
517</div>507</div>
518 508 
@@ -1662,11 +1652,7 @@
1662**限制与说明**1652**限制与说明**
1663 1653 
1664- `input`仅支持fp16,fp32,fp641654- `input`仅支持fp16,fp32,fp64
1665-- 只支持`mode` = nearest,例如:1655+- 只支持`mode` = nearest
1666- 
1667- ```python
1668- out = torch.nn.functional.upsample(x, size=(256, 256), mode='nearest')
1669- ```
1670 1656 
1671</div>1657</div>
1672 1658 
@@ -1685,11 +1671,7 @@
1685**限制与说明**1671**限制与说明**
1686 1672 
1687- `input`仅支持fp16,fp32,fp641673- `input`仅支持fp16,fp32,fp64
1688-- 只支持3-5维,例如:1674+- 只支持3-5维
1689- 
1690- ```python
1691- out = torch.nn.functional.upsample(x, size=(256, 256), mode='nearest')
1692- ```
1693 1675 
1694</div>1676</div>
1695 1677 
@@ -1450,12 +1450,7 @@
1450**限制与说明**1450**限制与说明**
1451 1451 
1452- `input`仅支持bf16,fp16,fp321452- `input`仅支持bf16,fp16,fp32
1453-- <term>Atlas A2 训练系列产品</term>,默认场景下,如果频繁触发编译,建议手动设置torch.npu.config.allow_internal_format为False,控制入参不开启内部格式,避免在线编译,例如:1453+- <term>Atlas A2 训练系列产品</term>,默认场景下,如果频繁触发编译,建议手动设置torch.npu.config.allow_internal_format为False,控制入参不开启内部格式,避免在线编译
1454- 
1455- ```python
1456- import torch_npu
1457- torch_npu.npu.config.allow_internal_format = False
1458- ```
1459 1454 
1460</div>1455</div>
1461 1456 
@@ -1506,12 +1501,7 @@
1506**限制与说明**1501**限制与说明**
1507 1502 
1508- `input`仅支持fp16,fp321503- `input`仅支持fp16,fp32
1509-- <term>Atlas 训练系列产品</term>/<term>Atlas A2 训练系列产品</term>,需手动设置torch.npu.config.allow_internal_format为False,才可支持3维输入,例如:1504+- <term>Atlas 训练系列产品</term>/<term>Atlas A2 训练系列产品</term>,需手动设置torch.npu.config.allow_internal_format为False,才可支持3维输入
1510- 
1511- ```python
1512- import torch_npu
1513- torch_npu.npu.config.allow_internal_format = False
1514- ```
1515 1505 
1516</div>1506</div>
1517 1507 
@@ -1754,12 +1744,7 @@
1754**限制与说明**1744**限制与说明**
1755 1745 
1756- `input`仅支持bf16,fp16,fp321746- `input`仅支持bf16,fp16,fp32
1757-- 通过设置torch_npu.npu.use_compatible_impl(True),保证与社区同名接口在内存一致性上对齐,例如:1747+- 通过设置torch_npu.npu.use_compatible_impl(True),保证与社区同名接口在内存一致性上对齐
1758- 
1759- ```python
1760- import torch_npu
1761- torch_npu.npu.use_compatible_impl(True)
1762- ```
1763 1748 
1764</div>1749</div>
1765 1750 
@@ -2970,12 +2955,7 @@
2970**限制与说明**2955**限制与说明**
2971 2956 
2972- `input`仅支持bf16,fp16,fp322957- `input`仅支持bf16,fp16,fp32
2973-- 通过torch_npu.npu.use_compatible_impl(True),设置该接口从`aclnnLayerNorm`算子切换为`aclnnFastLayerNorm`算子,保证与社区同名接口在内存一致性上对齐,例如:2958+- 通过torch_npu.npu.use_compatible_impl(True),设置该接口从`aclnnLayerNorm`算子切换为`aclnnFastLayerNorm`算子,保证与社区同名接口在内存一致性上对齐
2974- 
2975- ```python
2976- import torch_npu
2977- torch_npu.npu.use_compatible_impl(True)
2978- ```
2979 2959 
2980</div>2960</div>
2981 2961 
@@ -117,12 +117,7 @@
117**限制与说明**117**限制与说明**
118 118 
119- `params`仅支持bf16,fp16,fp32119- `params`仅支持bf16,fp16,fp32
120-- 优化器在启动`foreach`的情况下(`foreach=None`或`foreach=True`),当被优化的参数分组过多时由于`foreach`算子的特性会导致性能下降。这种情况建议设置为`foreach=False`,例如:120+- 优化器在启动`foreach`的情况下(`foreach=None`或`foreach=True`),当被优化的参数分组过多时由于`foreach`算子的特性会导致性能下降。这种情况建议设置为`foreach=False`
121- 
122- ```python
123- # 参数分组较多时,建议关闭foreach避免性能下降
124- optimizer = torch.optim.Adadelta(model.parameters(), lr=1e-3, foreach=False)
125- ```
126 121 
127> <font size="3">add_param_group()</font>122> <font size="3">add_param_group()</font>
128 123 
@@ -295,12 +290,7 @@
295**限制与说明**290**限制与说明**
296 291 
297- `params`仅支持bf16,fp16,fp32292- `params`仅支持bf16,fp16,fp32
298-- 优化器在启动`foreach`的情况下(`foreach=None`或`foreach=True`),当被优化的参数分组过多时由于`foreach`算子的特性会导致性能下降。这种情况建议设置为`foreach=False`,例如:293+- 优化器在启动`foreach`的情况下(`foreach=None`或`foreach=True`),当被优化的参数分组过多时由于`foreach`算子的特性会导致性能下降。这种情况建议设置为`foreach=False`
299- 
300- ```python
301- # 参数分组较多时,建议关闭foreach避免性能下降
302- optimizer = torch.optim.Adagrad(model.parameters(), lr=1e-3, foreach=False)
303- ```
304 294 
305> <font size="3">add_param_group()</font>295> <font size="3">add_param_group()</font>
306 296 
@@ -474,12 +464,7 @@
474 464 
475- `params`仅支持bf16,fp16,fp32465- `params`仅支持bf16,fp16,fp32
476- 优化器在启动`foreach`的情况下(`foreach=None``foreach=True`),当被优化的参数分组过多时由于`foreach`算子的特性会导致性能下降。这种情况建议设置为`foreach=False`466- 优化器在启动`foreach`的情况下(`foreach=None``foreach=True`),当被优化的参数分组过多时由于`foreach`算子的特性会导致性能下降。这种情况建议设置为`foreach=False`
477-- 在某些情况下可能回退至CPU执行,例如:467+- 在某些情况下可能回退至CPU执行
478- 
479- ```python
480- # 参数分组较多时,建议关闭foreach避免性能下降
481- optimizer = torch.optim.Adam(model.parameters(), lr=1e-3, foreach=False)
482- ```
483 468 
484> <font size="3">add_param_group()</font>469> <font size="3">add_param_group()</font>
485 470 
@@ -653,12 +638,7 @@
653 638 
654- `params`仅支持bf16,fp16,fp32,complex64639- `params`仅支持bf16,fp16,fp32,complex64
655- 优化器在启动`foreach`的情况下(`foreach=None``foreach=True`),当被优化的参数分组过多时由于`foreach`算子的特性会导致性能下降。这种情况建议设置为`foreach=False`640- 优化器在启动`foreach`的情况下(`foreach=None``foreach=True`),当被优化的参数分组过多时由于`foreach`算子的特性会导致性能下降。这种情况建议设置为`foreach=False`
656-- 优化器在启动fused的情况下(fused=True),暂不支持grad_scale和found_inf参数。对标_single_tensor_adamw实现,fp32与cpu/cuda一致,fp16和bf16采用升精度实现,与cpu/cuda不一致,例如:641+- 优化器在启动fused的情况下(fused=True),暂不支持grad_scale和found_inf参数。对标_single_tensor_adamw实现,fp32与cpu/cuda一致,fp16和bf16采用升精度实现,与cpu/cuda不一致
657- 
658- ```python
659- # 参数分组较多时,建议关闭foreach避免性能下降
660- optimizer = torch.optim.AdamW(model.parameters(), lr=1e-3, foreach=False)
661- ```
662 642 
663> <font size="3">add_param_group()</font>643> <font size="3">add_param_group()</font>
664 644 
@@ -981,12 +961,7 @@
981**限制与说明**961**限制与说明**
982 962 
983- `params`仅支持bf16,fp16,fp32963- `params`仅支持bf16,fp16,fp32
984-- 优化器在启动`foreach`的情况下(`foreach=None`或`foreach=True`),当被优化的参数分组过多时由于`foreach`算子的特性会导致性能下降。这种情况建议设置为`foreach=False`,例如:964+- 优化器在启动`foreach`的情况下(`foreach=None`或`foreach=True`),当被优化的参数分组过多时由于`foreach`算子的特性会导致性能下降。这种情况建议设置为`foreach=False`
985- 
986- ```python
987- # 参数分组较多时,建议关闭foreach避免性能下降
988- optimizer = torch.optim.Adamax(model.parameters(), lr=1e-3, foreach=False)
989- ```
990 965 
991> <font size="3">add_param_group()</font>966> <font size="3">add_param_group()</font>
992 967 
@@ -1517,12 +1492,7 @@
1517**限制与说明**1492**限制与说明**
1518 1493 
1519- `params`仅支持bf16,fp16,fp321494- `params`仅支持bf16,fp16,fp32
1520-- 优化器在启动`foreach`的情况下(`foreach=None`或`foreach=True`),当被优化的参数分组过多时由于`foreach`算子的特性会导致性能下降。这种情况建议设置为`foreach=False`,例如:1495+- 优化器在启动`foreach`的情况下(`foreach=None`或`foreach=True`),当被优化的参数分组过多时由于`foreach`算子的特性会导致性能下降。这种情况建议设置为`foreach=False`
1521- 
1522- ```python
1523- # 参数分组较多时,建议关闭foreach避免性能下降
1524- optimizer = torch.optim.NAdam(model.parameters(), lr=1e-3, foreach=False)
1525- ```
1526 1496 
1527> <font size="3">add_param_group()</font>1497> <font size="3">add_param_group()</font>
1528 1498 
@@ -1705,12 +1675,7 @@
1705**限制与说明**1675**限制与说明**
1706 1676 
1707- `params`仅支持bf16,fp16,fp321677- `params`仅支持bf16,fp16,fp32
1708-- 优化器在启动`foreach`的情况下(`foreach=None`或`foreach=True`),当被优化的参数分组过多时由于`foreach`算子的特性会导致性能下降。这种情况建议设置为`foreach=False`,例如:1678+- 优化器在启动`foreach`的情况下(`foreach=None`或`foreach=True`),当被优化的参数分组过多时由于`foreach`算子的特性会导致性能下降。这种情况建议设置为`foreach=False`
1709- 
1710- ```python
1711- # 参数分组较多时,建议关闭foreach避免性能下降
1712- optimizer = torch.optim.RAdam(model.parameters(), lr=1e-3, foreach=False)
1713- ```
1714 1679 
1715> <font size="3">add_param_group()</font>1680> <font size="3">add_param_group()</font>
1716 1681 
@@ -1893,12 +1858,7 @@
1893**限制与说明**1858**限制与说明**
1894 1859 
1895- `params`仅支持bf16,fp16,fp321860- `params`仅支持bf16,fp16,fp32
1896-- 优化器在启动`foreach`的情况下(`foreach=None`或`foreach=True`),当被优化的参数分组过多时由于`foreach`算子的特性会导致性能下降。这种情况建议设置为`foreach=False`,例如:1861+- 优化器在启动`foreach`的情况下(`foreach=None`或`foreach=True`),当被优化的参数分组过多时由于`foreach`算子的特性会导致性能下降。这种情况建议设置为`foreach=False`
1897- 
1898- ```python
1899- # 参数分组较多时,建议关闭foreach避免性能下降
1900- optimizer = torch.optim.RMSprop(model.parameters(), lr=1e-3, foreach=False)
1901- ```
1902 1862 
1903> <font size="3">add_param_group()</font>1863> <font size="3">add_param_group()</font>
1904 1864 
@@ -2249,12 +2209,7 @@
2249**限制与说明**2209**限制与说明**
2250 2210 
2251- `params`仅支持bf16,fp16,fp322211- `params`仅支持bf16,fp16,fp32
2252-- 优化器在启动`foreach`的情况下(`foreach=None`或`foreach=True`),当被优化的参数分组过多时由于`foreach`算子的特性会导致性能下降。这种情况建议设置为`foreach=False`,例如:2212+- 优化器在启动`foreach`的情况下(`foreach=None`或`foreach=True`),当被优化的参数分组过多时由于`foreach`算子的特性会导致性能下降。这种情况建议设置为`foreach=False`
2253- 
2254- ```python
2255- # 参数分组较多时,建议关闭foreach避免性能下降
2256- optimizer = torch.optim.SGD(model.parameters(), lr=1e-3, foreach=False)
2257- ```
2258 2213 
2259> <font size="3">add_param_group()</font>2214> <font size="3">add_param_group()</font>
2260 2215 
@@ -840,14 +840,7 @@
840 840 
841- `input`仅支持fp16,fp32,int16,int32,int64,bool841- `input`仅支持fp16,fp32,int16,int32,int64,bool
842- `index`的维度数需与`input`的维度数一致842- `index`的维度数需与`input`的维度数一致
843-- 针对<term>Ascend 950DT</term>,由于硬件差异,在索引存在重复的情况下,精度可能和<term>Atlas A2 训练系列产品</term>/<term>Atlas A3 训练系列产品</term>存在差异,例如:843+- 针对<term>Ascend 950DT</term>,由于硬件差异,在索引存在重复的情况下,精度可能和<term>Atlas A2 训练系列产品</term>/<term>Atlas A3 训练系列产品</term>存在差异
844- 
845- ```python
846- # index存在重复索引的示例:索引0被多次使用,Ascend 950DT上结果可能与A2/A3存在精度差异
847- x = torch.tensor([[1, 2], [3, 4]], device='npu')
848- index = torch.tensor([[0], [0]], device='npu') # 索引0重复出现
849- out = torch.gather(x, 0, index)
850- ```
851 844 
852</div>845</div>
853 846 
@@ -946,14 +939,7 @@
946**限制与说明**939**限制与说明**
947 940 
948- `input`仅支持bf16,fp16,fp32,int16,int32,int64,bool941- `input`仅支持bf16,fp16,fp32,int16,int32,int64,bool
949-- 针对<term>Ascend 950DT</term>,由于硬件差异,在索引存在重复的情况下,精度可能和<term>Atlas A2 训练系列产品</term>/<term>Atlas A3 训练系列产品</term>存在差异,例如:942+- 针对<term>Ascend 950DT</term>,由于硬件差异,在索引存在重复的情况下,精度可能和<term>Atlas A2 训练系列产品</term>/<term>Atlas A3 训练系列产品</term>存在差异
950- 
951- ```python
952- # index存在重复索引的示例:索引0被多次使用,Ascend 950DT上结果可能与A2/A3存在精度差异
953- x = torch.tensor([[1, 2], [3, 4]], device='npu')
954- index = torch.tensor([0, 0], device='npu') # 索引0重复出现
955- out = torch.index_select(x, 0, index)
956- ```
957 943 
958</div>944</div>
959 945 
@@ -1120,15 +1106,7 @@
1120 1106 
1121- `input`仅支持bf16,fp16,fp32,fp64,uint8,int8,int16,int32,int64,bool,complex64,complex1281107- `input`仅支持bf16,fp16,fp32,fp64,uint8,int8,int16,int32,int64,bool,complex64,complex128
1122- 可能回退至CPU执行1108- 可能回退至CPU执行
1123-- 针对<term>Ascend 950DT</term>,由于硬件差异,在索引存在重复的情况下,精度可能和<term>Atlas A2 训练系列产品</term>/<term>Atlas A3 训练系列产品</term>存在差异,例如:1109+- 针对<term>Ascend 950DT</term>,由于硬件差异,在索引存在重复的情况下,精度可能和<term>Atlas A2 训练系列产品</term>/<term>Atlas A3 训练系列产品</term>存在差异
1124- 
1125- ```python
1126- # index存在重复索引的示例:索引0被多次使用,同一位置被多次写入,Ascend 950DT上结果可能与A2/A3存在精度差异
1127- x = torch.tensor([[1, 2], [3, 4]], device='npu')
1128- src = torch.tensor([[10, 20], [30, 40]], device='npu')
1129- index = torch.tensor([[0], [0]], device='npu') # 索引0重复出现
1130- out = torch.scatter(x, 0, index, src)
1131- ```
1132 1110 
1133</div>1111</div>
1134 1112 
@@ -513,12 +513,7 @@
513| <term>Atlas A3 训练系列产品</term> | ✔ |513| <term>Atlas A3 训练系列产品</term> | ✔ |
514| <term>Ascend 950DT</term> | ✘ |514| <term>Ascend 950DT</term> | ✘ |
515 515 
516-**限制与说明**:采集NPU上的profiling数据时,“`use_device`”需设置为“npu”,例如:516+**限制与说明**:采集NPU上的profiling数据时,“`use_device`”需设置为“npu”
517- 
518-```python
519-with torch.autograd.profiler.profile(use_device="npu") as prof:
520- ...
521-```
522 517 
523</div>518</div>
524 519 
@@ -539,12 +539,7 @@
539**限制与说明**539**限制与说明**
540 540 
541- `input`仅支持fp32541- `input`仅支持fp32
542-- 通过设置`torch_npu.npu.use_compatible_impl(True)`,`torch.distributed.all_to_all`切换为与原生实现保持一致,例如:542+- 通过设置`torch_npu.npu.use_compatible_impl(True)`,`torch.distributed.all_to_all`切换为与原生实现保持一致
543- 
544- ```python
545- import torch_npu
546- torch_npu.npu.use_compatible_impl(True)
547- ```
548 543 
549</div>544</div>
550 545 
@@ -655,12 +650,7 @@
655**限制与说明**650**限制与说明**
656 651 
657- `tensor`仅支持bf16,fp16,fp32,int8,int32,bool652- `tensor`仅支持bf16,fp16,fp32,int8,int32,bool
658-- 通过设置`torch_npu.npu.use_compatible_impl(True)`,`torch.distributed.gather`切换为与原生实现保持一致,例如:653+- 通过设置`torch_npu.npu.use_compatible_impl(True)`,`torch.distributed.gather`切换为与原生实现保持一致
659- 
660- ```python
661- import torch_npu
662- torch_npu.npu.use_compatible_impl(True)
663- ```
664 654 
665</div>655</div>
666 656 
@@ -695,12 +685,7 @@
695**限制与说明**685**限制与说明**
696 686 
697- `tensor`仅支持bf16,fp16,fp32,fp64,uint8,int8,int16,int32,int64,bool687- `tensor`仅支持bf16,fp16,fp32,fp64,uint8,int8,int16,int32,int64,bool
698-- 通过设置`torch_npu.npu.use_compatible_impl(True)`,`torch.distributed.scatter`切换为与原生实现保持一致,例如:688+- 通过设置`torch_npu.npu.use_compatible_impl(True)`,`torch.distributed.scatter`切换为与原生实现保持一致
699- 
700- ```python
701- import torch_npu
702- torch_npu.npu.use_compatible_impl(True)
703- ```
704 689 
705</div>690</div>
706 691 
@@ -243,12 +243,7 @@
243**限制与说明**243**限制与说明**
244 244 
245- `input`仅支持bf16,fp16,fp32245- `input`仅支持bf16,fp16,fp32
246-- 通过设置torch_npu.npu.use_compatible_impl(True),保证与社区同名接口在内存一致性上对齐,例如:246+- 通过设置torch_npu.npu.use_compatible_impl(True),保证与社区同名接口在内存一致性上对齐
247- 
248- ```python
249- import torch_npu
250- torch_npu.npu.use_compatible_impl(True)
251- ```
252 247 
253</div>248</div>
254 249 
@@ -507,12 +502,7 @@
507 - 通过设置torch_npu.npu.use_compatible_impl(True),支持按SDPA后端选择上下文指定MATH后端502 - 通过设置torch_npu.npu.use_compatible_impl(True),支持按SDPA后端选择上下文指定MATH后端
508- 与原接口除了规格限制之外差异点:503- 与原接口除了规格限制之外差异点:
509 - NPU的随机算法部分用DSA硬件实现,算法在DSA引擎固化与GPU算法实现存在差异,导致dropout功能和GPU结果不一致504 - NPU的随机算法部分用DSA硬件实现,算法在DSA引擎固化与GPU算法实现存在差异,导致dropout功能和GPU结果不一致
510- - 当前接口支持输入`query`的head num和`key`/`value`的head num不等长,而原生PyTorch接口不支持,例如:505+ - 当前接口支持输入`query`的head num和`key`/`value`的head num不等长,而原生PyTorch接口不支持
511- 
512- ```python
513- import torch_npu
514- torch_npu.npu.use_compatible_impl(True)
515- ```
516 506 
517</div>507</div>
518 508 
@@ -1662,11 +1652,7 @@
1662**限制与说明**1652**限制与说明**
1663 1653 
1664- `input`仅支持fp16,fp32,fp641654- `input`仅支持fp16,fp32,fp64
1665-- 只支持`mode` = nearest,例如:1655+- 只支持`mode` = nearest
1666- 
1667- ```python
1668- out = torch.nn.functional.upsample(x, size=(256, 256), mode='nearest')
1669- ```
1670 1656 
1671</div>1657</div>
1672 1658 
@@ -1685,11 +1671,7 @@
1685**限制与说明**1671**限制与说明**
1686 1672 
1687- `input`仅支持fp16,fp32,fp641673- `input`仅支持fp16,fp32,fp64
1688-- 只支持3-5维,例如:1674+- 只支持3-5维
1689- 
1690- ```python
1691- out = torch.nn.functional.upsample(x, size=(256, 256), mode='nearest')
1692- ```
1693 1675 
1694</div>1676</div>
1695 1677 
@@ -1456,12 +1456,7 @@
1456**限制与说明**1456**限制与说明**
1457 1457 
1458- `input`仅支持bf16,fp16,fp321458- `input`仅支持bf16,fp16,fp32
1459-- <term>Atlas A2 训练系列产品</term>,默认场景下,如果频繁触发编译,建议手动设置torch.npu.config.allow_internal_format为False,控制入参不开启内部格式,避免在线编译,例如:1459+- <term>Atlas A2 训练系列产品</term>,默认场景下,如果频繁触发编译,建议手动设置torch.npu.config.allow_internal_format为False,控制入参不开启内部格式,避免在线编译
1460- 
1461- ```python
1462- import torch_npu
1463- torch_npu.npu.config.allow_internal_format = False
1464- ```
1465 1460 
1466</div>1461</div>
1467 1462 
@@ -1512,12 +1507,7 @@
1512**限制与说明**1507**限制与说明**
1513 1508 
1514- `input`仅支持fp16,fp321509- `input`仅支持fp16,fp32
1515-- <term>Atlas 训练系列产品</term>/<term>Atlas A2 训练系列产品</term>,需手动设置torch.npu.config.allow_internal_format为False,才可支持3维输入,例如:1510+- <term>Atlas 训练系列产品</term>/<term>Atlas A2 训练系列产品</term>,需手动设置torch.npu.config.allow_internal_format为False,才可支持3维输入
1516- 
1517- ```python
1518- import torch_npu
1519- torch_npu.npu.config.allow_internal_format = False
1520- ```
1521 1511 
1522</div>1512</div>
1523 1513 
@@ -1760,12 +1750,7 @@
1760**限制与说明**1750**限制与说明**
1761 1751 
1762- `input`仅支持bf16,fp16,fp321752- `input`仅支持bf16,fp16,fp32
1763-- 通过设置torch_npu.npu.use_compatible_impl(True),保证与社区同名接口在内存一致性上对齐,例如:1753+- 通过设置torch_npu.npu.use_compatible_impl(True),保证与社区同名接口在内存一致性上对齐
1764- 
1765- ```python
1766- import torch_npu
1767- torch_npu.npu.use_compatible_impl(True)
1768- ```
1769 1754 
1770</div>1755</div>
1771 1756 
@@ -2976,12 +2961,7 @@
2976**限制与说明**2961**限制与说明**
2977 2962 
2978- `input`仅支持bf16,fp16,fp322963- `input`仅支持bf16,fp16,fp32
2979-- 通过torch_npu.npu.use_compatible_impl(True),设置该接口从`aclnnLayerNorm`算子切换为`aclnnFastLayerNorm`算子,保证与社区同名接口在内存一致性上对齐,例如:2964+- 通过torch_npu.npu.use_compatible_impl(True),设置该接口从`aclnnLayerNorm`算子切换为`aclnnFastLayerNorm`算子,保证与社区同名接口在内存一致性上对齐
2980- 
2981- ```python
2982- import torch_npu
2983- torch_npu.npu.use_compatible_impl(True)
2984- ```
2985 2965 
2986</div>2966</div>
2987 2967 
@@ -117,12 +117,7 @@
117**限制与说明**117**限制与说明**
118 118 
119- `params`仅支持bf16,fp16,fp32119- `params`仅支持bf16,fp16,fp32
120-- 优化器在启动`foreach`的情况下(`foreach=None`或`foreach=True`),当被优化的参数分组过多时由于`foreach`算子的特性会导致性能下降。这种情况建议设置为`foreach=False`,例如:120+- 优化器在启动`foreach`的情况下(`foreach=None`或`foreach=True`),当被优化的参数分组过多时由于`foreach`算子的特性会导致性能下降。这种情况建议设置为`foreach=False`
121- 
122- ```python
123- # 参数分组较多时,建议关闭foreach避免性能下降
124- optimizer = torch.optim.Adadelta(model.parameters(), lr=1e-3, foreach=False)
125- ```
126 121 
127> <font size="3">add_param_group()</font>122> <font size="3">add_param_group()</font>
128 123 
@@ -295,12 +290,7 @@
295**限制与说明**290**限制与说明**
296 291 
297- `params`仅支持bf16,fp16,fp32292- `params`仅支持bf16,fp16,fp32
298-- 优化器在启动`foreach`的情况下(`foreach=None`或`foreach=True`),当被优化的参数分组过多时由于`foreach`算子的特性会导致性能下降。这种情况建议设置为`foreach=False`,例如:293+- 优化器在启动`foreach`的情况下(`foreach=None`或`foreach=True`),当被优化的参数分组过多时由于`foreach`算子的特性会导致性能下降。这种情况建议设置为`foreach=False`
299- 
300- ```python
301- # 参数分组较多时,建议关闭foreach避免性能下降
302- optimizer = torch.optim.Adagrad(model.parameters(), lr=1e-3, foreach=False)
303- ```
304 294 
305> <font size="3">add_param_group()</font>295> <font size="3">add_param_group()</font>
306 296 
@@ -474,12 +464,7 @@
474 464 
475- `params`仅支持bf16,fp16,fp32465- `params`仅支持bf16,fp16,fp32
476- 优化器在启动`foreach`的情况下(`foreach=None``foreach=True`),当被优化的参数分组过多时由于`foreach`算子的特性会导致性能下降。这种情况建议设置为`foreach=False`466- 优化器在启动`foreach`的情况下(`foreach=None``foreach=True`),当被优化的参数分组过多时由于`foreach`算子的特性会导致性能下降。这种情况建议设置为`foreach=False`
477-- 在某些情况下可能回退至CPU执行,例如:467+- 在某些情况下可能回退至CPU执行
478- 
479- ```python
480- # 参数分组较多时,建议关闭foreach避免性能下降
481- optimizer = torch.optim.Adam(model.parameters(), lr=1e-3, foreach=False)
482- ```
483 468 
484> <font size="3">add_param_group()</font>469> <font size="3">add_param_group()</font>
485 470 
@@ -653,12 +638,7 @@
653 638 
654- `params`仅支持bf16,fp16,fp32,complex64639- `params`仅支持bf16,fp16,fp32,complex64
655- 优化器在启动`foreach`的情况下(`foreach=None``foreach=True`),当被优化的参数分组过多时由于`foreach`算子的特性会导致性能下降。这种情况建议设置为`foreach=False`640- 优化器在启动`foreach`的情况下(`foreach=None``foreach=True`),当被优化的参数分组过多时由于`foreach`算子的特性会导致性能下降。这种情况建议设置为`foreach=False`
656-- 优化器在启动fused的情况下(fused=True),暂不支持grad_scale和found_inf参数。对标_single_tensor_adamw实现,fp32与cpu/cuda一致,fp16和bf16采用升精度实现,与cpu/cuda不一致,例如:641+- 优化器在启动fused的情况下(fused=True),暂不支持grad_scale和found_inf参数。对标_single_tensor_adamw实现,fp32与cpu/cuda一致,fp16和bf16采用升精度实现,与cpu/cuda不一致
657- 
658- ```python
659- # 参数分组较多时,建议关闭foreach避免性能下降
660- optimizer = torch.optim.AdamW(model.parameters(), lr=1e-3, foreach=False)
661- ```
662 642 
663> <font size="3">add_param_group()</font>643> <font size="3">add_param_group()</font>
664 644 
@@ -981,12 +961,7 @@
981**限制与说明**961**限制与说明**
982 962 
983- `params`仅支持bf16,fp16,fp32963- `params`仅支持bf16,fp16,fp32
984-- 优化器在启动`foreach`的情况下(`foreach=None`或`foreach=True`),当被优化的参数分组过多时由于`foreach`算子的特性会导致性能下降。这种情况建议设置为`foreach=False`,例如:964+- 优化器在启动`foreach`的情况下(`foreach=None`或`foreach=True`),当被优化的参数分组过多时由于`foreach`算子的特性会导致性能下降。这种情况建议设置为`foreach=False`
985- 
986- ```python
987- # 参数分组较多时,建议关闭foreach避免性能下降
988- optimizer = torch.optim.Adamax(model.parameters(), lr=1e-3, foreach=False)
989- ```
990 965 
991> <font size="3">add_param_group()</font>966> <font size="3">add_param_group()</font>
992 967 
@@ -1517,12 +1492,7 @@
1517**限制与说明**1492**限制与说明**
1518 1493 
1519- `params`仅支持bf16,fp16,fp321494- `params`仅支持bf16,fp16,fp32
1520-- 优化器在启动`foreach`的情况下(`foreach=None`或`foreach=True`),当被优化的参数分组过多时由于`foreach`算子的特性会导致性能下降。这种情况建议设置为`foreach=False`,例如:1495+- 优化器在启动`foreach`的情况下(`foreach=None`或`foreach=True`),当被优化的参数分组过多时由于`foreach`算子的特性会导致性能下降。这种情况建议设置为`foreach=False`
1521- 
1522- ```python
1523- # 参数分组较多时,建议关闭foreach避免性能下降
1524- optimizer = torch.optim.NAdam(model.parameters(), lr=1e-3, foreach=False)
1525- ```
1526 1496 
1527> <font size="3">add_param_group()</font>1497> <font size="3">add_param_group()</font>
1528 1498 
@@ -1705,12 +1675,7 @@
1705**限制与说明**1675**限制与说明**
1706 1676 
1707- `params`仅支持bf16,fp16,fp321677- `params`仅支持bf16,fp16,fp32
1708-- 优化器在启动`foreach`的情况下(`foreach=None`或`foreach=True`),当被优化的参数分组过多时由于`foreach`算子的特性会导致性能下降。这种情况建议设置为`foreach=False`,例如:1678+- 优化器在启动`foreach`的情况下(`foreach=None`或`foreach=True`),当被优化的参数分组过多时由于`foreach`算子的特性会导致性能下降。这种情况建议设置为`foreach=False`
1709- 
1710- ```python
1711- # 参数分组较多时,建议关闭foreach避免性能下降
1712- optimizer = torch.optim.RAdam(model.parameters(), lr=1e-3, foreach=False)
1713- ```
1714 1679 
1715> <font size="3">add_param_group()</font>1680> <font size="3">add_param_group()</font>
1716 1681 
@@ -1893,12 +1858,7 @@
1893**限制与说明**1858**限制与说明**
1894 1859 
1895- `params`仅支持bf16,fp16,fp321860- `params`仅支持bf16,fp16,fp32
1896-- 优化器在启动`foreach`的情况下(`foreach=None`或`foreach=True`),当被优化的参数分组过多时由于`foreach`算子的特性会导致性能下降。这种情况建议设置为`foreach=False`,例如:1861+- 优化器在启动`foreach`的情况下(`foreach=None`或`foreach=True`),当被优化的参数分组过多时由于`foreach`算子的特性会导致性能下降。这种情况建议设置为`foreach=False`
1897- 
1898- ```python
1899- # 参数分组较多时,建议关闭foreach避免性能下降
1900- optimizer = torch.optim.RMSprop(model.parameters(), lr=1e-3, foreach=False)
1901- ```
1902 1862 
1903> <font size="3">add_param_group()</font>1863> <font size="3">add_param_group()</font>
1904 1864 
@@ -2249,12 +2209,7 @@
2249**限制与说明**2209**限制与说明**
2250 2210 
2251- `params`仅支持bf16,fp16,fp322211- `params`仅支持bf16,fp16,fp32
2252-- 优化器在启动`foreach`的情况下(`foreach=None`或`foreach=True`),当被优化的参数分组过多时由于`foreach`算子的特性会导致性能下降。这种情况建议设置为`foreach=False`,例如:2212+- 优化器在启动`foreach`的情况下(`foreach=None`或`foreach=True`),当被优化的参数分组过多时由于`foreach`算子的特性会导致性能下降。这种情况建议设置为`foreach=False`
2253- 
2254- ```python
2255- # 参数分组较多时,建议关闭foreach避免性能下降
2256- optimizer = torch.optim.SGD(model.parameters(), lr=1e-3, foreach=False)
2257- ```
2258 2213 
2259> <font size="3">add_param_group()</font>2214> <font size="3">add_param_group()</font>
2260 2215 
@@ -840,14 +840,7 @@
840 840 
841- `input`仅支持fp16,fp32,int16,int32,int64,bool841- `input`仅支持fp16,fp32,int16,int32,int64,bool
842- `index`的维度数需与`input`的维度数一致842- `index`的维度数需与`input`的维度数一致
843-- 针对<term>Ascend 950DT</term>,由于硬件差异,在索引存在重复的情况下,精度可能和<term>Atlas A2 训练系列产品</term>/<term>Atlas A3 训练系列产品</term>存在差异,例如:843+- 针对<term>Ascend 950DT</term>,由于硬件差异,在索引存在重复的情况下,精度可能和<term>Atlas A2 训练系列产品</term>/<term>Atlas A3 训练系列产品</term>存在差异
844- 
845- ```python
846- # index存在重复索引的示例:索引0被多次使用,Ascend 950DT上结果可能与A2/A3存在精度差异
847- x = torch.tensor([[1, 2], [3, 4]], device='npu')
848- index = torch.tensor([[0], [0]], device='npu') # 索引0重复出现
849- out = torch.gather(x, 0, index)
850- ```
851 844 
852</div>845</div>
853 846 
@@ -946,14 +939,7 @@
946**限制与说明**939**限制与说明**
947 940 
948- `input`仅支持bf16,fp16,fp32,int16,int32,int64,bool941- `input`仅支持bf16,fp16,fp32,int16,int32,int64,bool
949-- 针对<term>Ascend 950DT</term>,由于硬件差异,在索引存在重复的情况下,精度可能和<term>Atlas A2 训练系列产品</term>/<term>Atlas A3 训练系列产品</term>存在差异,例如:942+- 针对<term>Ascend 950DT</term>,由于硬件差异,在索引存在重复的情况下,精度可能和<term>Atlas A2 训练系列产品</term>/<term>Atlas A3 训练系列产品</term>存在差异
950- 
951- ```python
952- # index存在重复索引的示例:索引0被多次使用,Ascend 950DT上结果可能与A2/A3存在精度差异
953- x = torch.tensor([[1, 2], [3, 4]], device='npu')
954- index = torch.tensor([0, 0], device='npu') # 索引0重复出现
955- out = torch.index_select(x, 0, index)
956- ```
957 943 
958</div>944</div>
959 945 
@@ -1120,15 +1106,7 @@
1120 1106 
1121- `input`仅支持bf16,fp16,fp32,fp64,uint8,int8,int16,int32,int64,bool,complex64,complex1281107- `input`仅支持bf16,fp16,fp32,fp64,uint8,int8,int16,int32,int64,bool,complex64,complex128
1122- 可能回退至CPU执行1108- 可能回退至CPU执行
1123-- 针对<term>Ascend 950DT</term>,由于硬件差异,在索引存在重复的情况下,精度可能和<term>Atlas A2 训练系列产品</term>/<term>Atlas A3 训练系列产品</term>存在差异,例如:1109+- 针对<term>Ascend 950DT</term>,由于硬件差异,在索引存在重复的情况下,精度可能和<term>Atlas A2 训练系列产品</term>/<term>Atlas A3 训练系列产品</term>存在差异
1124- 
1125- ```python
1126- # index存在重复索引的示例:索引0被多次使用,同一位置被多次写入,Ascend 950DT上结果可能与A2/A3存在精度差异
1127- x = torch.tensor([[1, 2], [3, 4]], device='npu')
1128- src = torch.tensor([[10, 20], [30, 40]], device='npu')
1129- index = torch.tensor([[0], [0]], device='npu') # 索引0重复出现
1130- out = torch.scatter(x, 0, index, src)
1131- ```
1132 1110 
1133</div>1111</div>
1134 1112 
@@ -513,12 +513,7 @@
513| <term>Atlas A3 训练系列产品</term> | ✔ |513| <term>Atlas A3 训练系列产品</term> | ✔ |
514| <term>Ascend 950DT</term> | ✘ |514| <term>Ascend 950DT</term> | ✘ |
515 515 
516-**限制与说明**:采集NPU上的profiling数据时,“`use_device`”需设置为“npu”,例如:516+**限制与说明**:采集NPU上的profiling数据时,“`use_device`”需设置为“npu”
517- 
518-```python
519-with torch.autograd.profiler.profile(use_device="npu") as prof:
520- ...
521-```
522 517 
523</div>518</div>
524 519 
@@ -539,12 +539,7 @@
539**限制与说明**539**限制与说明**
540 540 
541- `input`仅支持fp32541- `input`仅支持fp32
542-- 通过设置`torch_npu.npu.use_compatible_impl(True)`,`torch.distributed.all_to_all`切换为与原生实现保持一致,例如:542+- 通过设置`torch_npu.npu.use_compatible_impl(True)`,`torch.distributed.all_to_all`切换为与原生实现保持一致
543- 
544- ```python
545- import torch_npu
546- torch_npu.npu.use_compatible_impl(True)
547- ```
548 543 
549</div>544</div>
550 545 
@@ -655,12 +650,7 @@
655**限制与说明**650**限制与说明**
656 651 
657- `tensor`仅支持bf16,fp16,fp32,int8,int32,bool652- `tensor`仅支持bf16,fp16,fp32,int8,int32,bool
658-- 通过设置`torch_npu.npu.use_compatible_impl(True)`,`torch.distributed.gather`切换为与原生实现保持一致,例如:653+- 通过设置`torch_npu.npu.use_compatible_impl(True)`,`torch.distributed.gather`切换为与原生实现保持一致
659- 
660- ```python
661- import torch_npu
662- torch_npu.npu.use_compatible_impl(True)
663- ```
664 654 
665</div>655</div>
666 656 
@@ -695,12 +685,7 @@
695**限制与说明**685**限制与说明**
696 686 
697- `tensor`仅支持bf16,fp16,fp32,fp64,uint8,int8,int16,int32,int64,bool687- `tensor`仅支持bf16,fp16,fp32,fp64,uint8,int8,int16,int32,int64,bool
698-- 通过设置`torch_npu.npu.use_compatible_impl(True)`,`torch.distributed.scatter`切换为与原生实现保持一致,例如:688+- 通过设置`torch_npu.npu.use_compatible_impl(True)`,`torch.distributed.scatter`切换为与原生实现保持一致
699- 
700- ```python
701- import torch_npu
702- torch_npu.npu.use_compatible_impl(True)
703- ```
704 689 
705</div>690</div>
706 691 
@@ -242,12 +242,7 @@
242**限制与说明**242**限制与说明**
243 243 
244- `input`仅支持bf16,fp16,fp32244- `input`仅支持bf16,fp16,fp32
245-- 通过设置torch_npu.npu.use_compatible_impl(True),保证与社区同名接口在内存一致性上对齐,例如:245+- 通过设置torch_npu.npu.use_compatible_impl(True),保证与社区同名接口在内存一致性上对齐
246- 
247- ```python
248- import torch_npu
249- torch_npu.npu.use_compatible_impl(True)
250- ```
251 246 
252</div>247</div>
253 248 
@@ -506,12 +501,7 @@
506 - 通过设置torch_npu.npu.use_compatible_impl(True),支持按SDPA后端选择上下文指定MATH后端501 - 通过设置torch_npu.npu.use_compatible_impl(True),支持按SDPA后端选择上下文指定MATH后端
507- 与原接口除了规格限制之外差异点:502- 与原接口除了规格限制之外差异点:
508 - NPU的随机算法部分用DSA硬件实现,算法在DSA引擎固化与GPU算法实现存在差异,导致dropout功能和GPU结果不一致503 - NPU的随机算法部分用DSA硬件实现,算法在DSA引擎固化与GPU算法实现存在差异,导致dropout功能和GPU结果不一致
509- - 当前接口支持输入`query`的head num和`key`/`value`的head num不等长,而原生PyTorch接口不支持,例如:504+ - 当前接口支持输入`query`的head num和`key`/`value`的head num不等长,而原生PyTorch接口不支持
510- 
511- ```python
512- import torch_npu
513- torch_npu.npu.use_compatible_impl(True)
514- ```
515 505 
516</div>506</div>
517 507 
@@ -1661,11 +1651,7 @@
1661**限制与说明**1651**限制与说明**
1662 1652 
1663- `input`仅支持fp16,fp32,fp641653- `input`仅支持fp16,fp32,fp64
1664-- 只支持`mode` = nearest,例如:1654+- 只支持`mode` = nearest
1665- 
1666- ```python
1667- out = torch.nn.functional.upsample(x, size=(256, 256), mode='nearest')
1668- ```
1669 1655 
1670</div>1656</div>
1671 1657 
@@ -1684,11 +1670,7 @@
1684**限制与说明**1670**限制与说明**
1685 1671 
1686- `input`仅支持fp16,fp32,fp641672- `input`仅支持fp16,fp32,fp64
1687-- 只支持3-5维,例如:1673+- 只支持3-5维
1688- 
1689- ```python
1690- out = torch.nn.functional.upsample(x, size=(256, 256), mode='nearest')
1691- ```
1692 1674 
1693</div>1675</div>
1694 1676 
@@ -1456,12 +1456,7 @@
1456**限制与说明**1456**限制与说明**
1457 1457 
1458- `input`仅支持bf16,fp16,fp321458- `input`仅支持bf16,fp16,fp32
1459-- <term>Atlas A2 训练系列产品</term>,默认场景下,如果频繁触发编译,建议手动设置torch.npu.config.allow_internal_format为False,控制入参不开启内部格式,避免在线编译,例如:1459+- <term>Atlas A2 训练系列产品</term>,默认场景下,如果频繁触发编译,建议手动设置torch.npu.config.allow_internal_format为False,控制入参不开启内部格式,避免在线编译
1460- 
1461- ```python
1462- import torch_npu
1463- torch_npu.npu.config.allow_internal_format = False
1464- ```
1465 1460 
1466</div>1461</div>
1467 1462 
@@ -1512,12 +1507,7 @@
1512**限制与说明**1507**限制与说明**
1513 1508 
1514- `input`仅支持fp16,fp321509- `input`仅支持fp16,fp32
1515-- <term>Atlas 训练系列产品</term>/<term>Atlas A2 训练系列产品</term>,需手动设置torch.npu.config.allow_internal_format为False,才可支持3维输入,例如:1510+- <term>Atlas 训练系列产品</term>/<term>Atlas A2 训练系列产品</term>,需手动设置torch.npu.config.allow_internal_format为False,才可支持3维输入
1516- 
1517- ```python
1518- import torch_npu
1519- torch_npu.npu.config.allow_internal_format = False
1520- ```
1521 1511 
1522</div>1512</div>
1523 1513 
@@ -1760,12 +1750,7 @@
1760**限制与说明**1750**限制与说明**
1761 1751 
1762- `input`仅支持bf16,fp16,fp321752- `input`仅支持bf16,fp16,fp32
1763-- 通过设置torch_npu.npu.use_compatible_impl(True),保证与社区同名接口在内存一致性上对齐,例如:1753+- 通过设置torch_npu.npu.use_compatible_impl(True),保证与社区同名接口在内存一致性上对齐
1764- 
1765- ```python
1766- import torch_npu
1767- torch_npu.npu.use_compatible_impl(True)
1768- ```
1769 1754 
1770</div>1755</div>
1771 1756 
@@ -2976,12 +2961,7 @@
2976**限制与说明**2961**限制与说明**
2977 2962 
2978- `input`仅支持bf16,fp16,fp322963- `input`仅支持bf16,fp16,fp32
2979-- 通过torch_npu.npu.use_compatible_impl(True),设置该接口从`aclnnLayerNorm`算子切换为`aclnnFastLayerNorm`算子,保证与社区同名接口在内存一致性上对齐,例如:2964+- 通过torch_npu.npu.use_compatible_impl(True),设置该接口从`aclnnLayerNorm`算子切换为`aclnnFastLayerNorm`算子,保证与社区同名接口在内存一致性上对齐
2980- 
2981- ```python
2982- import torch_npu
2983- torch_npu.npu.use_compatible_impl(True)
2984- ```
2985 2965 
2986</div>2966</div>
2987 2967 
@@ -117,12 +117,7 @@
117**限制与说明**117**限制与说明**
118 118 
119- `params`仅支持bf16,fp16,fp32119- `params`仅支持bf16,fp16,fp32
120-- 优化器在启动`foreach`的情况下(`foreach=None`或`foreach=True`),当被优化的参数分组过多时由于`foreach`算子的特性会导致性能下降。这种情况建议设置为`foreach=False`,例如:120+- 优化器在启动`foreach`的情况下(`foreach=None`或`foreach=True`),当被优化的参数分组过多时由于`foreach`算子的特性会导致性能下降。这种情况建议设置为`foreach=False`
121- 
122- ```python
123- # 参数分组较多时,建议关闭foreach避免性能下降
124- optimizer = torch.optim.Adadelta(model.parameters(), lr=1e-3, foreach=False)
125- ```
126 121 
127> <font size="3">add_param_group()</font>122> <font size="3">add_param_group()</font>
128 123 
@@ -295,12 +290,7 @@
295**限制与说明**290**限制与说明**
296 291 
297- `params`仅支持bf16,fp16,fp32292- `params`仅支持bf16,fp16,fp32
298-- 优化器在启动`foreach`的情况下(`foreach=None`或`foreach=True`),当被优化的参数分组过多时由于`foreach`算子的特性会导致性能下降。这种情况建议设置为`foreach=False`,例如:293+- 优化器在启动`foreach`的情况下(`foreach=None`或`foreach=True`),当被优化的参数分组过多时由于`foreach`算子的特性会导致性能下降。这种情况建议设置为`foreach=False`
299- 
300- ```python
301- # 参数分组较多时,建议关闭foreach避免性能下降
302- optimizer = torch.optim.Adagrad(model.parameters(), lr=1e-3, foreach=False)
303- ```
304 294 
305> <font size="3">add_param_group()</font>295> <font size="3">add_param_group()</font>
306 296 
@@ -474,12 +464,7 @@
474 464 
475- `params`仅支持bf16,fp16,fp32465- `params`仅支持bf16,fp16,fp32
476- 优化器在启动`foreach`的情况下(`foreach=None``foreach=True`),当被优化的参数分组过多时由于`foreach`算子的特性会导致性能下降。这种情况建议设置为`foreach=False`466- 优化器在启动`foreach`的情况下(`foreach=None``foreach=True`),当被优化的参数分组过多时由于`foreach`算子的特性会导致性能下降。这种情况建议设置为`foreach=False`
477-- 在某些情况下可能回退至CPU执行,例如:467+- 在某些情况下可能回退至CPU执行
478- 
479- ```python
480- # 参数分组较多时,建议关闭foreach避免性能下降
481- optimizer = torch.optim.Adam(model.parameters(), lr=1e-3, foreach=False)
482- ```
483 468 
484> <font size="3">add_param_group()</font>469> <font size="3">add_param_group()</font>
485 470 
@@ -653,12 +638,7 @@
653 638 
654- `params`仅支持bf16,fp16,fp32,complex64639- `params`仅支持bf16,fp16,fp32,complex64
655- 优化器在启动`foreach`的情况下(`foreach=None``foreach=True`),当被优化的参数分组过多时由于`foreach`算子的特性会导致性能下降。这种情况建议设置为`foreach=False`640- 优化器在启动`foreach`的情况下(`foreach=None``foreach=True`),当被优化的参数分组过多时由于`foreach`算子的特性会导致性能下降。这种情况建议设置为`foreach=False`
656-- 优化器在启动fused的情况下(fused=True),暂不支持grad_scale和found_inf参数。对标_single_tensor_adamw实现,fp32与cpu/cuda一致,fp16和bf16采用升精度实现,与cpu/cuda不一致,例如:641+- 优化器在启动fused的情况下(fused=True),暂不支持grad_scale和found_inf参数。对标_single_tensor_adamw实现,fp32与cpu/cuda一致,fp16和bf16采用升精度实现,与cpu/cuda不一致
657- 
658- ```python
659- # 参数分组较多时,建议关闭foreach避免性能下降
660- optimizer = torch.optim.AdamW(model.parameters(), lr=1e-3, foreach=False)
661- ```
662 642 
663> <font size="3">add_param_group()</font>643> <font size="3">add_param_group()</font>
664 644 
@@ -981,12 +961,7 @@
981**限制与说明**961**限制与说明**
982 962 
983- `params`仅支持bf16,fp16,fp32963- `params`仅支持bf16,fp16,fp32
984-- 优化器在启动`foreach`的情况下(`foreach=None`或`foreach=True`),当被优化的参数分组过多时由于`foreach`算子的特性会导致性能下降。这种情况建议设置为`foreach=False`,例如:964+- 优化器在启动`foreach`的情况下(`foreach=None`或`foreach=True`),当被优化的参数分组过多时由于`foreach`算子的特性会导致性能下降。这种情况建议设置为`foreach=False`
985- 
986- ```python
987- # 参数分组较多时,建议关闭foreach避免性能下降
988- optimizer = torch.optim.Adamax(model.parameters(), lr=1e-3, foreach=False)
989- ```
990 965 
991> <font size="3">add_param_group()</font>966> <font size="3">add_param_group()</font>
992 967 
@@ -1517,12 +1492,7 @@
1517**限制与说明**1492**限制与说明**
1518 1493 
1519- `params`仅支持bf16,fp16,fp321494- `params`仅支持bf16,fp16,fp32
1520-- 优化器在启动`foreach`的情况下(`foreach=None`或`foreach=True`),当被优化的参数分组过多时由于`foreach`算子的特性会导致性能下降。这种情况建议设置为`foreach=False`,例如:1495+- 优化器在启动`foreach`的情况下(`foreach=None`或`foreach=True`),当被优化的参数分组过多时由于`foreach`算子的特性会导致性能下降。这种情况建议设置为`foreach=False`
1521- 
1522- ```python
1523- # 参数分组较多时,建议关闭foreach避免性能下降
1524- optimizer = torch.optim.NAdam(model.parameters(), lr=1e-3, foreach=False)
1525- ```
1526 1496 
1527> <font size="3">add_param_group()</font>1497> <font size="3">add_param_group()</font>
1528 1498 
@@ -1705,12 +1675,7 @@
1705**限制与说明**1675**限制与说明**
1706 1676 
1707- `params`仅支持bf16,fp16,fp321677- `params`仅支持bf16,fp16,fp32
1708-- 优化器在启动`foreach`的情况下(`foreach=None`或`foreach=True`),当被优化的参数分组过多时由于`foreach`算子的特性会导致性能下降。这种情况建议设置为`foreach=False`,例如:1678+- 优化器在启动`foreach`的情况下(`foreach=None`或`foreach=True`),当被优化的参数分组过多时由于`foreach`算子的特性会导致性能下降。这种情况建议设置为`foreach=False`
1709- 
1710- ```python
1711- # 参数分组较多时,建议关闭foreach避免性能下降
1712- optimizer = torch.optim.RAdam(model.parameters(), lr=1e-3, foreach=False)
1713- ```
1714 1679 
1715> <font size="3">add_param_group()</font>1680> <font size="3">add_param_group()</font>
1716 1681 
@@ -1893,12 +1858,7 @@
1893**限制与说明**1858**限制与说明**
1894 1859 
1895- `params`仅支持bf16,fp16,fp321860- `params`仅支持bf16,fp16,fp32
1896-- 优化器在启动`foreach`的情况下(`foreach=None`或`foreach=True`),当被优化的参数分组过多时由于`foreach`算子的特性会导致性能下降。这种情况建议设置为`foreach=False`,例如:1861+- 优化器在启动`foreach`的情况下(`foreach=None`或`foreach=True`),当被优化的参数分组过多时由于`foreach`算子的特性会导致性能下降。这种情况建议设置为`foreach=False`
1897- 
1898- ```python
1899- # 参数分组较多时,建议关闭foreach避免性能下降
1900- optimizer = torch.optim.RMSprop(model.parameters(), lr=1e-3, foreach=False)
1901- ```
1902 1862 
1903> <font size="3">add_param_group()</font>1863> <font size="3">add_param_group()</font>
1904 1864 
@@ -2249,12 +2209,7 @@
2249**限制与说明**2209**限制与说明**
2250 2210 
2251- `params`仅支持bf16,fp16,fp322211- `params`仅支持bf16,fp16,fp32
2252-- 优化器在启动`foreach`的情况下(`foreach=None`或`foreach=True`),当被优化的参数分组过多时由于`foreach`算子的特性会导致性能下降。这种情况建议设置为`foreach=False`,例如:2212+- 优化器在启动`foreach`的情况下(`foreach=None`或`foreach=True`),当被优化的参数分组过多时由于`foreach`算子的特性会导致性能下降。这种情况建议设置为`foreach=False`
2253- 
2254- ```python
2255- # 参数分组较多时,建议关闭foreach避免性能下降
2256- optimizer = torch.optim.SGD(model.parameters(), lr=1e-3, foreach=False)
2257- ```
2258 2213 
2259> <font size="3">add_param_group()</font>2214> <font size="3">add_param_group()</font>
2260 2215 
@@ -842,14 +842,7 @@
842 842 
843- `input`仅支持bf16,fp16,fp32,fp64,uint8,int8,int16,int32,int64,bool843- `input`仅支持bf16,fp16,fp32,fp64,uint8,int8,int16,int32,int64,bool
844- `index`的维度数需与`input`的维度数一致844- `index`的维度数需与`input`的维度数一致
845-- 针对<term>Ascend 950DT</term>,由于硬件差异,在索引存在重复的情况下,精度可能和<term>Atlas A2 训练系列产品</term>/<term>Atlas A3 训练系列产品</term>存在差异,例如:845+- 针对<term>Ascend 950DT</term>,由于硬件差异,在索引存在重复的情况下,精度可能和<term>Atlas A2 训练系列产品</term>/<term>Atlas A3 训练系列产品</term>存在差异
846- 
847- ```python
848- # index存在重复索引的示例:索引0被多次使用,Ascend 950DT上结果可能与A2/A3存在精度差异
849- x = torch.tensor([[1, 2], [3, 4]], device='npu')
850- index = torch.tensor([[0], [0]], device='npu') # 索引0重复出现
851- out = torch.gather(x, 0, index)
852- ```
853 846 
854</div>847</div>
855 848 
@@ -948,14 +941,7 @@
948**限制与说明**941**限制与说明**
949 942 
950- `input`仅支持bf16,fp16,fp32,uint8,int16,int32,int64,bool,complex64,complex128943- `input`仅支持bf16,fp16,fp32,uint8,int16,int32,int64,bool,complex64,complex128
951-- 针对<term>Ascend 950DT</term>,由于硬件差异,在索引存在重复的情况下,精度可能和<term>Atlas A2 训练系列产品</term>/<term>Atlas A3 训练系列产品</term>存在差异,例如:944+- 针对<term>Ascend 950DT</term>,由于硬件差异,在索引存在重复的情况下,精度可能和<term>Atlas A2 训练系列产品</term>/<term>Atlas A3 训练系列产品</term>存在差异
952- 
953- ```python
954- # index存在重复索引的示例:索引0被多次使用,Ascend 950DT上结果可能与A2/A3存在精度差异
955- x = torch.tensor([[1, 2], [3, 4]], device='npu')
956- index = torch.tensor([0, 0], device='npu') # 索引0重复出现
957- out = torch.index_select(x, 0, index)
958- ```
959 945 
960</div>946</div>
961 947 
@@ -1119,15 +1105,7 @@
1119 1105 
1120- `input`仅支持fp16,fp32,fp64,int8,int16,int32,int64,bool1106- `input`仅支持fp16,fp32,fp64,int8,int16,int32,int64,bool
1121- 可能回退至CPU执行1107- 可能回退至CPU执行
1122-- 针对<term>Ascend 950DT</term>,由于硬件差异,在索引存在重复的情况下,精度可能和<term>Atlas A2 训练系列产品</term>/<term>Atlas A3 训练系列产品</term>存在差异,例如:1108+- 针对<term>Ascend 950DT</term>,由于硬件差异,在索引存在重复的情况下,精度可能和<term>Atlas A2 训练系列产品</term>/<term>Atlas A3 训练系列产品</term>存在差异
1123- 
1124- ```python
1125- # index存在重复索引的示例:索引0被多次使用,同一位置被多次写入,Ascend 950DT上结果可能与A2/A3存在精度差异
1126- x = torch.tensor([[1, 2], [3, 4]], device='npu')
1127- src = torch.tensor([[10, 20], [30, 40]], device='npu')
1128- index = torch.tensor([[0], [0]], device='npu') # 索引0重复出现
1129- out = torch.scatter(x, 0, index, src)
1130- ```
1131 1109 
1132</div>1110</div>
1133 1111 
@@ -1194,15 +1172,7 @@
1194**限制与说明**1172**限制与说明**
1195 1173 
1196- `input`仅支持bf16,fp16,fp32,fp64,uint8,int8,int16,int32,int64,bool,complex64,complex1281174- `input`仅支持bf16,fp16,fp32,fp64,uint8,int8,int16,int32,int64,bool,complex64,complex128
1197-- 针对<term>Ascend 950DT</term>,由于硬件差异,在索引存在重复的情况下,精度可能和<term>Atlas A2 训练系列产品</term>/<term>Atlas A3 训练系列产品</term>存在差异,例如:1175+- 针对<term>Ascend 950DT</term>,由于硬件差异,在索引存在重复的情况下,精度可能和<term>Atlas A2 训练系列产品</term>/<term>Atlas A3 训练系列产品</term>存在差异
1198- 
1199- ```python
1200- # index存在重复索引的示例:索引0被多次使用,同一位置被多次写入,Ascend 950DT上结果可能与A2/A3存在精度差异
1201- x = torch.tensor([[1, 2], [3, 4]], device='npu')
1202- src = torch.tensor([[10, 20], [30, 40]], device='npu')
1203- index = torch.tensor([[0], [0]], device='npu') # 索引0重复出现
1204- out = torch.scatter_add(x, 0, index, src)
1205- ```
1206 1176 
1207</div>1177</div>
1208 1178 
@@ -513,12 +513,7 @@
513| <term>Atlas A3 训练系列产品</term> | ✔ |513| <term>Atlas A3 训练系列产品</term> | ✔ |
514| <term>Ascend 950DT</term> | ✘ |514| <term>Ascend 950DT</term> | ✘ |
515 515 
516-**限制与说明**:采集NPU上的profiling数据时,“`use_device`”需设置为“npu”,例如:516+**限制与说明**:采集NPU上的profiling数据时,“`use_device`”需设置为“npu”
517- 
518-```python
519-with torch.autograd.profiler.profile(use_device="npu") as prof:
520- ...
521-```
522 517 
523</div>518</div>
524 519 
@@ -539,12 +539,7 @@
539**限制与说明**539**限制与说明**
540 540 
541- `input`仅支持fp32541- `input`仅支持fp32
542-- 通过设置`torch_npu.npu.use_compatible_impl(True)`,`torch.distributed.all_to_all`切换为与原生实现保持一致,例如:542+- 通过设置`torch_npu.npu.use_compatible_impl(True)`,`torch.distributed.all_to_all`切换为与原生实现保持一致
543- 
544- ```python
545- import torch_npu
546- torch_npu.npu.use_compatible_impl(True)
547- ```
548 543 
549</div>544</div>
550 545 
@@ -655,12 +650,7 @@
655**限制与说明**650**限制与说明**
656 651 
657- `tensor`仅支持bf16,fp16,fp32,int8,int32,bool652- `tensor`仅支持bf16,fp16,fp32,int8,int32,bool
658-- 通过设置`torch_npu.npu.use_compatible_impl(True)`,`torch.distributed.gather`切换为与原生实现保持一致,例如:653+- 通过设置`torch_npu.npu.use_compatible_impl(True)`,`torch.distributed.gather`切换为与原生实现保持一致
659- 
660- ```python
661- import torch_npu
662- torch_npu.npu.use_compatible_impl(True)
663- ```
664 654 
665</div>655</div>
666 656 
@@ -695,12 +685,7 @@
695**限制与说明**685**限制与说明**
696 686 
697- `tensor`仅支持bf16,fp16,fp32,fp64,uint8,int8,int16,int32,int64,bool687- `tensor`仅支持bf16,fp16,fp32,fp64,uint8,int8,int16,int32,int64,bool
698-- 通过设置`torch_npu.npu.use_compatible_impl(True)`,`torch.distributed.scatter`切换为与原生实现保持一致,例如:688+- 通过设置`torch_npu.npu.use_compatible_impl(True)`,`torch.distributed.scatter`切换为与原生实现保持一致
699- 
700- ```python
701- import torch_npu
702- torch_npu.npu.use_compatible_impl(True)
703- ```
704 689 
705</div>690</div>
706 691 
@@ -242,12 +242,7 @@
242**限制与说明**242**限制与说明**
243 243 
244- `input`仅支持bf16,fp16,fp32244- `input`仅支持bf16,fp16,fp32
245-- 通过设置torch_npu.npu.use_compatible_impl(True),保证与社区同名接口在内存一致性上对齐,例如:245+- 通过设置torch_npu.npu.use_compatible_impl(True),保证与社区同名接口在内存一致性上对齐
246- 
247- ```python
248- import torch_npu
249- torch_npu.npu.use_compatible_impl(True)
250- ```
251 246 
252</div>247</div>
253 248 
@@ -506,12 +501,7 @@
506 - 通过设置torch_npu.npu.use_compatible_impl(True),支持按SDPA后端选择上下文指定MATH后端501 - 通过设置torch_npu.npu.use_compatible_impl(True),支持按SDPA后端选择上下文指定MATH后端
507- 与原接口除了规格限制的差异点:502- 与原接口除了规格限制的差异点:
508 - NPU的随机算法部分用DSA硬件实现,算法在DSA引擎固化与GPU算法实现存在差异,导致dropout功能和GPU结果不一致503 - NPU的随机算法部分用DSA硬件实现,算法在DSA引擎固化与GPU算法实现存在差异,导致dropout功能和GPU结果不一致
509- - 当前接口支持输入`query`的head num和`key`/`value`的head num不等长,而原生PyTorch接口不支持,例如:504+ - 当前接口支持输入`query`的head num和`key`/`value`的head num不等长,而原生PyTorch接口不支持
510- 
511- ```python
512- import torch_npu
513- torch_npu.npu.use_compatible_impl(True)
514- ```
515 505 
516</div>506</div>
517 507 
@@ -1661,11 +1651,7 @@
1661**限制与说明**1651**限制与说明**
1662 1652 
1663- `input`仅支持fp16,fp32,fp641653- `input`仅支持fp16,fp32,fp64
1664-- 只支持`mode` = nearest,例如:1654+- 只支持`mode` = nearest
1665- 
1666- ```python
1667- out = torch.nn.functional.upsample(x, size=(256, 256), mode='nearest')
1668- ```
1669 1655 
1670</div>1656</div>
1671 1657 
@@ -1684,11 +1670,7 @@
1684**限制与说明**1670**限制与说明**
1685 1671 
1686- `input`仅支持fp16,fp32,fp641672- `input`仅支持fp16,fp32,fp64
1687-- 只支持3-5维,例如:1673+- 只支持3-5维
1688- 
1689- ```python
1690- out = torch.nn.functional.upsample(x, size=(256, 256), mode='nearest')
1691- ```
1692 1674 
1693</div>1675</div>
1694 1676 
@@ -1450,12 +1450,7 @@
1450**限制与说明**1450**限制与说明**
1451 1451 
1452- `input`仅支持bf16,fp16,fp321452- `input`仅支持bf16,fp16,fp32
1453-- <term>Atlas A2 训练系列产品</term>,默认场景下,如果频繁触发编译,建议手动设置torch.npu.config.allow_internal_format为False,控制入参不开启内部格式,避免在线编译,例如:1453+- <term>Atlas A2 训练系列产品</term>,默认场景下,如果频繁触发编译,建议手动设置torch.npu.config.allow_internal_format为False,控制入参不开启内部格式,避免在线编译
1454- 
1455- ```python
1456- import torch_npu
1457- torch_npu.npu.config.allow_internal_format = False
1458- ```
1459 1454 
1460</div>1455</div>
1461 1456 
@@ -1506,12 +1501,7 @@
1506**限制与说明**1501**限制与说明**
1507 1502 
1508- `input`仅支持fp16,fp321503- `input`仅支持fp16,fp32
1509-- <term>Atlas 训练系列产品</term>/<term>Atlas A2 训练系列产品</term>,需手动设置torch.npu.config.allow_internal_format为False,才可支持3维输入,例如:1504+- <term>Atlas 训练系列产品</term>/<term>Atlas A2 训练系列产品</term>,需手动设置torch.npu.config.allow_internal_format为False,才可支持3维输入
1510- 
1511- ```python
1512- import torch_npu
1513- torch_npu.npu.config.allow_internal_format = False
1514- ```
1515 1505 
1516</div>1506</div>
1517 1507 
@@ -1754,12 +1744,7 @@
1754**限制与说明**1744**限制与说明**
1755 1745 
1756- `input`仅支持bf16,fp16,fp321746- `input`仅支持bf16,fp16,fp32
1757-- 通过设置torch_npu.npu.use_compatible_impl(True),保证与社区同名接口在内存一致性上对齐,例如:1747+- 通过设置torch_npu.npu.use_compatible_impl(True),保证与社区同名接口在内存一致性上对齐
1758- 
1759- ```python
1760- import torch_npu
1761- torch_npu.npu.use_compatible_impl(True)
1762- ```
1763 1748 
1764</div>1749</div>
1765 1750 
@@ -2970,12 +2955,7 @@
2970**限制与说明**2955**限制与说明**
2971 2956 
2972- `input`仅支持bf16,fp16,fp322957- `input`仅支持bf16,fp16,fp32
2973-- 通过torch_npu.npu.use_compatible_impl(True),设置该接口从`aclnnLayerNorm`算子切换为`aclnnFastLayerNorm`算子,保证与社区同名接口在内存一致性上对齐,例如:2958+- 通过torch_npu.npu.use_compatible_impl(True),设置该接口从`aclnnLayerNorm`算子切换为`aclnnFastLayerNorm`算子,保证与社区同名接口在内存一致性上对齐
2974- 
2975- ```python
2976- import torch_npu
2977- torch_npu.npu.use_compatible_impl(True)
2978- ```
2979 2959 
2980</div>2960</div>
2981 2961 
@@ -117,12 +117,7 @@
117**限制与说明**117**限制与说明**
118 118 
119- `params`仅支持bf16,fp16,fp32119- `params`仅支持bf16,fp16,fp32
120-- 优化器在启动`foreach`的情况下(`foreach=None`或`foreach=True`),当被优化的参数分组过多时由于`foreach`算子的特性会导致性能下降。这种情况建议设置为`foreach=False`,例如:120+- 优化器在启动`foreach`的情况下(`foreach=None`或`foreach=True`),当被优化的参数分组过多时由于`foreach`算子的特性会导致性能下降。这种情况建议设置为`foreach=False`
121- 
122- ```python
123- # 参数分组较多时,建议关闭foreach避免性能下降
124- optimizer = torch.optim.Adadelta(model.parameters(), lr=1e-3, foreach=False)
125- ```
126 121 
127> <font size="3">add_param_group()</font>122> <font size="3">add_param_group()</font>
128 123 
@@ -295,12 +290,7 @@
295**限制与说明**290**限制与说明**
296 291 
297- `params`仅支持bf16,fp16,fp32292- `params`仅支持bf16,fp16,fp32
298-- 优化器在启动`foreach`的情况下(`foreach=None`或`foreach=True`),当被优化的参数分组过多时由于`foreach`算子的特性会导致性能下降。这种情况建议设置为`foreach=False`,例如:293+- 优化器在启动`foreach`的情况下(`foreach=None`或`foreach=True`),当被优化的参数分组过多时由于`foreach`算子的特性会导致性能下降。这种情况建议设置为`foreach=False`
299- 
300- ```python
301- # 参数分组较多时,建议关闭foreach避免性能下降
302- optimizer = torch.optim.Adagrad(model.parameters(), lr=1e-3, foreach=False)
303- ```
304 294 
305> <font size="3">add_param_group()</font>295> <font size="3">add_param_group()</font>
306 296 
@@ -474,12 +464,7 @@
474 464 
475- `params`仅支持bf16,fp16,fp32465- `params`仅支持bf16,fp16,fp32
476- 优化器在启动`foreach`的情况下(`foreach=None``foreach=True`),当被优化的参数分组过多时由于`foreach`算子的特性会导致性能下降。这种情况建议设置为`foreach=False`466- 优化器在启动`foreach`的情况下(`foreach=None``foreach=True`),当被优化的参数分组过多时由于`foreach`算子的特性会导致性能下降。这种情况建议设置为`foreach=False`
477-- 在某些情况下可能回退至CPU执行,例如:467+- 在某些情况下可能回退至CPU执行
478- 
479- ```python
480- # 参数分组较多时,建议关闭foreach避免性能下降
481- optimizer = torch.optim.Adam(model.parameters(), lr=1e-3, foreach=False)
482- ```
483 468 
484> <font size="3">add_param_group()</font>469> <font size="3">add_param_group()</font>
485 470 
@@ -653,12 +638,7 @@
653 638 
654- `params`仅支持bf16,fp16,fp32,complex64639- `params`仅支持bf16,fp16,fp32,complex64
655- 优化器在启动`foreach`的情况下(`foreach=None``foreach=True`),当被优化的参数分组过多时由于`foreach`算子的特性会导致性能下降。这种情况建议设置为`foreach=False`640- 优化器在启动`foreach`的情况下(`foreach=None``foreach=True`),当被优化的参数分组过多时由于`foreach`算子的特性会导致性能下降。这种情况建议设置为`foreach=False`
656-- 优化器在启动fused的情况下(fused=True),暂不支持grad_scale和found_inf参数。对标_single_tensor_adamw实现,fp32与cpu/cuda一致,fp16和bf16采用升精度实现,与cpu/cuda不一致,例如:641+- 优化器在启动fused的情况下(fused=True),暂不支持grad_scale和found_inf参数。对标_single_tensor_adamw实现,fp32与cpu/cuda一致,fp16和bf16采用升精度实现,与cpu/cuda不一致
657- 
658- ```python
659- # 参数分组较多时,建议关闭foreach避免性能下降
660- optimizer = torch.optim.AdamW(model.parameters(), lr=1e-3, foreach=False)
661- ```
662 642 
663> <font size="3">add_param_group()</font>643> <font size="3">add_param_group()</font>
664 644 
@@ -981,12 +961,7 @@
981**限制与说明**961**限制与说明**
982 962 
983- `params`仅支持bf16,fp16,fp32963- `params`仅支持bf16,fp16,fp32
984-- 优化器在启动`foreach`的情况下(`foreach=None`或`foreach=True`),当被优化的参数分组过多时由于`foreach`算子的特性会导致性能下降。这种情况建议设置为`foreach=False`,例如:964+- 优化器在启动`foreach`的情况下(`foreach=None`或`foreach=True`),当被优化的参数分组过多时由于`foreach`算子的特性会导致性能下降。这种情况建议设置为`foreach=False`
985- 
986- ```python
987- # 参数分组较多时,建议关闭foreach避免性能下降
988- optimizer = torch.optim.Adamax(model.parameters(), lr=1e-3, foreach=False)
989- ```
990 965 
991> <font size="3">add_param_group()</font>966> <font size="3">add_param_group()</font>
992 967 
@@ -1517,12 +1492,7 @@
1517**限制与说明**1492**限制与说明**
1518 1493 
1519- `params`仅支持bf16,fp16,fp321494- `params`仅支持bf16,fp16,fp32
1520-- 优化器在启动`foreach`的情况下(`foreach=None`或`foreach=True`),当被优化的参数分组过多时由于`foreach`算子的特性会导致性能下降。这种情况建议设置为`foreach=False`,例如:1495+- 优化器在启动`foreach`的情况下(`foreach=None`或`foreach=True`),当被优化的参数分组过多时由于`foreach`算子的特性会导致性能下降。这种情况建议设置为`foreach=False`
1521- 
1522- ```python
1523- # 参数分组较多时,建议关闭foreach避免性能下降
1524- optimizer = torch.optim.NAdam(model.parameters(), lr=1e-3, foreach=False)
1525- ```
1526 1496 
1527> <font size="3">add_param_group()</font>1497> <font size="3">add_param_group()</font>
1528 1498 
@@ -1705,12 +1675,7 @@
1705**限制与说明**1675**限制与说明**
1706 1676 
1707- `params`仅支持bf16,fp16,fp321677- `params`仅支持bf16,fp16,fp32
1708-- 优化器在启动`foreach`的情况下(`foreach=None`或`foreach=True`),当被优化的参数分组过多时由于`foreach`算子的特性会导致性能下降。这种情况建议设置为`foreach=False`,例如:1678+- 优化器在启动`foreach`的情况下(`foreach=None`或`foreach=True`),当被优化的参数分组过多时由于`foreach`算子的特性会导致性能下降。这种情况建议设置为`foreach=False`
1709- 
1710- ```python
1711- # 参数分组较多时,建议关闭foreach避免性能下降
1712- optimizer = torch.optim.RAdam(model.parameters(), lr=1e-3, foreach=False)
1713- ```
1714 1679 
1715> <font size="3">add_param_group()</font>1680> <font size="3">add_param_group()</font>
1716 1681 
@@ -1893,12 +1858,7 @@
1893**限制与说明**1858**限制与说明**
1894 1859 
1895- `params`仅支持bf16,fp16,fp321860- `params`仅支持bf16,fp16,fp32
1896-- 优化器在启动`foreach`的情况下(`foreach=None`或`foreach=True`),当被优化的参数分组过多时由于`foreach`算子的特性会导致性能下降。这种情况建议设置为`foreach=False`,例如:1861+- 优化器在启动`foreach`的情况下(`foreach=None`或`foreach=True`),当被优化的参数分组过多时由于`foreach`算子的特性会导致性能下降。这种情况建议设置为`foreach=False`
1897- 
1898- ```python
1899- # 参数分组较多时,建议关闭foreach避免性能下降
1900- optimizer = torch.optim.RMSprop(model.parameters(), lr=1e-3, foreach=False)
1901- ```
1902 1862 
1903> <font size="3">add_param_group()</font>1863> <font size="3">add_param_group()</font>
1904 1864 
@@ -2249,12 +2209,7 @@
2249**限制与说明**2209**限制与说明**
2250 2210 
2251- `params`仅支持bf16,fp16,fp322211- `params`仅支持bf16,fp16,fp32
2252-- 优化器在启动`foreach`的情况下(`foreach=None`或`foreach=True`),当被优化的参数分组过多时由于`foreach`算子的特性会导致性能下降。这种情况建议设置为`foreach=False`,例如:2212+- 优化器在启动`foreach`的情况下(`foreach=None`或`foreach=True`),当被优化的参数分组过多时由于`foreach`算子的特性会导致性能下降。这种情况建议设置为`foreach=False`
2253- 
2254- ```python
2255- # 参数分组较多时,建议关闭foreach避免性能下降
2256- optimizer = torch.optim.SGD(model.parameters(), lr=1e-3, foreach=False)
2257- ```
2258 2213 
2259> <font size="3">add_param_group()</font>2214> <font size="3">add_param_group()</font>
2260 2215 
@@ -840,14 +840,7 @@
840 840 
841- `input`仅支持fp16,fp32,int16,int32,int64,bool841- `input`仅支持fp16,fp32,int16,int32,int64,bool
842- `index`的维度数需与`input`的维度数一致842- `index`的维度数需与`input`的维度数一致
843-- 针对<term>Ascend 950DT</term>,由于硬件差异,在索引存在重复的情况下,精度可能和<term>Atlas A2 训练系列产品</term>/<term>Atlas A3 训练系列产品</term>存在差异,例如:843+- 针对<term>Ascend 950DT</term>,由于硬件差异,在索引存在重复的情况下,精度可能和<term>Atlas A2 训练系列产品</term>/<term>Atlas A3 训练系列产品</term>存在差异
844- 
845- ```python
846- # index存在重复索引的示例:索引0被多次使用,Ascend 950DT上结果可能与A2/A3存在精度差异
847- x = torch.tensor([[1, 2], [3, 4]], device='npu')
848- index = torch.tensor([[0], [0]], device='npu') # 索引0重复出现
849- out = torch.gather(x, 0, index)
850- ```
851 844 
852</div>845</div>
853 846 
@@ -946,14 +939,7 @@
946**限制与说明**939**限制与说明**
947 940 
948- `input`仅支持bf16,fp16,fp32,int16,int32,int64,bool941- `input`仅支持bf16,fp16,fp32,int16,int32,int64,bool
949-- 针对<term>Ascend 950DT</term>,由于硬件差异,在索引存在重复的情况下,精度可能和<term>Atlas A2 训练系列产品</term>/<term>Atlas A3 训练系列产品</term>存在差异,例如:942+- 针对<term>Ascend 950DT</term>,由于硬件差异,在索引存在重复的情况下,精度可能和<term>Atlas A2 训练系列产品</term>/<term>Atlas A3 训练系列产品</term>存在差异
950- 
951- ```python
952- # index存在重复索引的示例:索引0被多次使用,Ascend 950DT上结果可能与A2/A3存在精度差异
953- x = torch.tensor([[1, 2], [3, 4]], device='npu')
954- index = torch.tensor([0, 0], device='npu') # 索引0重复出现
955- out = torch.index_select(x, 0, index)
956- ```
957 943 
958</div>944</div>
959 945 
@@ -1120,15 +1106,7 @@
1120 1106 
1121- `input`仅支持bf16,fp16,fp32,fp64,uint8,int8,int16,int32,int64,bool,complex64,complex1281107- `input`仅支持bf16,fp16,fp32,fp64,uint8,int8,int16,int32,int64,bool,complex64,complex128
1122- 可能回退至CPU执行1108- 可能回退至CPU执行
1123-- 针对<term>Ascend 950DT</term>,由于硬件差异,在索引存在重复的情况下,精度可能和<term>Atlas A2 训练系列产品</term>/<term>Atlas A3 训练系列产品</term>存在差异,例如:1109+- 针对<term>Ascend 950DT</term>,由于硬件差异,在索引存在重复的情况下,精度可能和<term>Atlas A2 训练系列产品</term>/<term>Atlas A3 训练系列产品</term>存在差异
1124- 
1125- ```python
1126- # index存在重复索引的示例:索引0被多次使用,同一位置被多次写入,Ascend 950DT上结果可能与A2/A3存在精度差异
1127- x = torch.tensor([[1, 2], [3, 4]], device='npu')
1128- src = torch.tensor([[10, 20], [30, 40]], device='npu')
1129- index = torch.tensor([[0], [0]], device='npu') # 索引0重复出现
1130- out = torch.scatter(x, 0, index, src)
1131- ```
1132 1110 
1133</div>1111</div>
1134 1112