已合并
【modifiy docs】修改英文文档中的非标准英文字符,统一翻译术语 #2711
zangyan创建于 18 天前
【modifiy docs】修改英文文档中的非标准英文字符,统一翻译术语 #2711
已合并
zangyan创建于 18 天前
23 个文件变更+74-82
@@ -44,10 +44,10 @@ HCCL包含HCCL集合通信库与HCOMM(Huawei Communication)通信基础库
44| ├── broadcast # Broadcast算子实现44| ├── broadcast # Broadcast算子实现
45| ├── interface_graph_mode # 图模式接口实现45| ├── interface_graph_mode # 图模式接口实现
46| ├── op_common # 算子通用组件46| ├── op_common # 算子通用组件
47-| │  ├── executor # 执行器47+| │ ├── executor # 执行器
48-| │  ├── selector # 算法选择器48+| │ ├── selector # 算法选择器
49-| │  ├── template # 算法模板49+| │ ├── template # 算法模板
50-| │  └── topo # 通信域拓扑信息获取和转换50+| │ └── topo # 通信域拓扑信息获取和转换
51| ├── recv # Recv算子实现51| ├── recv # Recv算子实现
52| ├── reduce # Reduce算子实现52| ├── reduce # Reduce算子实现
53| ├── reduce_scatter # ReduceScatter算子实现53| ├── reduce_scatter # ReduceScatter算子实现
@@ -44,10 +44,10 @@ The key directories of this project are as follows:
44| ├── broadcast # Broadcast operator implementation44| ├── broadcast # Broadcast operator implementation
45| ├── interface_graph_mode # Graph mode interface implementation45| ├── interface_graph_mode # Graph mode interface implementation
46| ├── op_common # Common operator components46| ├── op_common # Common operator components
47-| │  ├── executor # Executor47+| │ ├── executor # Executor
48-| │  ├── selector # Algorithm selector48+| │ ├── selector # Algorithm selector
49-| │  ├── template # Algorithm template49+| │ ├── template # Algorithm template
50-| │  └── topo # Communication domain topology information acquisition and conversion50+| │ └── topo # Communication domain topology information acquisition and conversion
51| ├── recv # Recv operator implementation51| ├── recv # Recv operator implementation
52| ├── reduce # Reduce operator implementation52| ├── reduce # Reduce operator implementation
53| ├── reduce_scatter # ReduceScatter operator implementation53| ├── reduce_scatter # ReduceScatter operator implementation
@@ -7,8 +7,8 @@ To ensure security and minimize permissions, you are not advised to use administ
7## File Permission Control7## File Permission Control
8 8 
9- You are advised to set the system `umask` value to `0027` or higher on hosts (including host machines) and containers. This ensures that new folders have a default maximum permission of `750` and new files have a default maximum permission of `640`.9- You are advised to set the system `umask` value to `0027` or higher on hosts (including host machines) and containers. This ensures that new folders have a default maximum permission of `750` and new files have a default maximum permission of `640`.
10-- You are advised to take security measures such as permission control on sensitive files, including personal privacy data, commercial assets, and source files. For example, permissions for the project installation directory and public input data files must follow the recommendations in [ARecommended Maximum Permissions for Files and Folders in Different Scenarios](#a-recommended-maximum-permissions-for-files-and-folders-in-different-scenarios).10+- You are advised to take security measures such as permission control on sensitive files, including personal privacy data, commercial assets, and source files. For example, permissions for the project installation directory and public input data files must follow the recommendations in [A-Recommended Maximum Permissions for Files and Folders in Different Scenarios](#a-recommended-maximum-permissions-for-files-and-folders-in-different-scenarios).
11-- During installation and usage, you must enforce proper permission control, referring to the same [ARecommended Maximum Permissions for Files and Folders in Different Scenarios](#a-recommended-maximum-permissions-for-files-and-folders-in-different-scenarios).11+- During installation and usage, you must enforce proper permission control, referring to the same [A-Recommended Maximum Permissions for Files and Folders in Different Scenarios](#a-recommended-maximum-permissions-for-files-and-folders-in-different-scenarios).
12 12 
13## Build Security Statement13## Build Security Statement
14 14 
@@ -18,33 +18,33 @@ In distributed training and inference, **deterministic collective communication*
18 18 
19#### 1. Training Reproducibility and CI/CD19#### 1. Training Reproducibility and CI/CD
20 20 
21-Reproducible training is essential for trustworthy research and production pipelines. Nondeterministic reductions introduce floatingpoint noise that masks bugs and makes results impossible to compare across runs.21+Reproducible training is essential for trustworthy research and production pipelines. Non-deterministic reductions introduce floating-point noise that masks bugs and makes results impossible to compare across runs.
22 22 
23-- **Picard (2021)** ("Torch.manual_seed(3407) is all you need") demonstrates that random seed variations alone can produce statistically significant outliers in final model performance when reduction ordering is also nondeterministic, the variance grows even larger. ([arXiv:2109.08203](https://arxiv.org/abs/2109.08203))23+- **Picard (2021)** ("Torch.manual_seed(3407) is all you need") demonstrates that random seed variations alone can produce statistically significant outliers in final model performance - when reduction ordering is also non-deterministic, the variance grows even larger. ([arXiv:2109.08203](https://arxiv.org/abs/2109.08203))
24-- **CI/CD and Debugging**: In continuous integration testing and distributed debugging, any nondeterminism turns a reproducible bug into a ghost. Deterministic collectives guarantee that a failing test will fail identically on every rerun, drastically reducing rootcause analysis time.24+- **CI/CD and Debugging**: In continuous integration testing and distributed debugging, any non-determinism turns a reproducible bug into a ghost. Deterministic collectives guarantee that a failing test will fail identically on every rerun, drastically reducing root-cause analysis time.
25 25 
26#### 2. Reinforcement Learning (RL, RLHF, PPO)26#### 2. Reinforcement Learning (RL, RLHF, PPO)
27 27 
28-Reinforcement learning training is highly sensitive to consistency in policy evaluation. In PPO and RLHF pipelines, when the same policy is evaluated with different batch sizes, a change in ReduceScatter reduction ordering due to sharding can inject floatingpoint noise into gradient or reward signals, destabilizing policy updates.28+Reinforcement learning training is highly sensitive to consistency in policy evaluation. In PPO and RLHF pipelines, when the same policy is evaluated with different batch sizes, a change in ReduceScatter reduction ordering due to sharding can inject floating-point noise into gradient or reward signals, destabilizing policy updates.
29 29 
30-- **verl** ([github.com/verl-project/verl](https://github.com/verl-project/verl)): A mainstream opensource RLHF or PPO framework that provides a `full_determinism` configuration option and explicitly sets `HCCL_DETERMINISTIC=1` to guarantee reproducible collective operations.30+- **verl** ([github.com/verl-project/verl](https://github.com/verl-project/verl)): A mainstream open-source RLHF or PPO framework that provides a `full_determinism` configuration option and explicitly sets `HCCL_DETERMINISTIC=1` to guarantee reproducible collective operations.
31-- **DeepSpeedChat** and derivative frameworks: Require deterministic reductions in RLHF training to keep reward model training consistent across identical inputs.31+- **DeepSpeed-Chat** and derivative frameworks: Require deterministic reductions in RLHF training to keep reward model training consistent across identical inputs.
32 32 
33#### 3. Inference Consistency and Batch Invariance33#### 3. Inference Consistency and Batch Invariance
34 34 
35-In largemodel serving, users expect the same prompt to always return the same output. However, dynamic batching means a prompt can be grouped with different neighbours on each request. Without deterministic collective communication, floatingpoint reduction order can vary with batch composition, breaking this invariance.35+In large-model serving, users expect the same prompt to always return the same output. However, dynamic batching means a prompt can be grouped with different neighbours on each request. Without deterministic collective communication, floating-point reduction order can vary with batch composition, breaking this invariance.
36 36 
37-- **vLLM Batch Invariance**: The vLLM project explicitly calls out that nondeterministic allreduce backends (e.g., NCCL) can cause different logits for the same prompt depending on batch mates. Their batch invariance guarantee relies on deterministic communication to ensure "the output for a given prompt is the same regardless of what other prompts are in the batch." ([Motivation](https://docs.vllm.ai/en/latest/features/batch_invariance/#motivation), [Ascend Guide](https://docs.vllm.ai/projects/ascend/en/latest/user_guide/feature_guide/batch_invariance.html))37+- **vLLM Batch Invariance**: The vLLM project explicitly calls out that non-deterministic all-reduce backends (e.g., NCCL) can cause different logits for the same prompt depending on batch mates. Their batch invariance guarantee relies on deterministic communication to ensure "the output for a given prompt is the same regardless of what other prompts are in the batch." ([Motivation](https://docs.vllm.ai/en/latest/features/batch_invariance/#motivation), [Ascend Guide](https://docs.vllm.ai/projects/ascend/en/latest/user_guide/feature_guide/batch_invariance.html))
38- **SGLang**: Provides an `--enable-deterministic-inference` flag that forces deterministic computation and communication ordering, making inference outputs fully reproducible across different batch sizes and request arrival patterns. ([SGLang deterministic inference](https://sgl-project.github.io/advanced_features/deterministic_inference.html))38- **SGLang**: Provides an `--enable-deterministic-inference` flag that forces deterministic computation and communication ordering, making inference outputs fully reproducible across different batch sizes and request arrival patterns. ([SGLang deterministic inference](https://sgl-project.github.io/advanced_features/deterministic_inference.html))
39-- **OpenAI Community**: Practitioners have long struggled with nondeterministic GPU operations in production LLM inference, where bitforbit reproducibility is expected by endusers and essential for debugging. ([Defeating Nondeterminism in LLM Inference](https://community.openai.com/t/defeating-nondeterminism-in-llm-inference/1358623))39+- **OpenAI Community**: Practitioners have long struggled with non-deterministic GPU operations in production LLM inference, where bit-for-bit reproducibility is expected by end-users and essential for debugging. ([Defeating Nondeterminism in LLM Inference](https://community.openai.com/t/defeating-nondeterminism-in-llm-inference/1358623))
40 40 
41#### 4. Ecosystem API and Framework Support41#### 4. Ecosystem API and Framework Support
42 42 
43The demand for determinism is reflected in the official APIs and configuration flags of major ML frameworks:43The demand for determinism is reflected in the official APIs and configuration flags of major ML frameworks:
44 44 
45-- **PyTorch**: `torch.use_deterministic_algorithms(True)` requires all operations including collectives to produce the same output given the same input on the same hardware or software. ([PyTorch docs](https://docs.pytorch.org/docs/stable/generated/torch.use_deterministic_algorithms.html))45+- **PyTorch**: `torch.use_deterministic_algorithms(True)` requires all operations - including collectives - to produce the same output given the same input on the same hardware or software. ([PyTorch docs](https://docs.pytorch.org/docs/stable/generated/torch.use_deterministic_algorithms.html))
46- **HuggingFace Transformers or Diffusers**: Provide a standardised `enable_full_determinism()` function that sets `NCCL_DETERMINISTIC=1`, `CUBLAS_WORKSPACE_CONFIG`, and other variables.46- **HuggingFace Transformers or Diffusers**: Provide a standardised `enable_full_determinism()` function that sets `NCCL_DETERMINISTIC=1`, `CUBLAS_WORKSPACE_CONFIG`, and other variables.
47-- **LlamaFactory**: Largemodel finetuning framework offering an `enable_full_determinism(seed)` interface for reproducible distributed training.47+- **LlamaFactory**: Large-model fine-tuning framework offering an `enable_full_determinism(seed)` interface for reproducible distributed training.
48- **ByteDance VeOmni**: Enforces `--train.enable_full_determinism true` in CI tests, making deterministic collectives a gate for code acceptance.48- **ByteDance VeOmni**: Enforces `--train.enable_full_determinism true` in CI tests, making deterministic collectives a gate for code acceptance.
49 49 
50### Limitations of Existing Batch-Invariant Algorithms in HCCL50### Limitations of Existing Batch-Invariant Algorithms in HCCL
@@ -10,7 +10,7 @@ This sample demonstrates how to use the `HcclSend()` and `HcclRecv()` APIs to im
10 > The rootinfo identifier contains the device IP address and device ID. This information must be broadcast to all ranks in the cluster to initialize the communicator.10 > The rootinfo identifier contains the device IP address and device ID. This information must be broadcast to all ranks in the cluster to initialize the communicator.
11 11 
12- In each thread, call `HcclCommInitRootInfo()` to initialize the communicator based on the rootinfo identifier.12- In each thread, call `HcclCommInitRootInfo()` to initialize the communicator based on the rootinfo identifier.
13-- Call `HcclSend()` and `HcclRecv()` to send and receive data and display the result. Evennumbered ranks (0, 2, 4, 6) send data, while oddnumbered ranks (1, 3, 5, 7) receive data.13+- Call `HcclSend()` and `HcclRecv()` to send and receive data and display the result. Even-numbered ranks (0, 2, 4, 6) send data, while odd-numbered ranks (1, 3, 5, 7) receive data.
14 14 
15## Directory Structure15## Directory Structure
16 16 
@@ -27,9 +27,9 @@ This sample demonstrates how to use the `HcclSend()` and `HcclRecv()` APIs to im
27This sample supports the following products in a single-server N-card configuration (N >= 2, even number):27This sample supports the following products in a single-server N-card configuration (N >= 2, even number):
28 28 
29- <term>Ascend 950PR</term> / <term>Ascend 950DT</term>29- <term>Ascend 950PR</term> / <term>Ascend 950DT</term>
30-- <term>Atlas A3 Training Series Products</term> / <term>Atlas A3 Inference Series Products</term>30+- <term>Atlas A3 Training Products</term> / <term>Atlas A3 Inference Products</term>
31-- <term>Atlas A2 Training Series Products</term>31+- <term>Atlas A2 Training Products</term>
32-- <term>Atlas Training Series Products</term>32+- <term>Atlas Training Products</term>
33 33 
34### Setting Environment Variables34### Setting Environment Variables
35 35 
@@ -27,9 +27,9 @@ This sample demonstrates how to use the `HcclBatchSendRecv()` API to implement p
27This sample supports the following products in a single-server N-card configuration (N >= 2):27This sample supports the following products in a single-server N-card configuration (N >= 2):
28 28 
29- <term>Ascend 950PR</term> / <term>Ascend 950DT</term>29- <term>Ascend 950PR</term> / <term>Ascend 950DT</term>
30-- <term>Atlas A3 Training Series Products</term> / <term>Atlas A3 Inference Series Products</term>30+- <term>Atlas A3 Training Products</term> / <term>Atlas A3 Inference Products</term>
31-- <term>Atlas A2 Training Series Products</term>31+- <term>Atlas A2 Training Products</term>
32-- <term>Atlas Training Series Products</term>32+- <term>Atlas Training Products</term>
33 33 
34### Setting Environment Variables34### Setting Environment Variables
35 35 
@@ -27,9 +27,9 @@ This sample demonstrates how to call the `HcclAllReduce()` API to perform an `Al
27This sample supports the following products in a single-server N-card configuration (N >= 2):27This sample supports the following products in a single-server N-card configuration (N >= 2):
28 28 
29- <term>Ascend 950PR</term> / <term>Ascend 950DT</term>29- <term>Ascend 950PR</term> / <term>Ascend 950DT</term>
30-- <term>Atlas A3 Training Series Products</term> / <term>Atlas A3 Inference Series Products</term>30+- <term>Atlas A3 Training Products</term> / <term>Atlas A3 Inference Products</term>
31-- <term>Atlas A2 Training Series Products</term>31+- <term>Atlas A2 Training Products</term>
32-- <term>Atlas Training Series Products</term> / <term>Atlas Inference Series Products</term>32+- <term>Atlas Training Products</term> / <term>Atlas Inference Products</term>
33 33 
34### Setting Environment Variables34### Setting Environment Variables
35 35 
@@ -27,9 +27,9 @@ This sample demonstrates how to use the `HcclBroadcast()` API to perform the Bro
27This sample supports the following products in a single-server N-card configuration (N >= 2):27This sample supports the following products in a single-server N-card configuration (N >= 2):
28 28 
29- <term>Ascend 950PR</term> / <term>Ascend 950DT</term>29- <term>Ascend 950PR</term> / <term>Ascend 950DT</term>
30-- <term>Atlas A3 Training Series Products</term> / <term>Atlas A3 Inference Series Products</term>30+- <term>Atlas A3 Training Products</term> / <term>Atlas A3 Inference Products</term>
31-- <term>Atlas A2 Training Series Products</term>31+- <term>Atlas A2 Training Products</term>
32-- <term>Atlas Training Series Products</term>32+- <term>Atlas Training Products</term>
33 33 
34### Setting Environment Variables34### Setting Environment Variables
35 35 
@@ -56,7 +56,7 @@ make test
56 56 
57## Sample Output57## Sample Output
58 58 
59-The data of the root node is initialized to 0 through 7. After the Broadcast operation, the root node data is broadcast to other ranks in the communication domain.59+The data of the root node is initialized to 0 through 7. After the Broadcast operation, the root node data is broadcast to other ranks in the communicator.
60 60 
61```61```
62Found 8 NPU device(s) available62Found 8 NPU device(s) available
@@ -27,9 +27,9 @@ This sample demonstrates how to use the `HcclAllGather()` API to perform the All
27This sample supports the following products in a single-server N-card configuration (N >= 2):27This sample supports the following products in a single-server N-card configuration (N >= 2):
28 28 
29- <term>Ascend 950PR</term> / <term>Ascend 950DT</term>29- <term>Ascend 950PR</term> / <term>Ascend 950DT</term>
30-- <term>Atlas A3 Training Series Products</term> / <term>Atlas A3 Inference Series Products</term>30+- <term>Atlas A3 Training Products</term> / <term>Atlas A3 Inference Products</term>
31-- <term>Atlas A2 Training Series Products</term>31+- <term>Atlas A2 Training Products</term>
32-- <term>Atlas Training Series Products</term> / <term>Atlas Inference Series Products</term>32+- <term>Atlas Training Products</term> / <term>Atlas Inference Products</term>
33 33 
34### Setting Environment Variables34### Setting Environment Variables
35 35 
@@ -27,9 +27,9 @@ This sample demonstrates how to use the `HcclReduceScatter()` API to perform the
27This sample supports the following products in a single-server N-card configuration (N >= 2):27This sample supports the following products in a single-server N-card configuration (N >= 2):
28 28 
29- <term>Ascend 950PR</term> / <term>Ascend 950DT</term>29- <term>Ascend 950PR</term> / <term>Ascend 950DT</term>
30-- <term>Atlas A3 Training Series Products</term> / <term>Atlas A3 Inference Series Products</term>30+- <term>Atlas A3 Training Products</term> / <term>Atlas A3 Inference Products</term>
31-- <term>Atlas A2 Training Series Products</term>31+- <term>Atlas A2 Training Products</term>
32-- <term>Atlas Training Series Products</term> / <term>Atlas Inference Series Products</term>32+- <term>Atlas Training Products</term> / <term>Atlas Inference Products</term>
33 33 
34### Setting Environment Variables34### Setting Environment Variables
35 35 
@@ -27,9 +27,9 @@ This sample demonstrates how to use the `HcclReduce()` API to perform the Reduce
27This sample supports the following products in a single-server N-card configuration (N >= 2):27This sample supports the following products in a single-server N-card configuration (N >= 2):
28 28 
29- <term>Ascend 950PR</term> / <term>Ascend 950DT</term>29- <term>Ascend 950PR</term> / <term>Ascend 950DT</term>
30-- <term>Atlas A3 Training Series Products</term> / <term>Atlas A3 Inference Series Products</term>30+- <term>Atlas A3 Training Products</term> / <term>Atlas A3 Inference Products</term>
31-- <term>Atlas A2 Training Series Products</term>31+- <term>Atlas A2 Training Products</term>
32-- <term>Atlas Training Series Products</term>32+- <term>Atlas Training Products</term>
33 33 
34### Setting Environment Variables34### Setting Environment Variables
35 35 
@@ -27,9 +27,9 @@ This sample demonstrates how to call the `HcclAlltoAll()` API to perform an `All
27This sample supports the following products in a single-server N-card configuration (N >= 2):27This sample supports the following products in a single-server N-card configuration (N >= 2):
28 28 
29- <term>Ascend 950PR</term> / <term>Ascend 950DT</term>29- <term>Ascend 950PR</term> / <term>Ascend 950DT</term>
30-- <term>Atlas A3 Training Series Products</term> / <term>Atlas A3 Inference Series Products</term>30+- <term>Atlas A3 Training Products</term> / <term>Atlas A3 Inference Products</term>
31-- <term>Atlas A2 Training Series Products</term>31+- <term>Atlas A2 Training Products</term>
32-- <term>Atlas Training Series Products</term> / <term>Atlas Inference Series Products</term>32+- <term>Atlas Training Products</term> / <term>Atlas Inference Products</term>
33 33 
34### Setting Environment Variables34### Setting Environment Variables
35 35 
@@ -27,9 +27,9 @@ This sample demonstrates how to use the `HcclAlltoAllV()` API to perform the All
27This sample supports the following products in a single-server N-card configuration (N >= 2):27This sample supports the following products in a single-server N-card configuration (N >= 2):
28 28 
29- <term>Ascend 950PR</term> / <term>Ascend 950DT</term>29- <term>Ascend 950PR</term> / <term>Ascend 950DT</term>
30-- <term>Atlas A3 Training Series Products</term> / <term>Atlas A3 Inference Series Products</term>30+- <term>Atlas A3 Training Products</term> / <term>Atlas A3 Inference Products</term>
31-- <term>Atlas A2 Training Series Products</term>31+- <term>Atlas A2 Training Products</term>
32-- <term>Atlas Training Series Products</term> / <term>Atlas Inference Series Products</term>32+- <term>Atlas Training Products</term> / <term>Atlas Inference Products</term>
33 33 
34### Setting Environment Variables34### Setting Environment Variables
35 35 
@@ -27,8 +27,8 @@ This sample demonstrates how to use the `HcclAlltoAllVC()` API to perform the Al
27This sample supports the following products in a single-server N-card configuration (N >= 2):27This sample supports the following products in a single-server N-card configuration (N >= 2):
28 28 
29- <term>Ascend 950PR</term> / <term>Ascend 950DT</term>29- <term>Ascend 950PR</term> / <term>Ascend 950DT</term>
30-- <term>Atlas A3 Training Series Products</term> / <term>Atlas A3 Inference Series Products</term>30+- <term>Atlas A3 Training Products</term> / <term>Atlas A3 Inference Products</term>
31-- <term>Atlas A2 Training Series Products</term>31+- <term>Atlas A2 Training Products</term>
32 32 
33### Setting Environment Variables33### Setting Environment Variables
34 34 
@@ -27,9 +27,9 @@ This sample demonstrates how to use the `HcclScatter()` API to perform collectiv
27This sample supports the following products in a single-server N-card configuration (N >= 2):27This sample supports the following products in a single-server N-card configuration (N >= 2):
28 28 
29- <term>Ascend 950PR</term> / <term>Ascend 950DT</term>29- <term>Ascend 950PR</term> / <term>Ascend 950DT</term>
30-- <term>Atlas A3 Training Series Products</term> / <term>Atlas A3 Inference Series Products</term>30+- <term>Atlas A3 Training Products</term> / <term>Atlas A3 Inference Products</term>
31-- <term>Atlas A2 Training Series Products</term>31+- <term>Atlas A2 Training Products</term>
32-- <term>Atlas Training Series Products</term>32+- <term>Atlas Training Products</term>
33 33 
34### Setting Environment Variables34### Setting Environment Variables
35 35 
@@ -56,7 +56,7 @@ make test
56 56 
57## Sample Output57## Sample Output
58 58 
59-The content of the root node is initialized to 0 through 7. After the Scatter operation, the data of the root node in the communication domain is evenly divided and distributed to other ranks.59+The content of the root node is initialized to 0 through 7. After the Scatter operation, the data of the root node in the communicator is evenly divided and distributed to other ranks.
60 60 
61```61```
62Found 8 NPU device(s) available62Found 8 NPU device(s) available
@@ -6,7 +6,7 @@ This sample demonstrates how to perform an AllReduce operation using the PyTorch
6 6 
7- Device detection: Query the number of available devices using the `torch_npu.npu.device_count()` interface.7- Device detection: Query the number of available devices using the `torch_npu.npu.device_count()` interface.
8- Start multiple processes using the `torch.multiprocessing.spawn()` interface.8- Start multiple processes using the `torch.multiprocessing.spawn()` interface.
9-- In each process, initialize the communication domain using the `torch.distributed.init_process_group()` interface.9+- In each process, initialize the communicator using the `torch.distributed.init_process_group()` interface.
10- In each process, perform the AllReduce operation using the `torch.distributed.all_reduce()` interface.10- In each process, perform the AllReduce operation using the `torch.distributed.all_reduce()` interface.
11 11 
12## Environment Preparation12## Environment Preparation
@@ -16,9 +16,9 @@ This sample demonstrates how to perform an AllReduce operation using the PyTorch
16This sample supports the following products in a single-server N-card configuration (N >= 2):16This sample supports the following products in a single-server N-card configuration (N >= 2):
17 17 
18- <term>Ascend 950PR</term> / <term>Ascend 950DT</term>18- <term>Ascend 950PR</term> / <term>Ascend 950DT</term>
19-- <term>Atlas A3 Training Series Products</term> / <term>Atlas A3 Inference Series Products</term>19+- <term>Atlas A3 Training Products</term> / <term>Atlas A3 Inference Products</term>
20-- <term>Atlas A2 Training Series Products</term>20+- <term>Atlas A2 Training Products</term>
21-- <term>Atlas Training Series Products</term> / <term>Atlas Inference Series Products</term>21+- <term>Atlas Training Products</term> / <term>Atlas Inference Products</term>
22 22 
23This sample depends on the following Python packages:23This sample depends on the following Python packages:
24 24 
@@ -4,7 +4,7 @@
4 4 
5This sample demonstrates how to perform an AllReduce operation using the TensorFlow interface. It covers the following functions:5This sample demonstrates how to perform an AllReduce operation using the TensorFlow interface. It covers the following functions:
6 6 
7-- Initialize the communication domain based on the `ranktable.json` configuration file.7+- Initialize the communicator based on the `ranktable.json` configuration file.
8 8 
9## Environment Preparation9## Environment Preparation
10 10 
@@ -13,9 +13,9 @@ This sample demonstrates how to perform an AllReduce operation using the TensorF
13This sample supports the following products in a single-server 8-card configuration:13This sample supports the following products in a single-server 8-card configuration:
14 14 
15- <term>Ascend 950PR</term> / <term>Ascend 950DT</term>15- <term>Ascend 950PR</term> / <term>Ascend 950DT</term>
16-- <term>Atlas A3 Training Series Products</term> / <term>Atlas A3 Inference Series Products</term>16+- <term>Atlas A3 Training Products</term> / <term>Atlas A3 Inference Products</term>
17-- <term>Atlas A2 Training Series Products</term>17+- <term>Atlas A2 Training Products</term>
18-- <term>Atlas Training Series Products</term> / <term>Atlas Inference Series Products</term>18+- <term>Atlas Training Products</term> / <term>Atlas Inference Products</term>
19 19 
20Note: This sample code is developed based on TensorFlow 1.x and is not compatible with TensorFlow 2.x. TensorFlow 1.15.0 is recommended.20Note: This sample code is developed based on TensorFlow 1.x and is not compatible with TensorFlow 2.x. TensorFlow 1.15.0 is recommended.
21 21 
@@ -43,8 +43,8 @@ This sample demonstrates how to develop Send and Recv point-to-point communicati
43 43 
44This sample supports the following products in a single-server N-card configuration (N >= 2, even number):44This sample supports the following products in a single-server N-card configuration (N >= 2, even number):
45 45 
46-- <term>Atlas A3 Training Series Products</term> / <term>Atlas A3 Inference Series Products</term>46+- <term>Atlas A3 Training Products</term> / <term>Atlas A3 Inference Products</term>
47-- <term>Atlas A2 Training Series Products</term>47+- <term>Atlas A2 Training Products</term>
48 48 
49The following software dependencies are required for compiling this sample. Ensure that the version requirements are met:49The following software dependencies are required for compiling this sample. Ensure that the version requirements are met:
50 50 
@@ -40,13 +40,9 @@
40 40 
41本样例支持以下产品,组网为单机N卡(N>=2):41本样例支持以下产品,组网为单机N卡(N>=2):
42 42 
43-- <term>Ascend 950PR</term> / <term>Ascend 950DT</term>43+- Ascend 950PR/Ascend 950DT
44-<!-- npu="A3" id1 -->
45- Atlas A3 训练系列产品/Atlas A3 推理系列产品(仅支持超节点内通信场景)44- Atlas A3 训练系列产品/Atlas A3 推理系列产品(仅支持超节点内通信场景)
46-<!-- end id1 -->
47-<!-- npu="910b" id2 -->
48- Atlas A2 训练系列产品/Atlas A2 推理系列产品(仅支持单机通信场景)45- Atlas A2 训练系列产品/Atlas A2 推理系列产品(仅支持单机通信场景)
49-<!-- end id2 -->
50 46 
51### 2. 安装 CANN Toolkit 开发套件包47### 2. 安装 CANN Toolkit 开发套件包
52 48 
@@ -40,13 +40,9 @@ This sample demonstrates how to develop an AllGather custom communication operat
40 40 
41This sample supports the following products in a single-server N-card configuration (N >= 2):41This sample supports the following products in a single-server N-card configuration (N >= 2):
42 42 
43-- <term>Ascend 950PR</term> / <term>Ascend 950DT</term>43+- Ascend 950PR/Ascend 950DT
44-<!-- npu="A3" id2 -->44+- Atlas A3 training Products/Atlas A3 inference Products (Only supports intra-super-pod communication scenarios)
45-- Atlas A3 training products/Atlas A3 inference products(Only supports intra-super-node communication scenarios)45+- Atlas A2 training Products/Atlas A2 inference Products (Only supports single-server communication scenarios)
46-<!-- end id2 -->
47-<!-- npu="910b" id1 -->
48-- Atlas A2 training products/Atlas A2 inference products(Only supports single-device communication scenarios)
49-<!-- end id1 -->
50 46 
51### 1.2 Install the CANN Toolkit Development Kit Package47### 1.2 Install the CANN Toolkit Development Kit Package
52 48 
@@ -42,9 +42,9 @@
42 42 
43### 1. 环境要求43### 1. 环境要求
44 44 
45-本样例支持以下昇腾产品, 组网为单机N卡(N>=2):45+本样例支持以下昇腾产品组网为单机N卡(N>=2):
46 46 
47-- <term>Ascend 950PR</term> / <term>Ascend 950DT</term>47+- Ascend 950PR/Ascend 950DT
48 48 
49本样例编译用到的软件依赖如下,注意满足版本号要求:49本样例编译用到的软件依赖如下,注意满足版本号要求:
50 50 
@@ -44,7 +44,7 @@ This sample demonstrates how to develop an AllGather communication operator base
44 44 
45This sample supports the following Ascend products in a single-server N-card configuration (N >= 2):45This sample supports the following Ascend products in a single-server N-card configuration (N >= 2):
46 46 
47-- <term>Ascend 950PR</term> / <term>Ascend 950DT</term>47+- Ascend 950PR/Ascend 950DT
48 48 
49The following software dependencies are required for compiling this sample. Ensure that the version requirements are met:49The following software dependencies are required for compiling this sample. Ensure that the version requirements are met:
50 50 
@@ -67,7 +67,7 @@ GTEST_API_ int main(int argc, char **argv)
67 // case1: 仅执行ST_ALL_REDUCE_TEST测试套中的st_all_reduce_1shot_boundary_dataCount用例67 // case1: 仅执行ST_ALL_REDUCE_TEST测试套中的st_all_reduce_1shot_boundary_dataCount用例
68 // testing::GTEST_FLAG(filter) = "ST_ALL_REDUCE_TEST.st_all_reduce_1shot_boundary_dataCount";68 // testing::GTEST_FLAG(filter) = "ST_ALL_REDUCE_TEST.st_all_reduce_1shot_boundary_dataCount";
69 69 
70- // case1: 仅执行ST_ALL_REDUCE_TEST测试套中的所有用例70+ // case2: 仅执行ST_ALL_REDUCE_TEST测试套中的所有用例
71 // testing::GTEST_FLAG(filter) = "ST_ALL_REDUCE_TEST.*";71 // testing::GTEST_FLAG(filter) = "ST_ALL_REDUCE_TEST.*";
72 testing::InitGoogleTest(&argc, argv);72 testing::InitGoogleTest(&argc, argv);
73 return RUN_ALL_TESTS();73 return RUN_ALL_TESTS();