已合并
【modifiy docs】修改英文文档中的非标准英文字符,统一翻译术语 #2711
zangyan创建于 18 天前
【modifiy docs】修改英文文档中的非标准英文字符,统一翻译术语 #2711
已合并
共 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 implementation | 44 | | ├── broadcast # Broadcast operator implementation |
| 45 | | ├── interface_graph_mode # Graph mode interface implementation | 45 | | ├── interface_graph_mode # Graph mode interface implementation |
| 46 | | ├── op_common # Common operator components | 46 | | ├── op_common # Common operator components |
| 47 | -| │ ├── executor # Executor | 47 | +| │ ├── executor # Executor |
| 48 | -| │ ├── selector # Algorithm selector | 48 | +| │ ├── selector # Algorithm selector |
| 49 | -| │ ├── template # Algorithm template | 49 | +| │ ├── template # Algorithm template |
| 50 | -| │ └── topo # Communication domain topology information acquisition and conversion | 50 | +| │ └── topo # Communication domain topology information acquisition and conversion |
| 51 | | ├── recv # Recv operator implementation | 51 | | ├── recv # Recv operator implementation |
| 52 | | ├── reduce # Reduce operator implementation | 52 | | ├── reduce # Reduce operator implementation |
| 53 | | ├── reduce_scatter # ReduceScatter operator implementation | 53 | | ├── 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 Control | 7 | ## 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 [A–Recommended 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 [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 [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 Statement | 13 | ## 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/CD | 19 | #### 1. Training Reproducibility and CI/CD |
| 20 | 20 | ||
| 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. | 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 non‑deterministic, 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 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. | 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 floating‑point 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 open‑source 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 | -- **DeepSpeed‑Chat** 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 Invariance | 33 | #### 3. Inference Consistency and Batch Invariance |
| 34 | 34 | ||
| 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. | 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 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)) | 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 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)) | 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 Support | 41 | #### 4. Ecosystem API and Framework Support |
| 42 | 42 | ||
| 43 | The demand for determinism is reflected in the official APIs and configuration flags of major ML frameworks: | 43 | The 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**: Large‑model fine‑tuning 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 HCCL | 50 | ### 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. Even‑numbered ranks (0, 2, 4, 6) send data, while odd‑numbered 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 Structure | 15 | ## Directory Structure |
| 16 | 16 | ||
| @@ -27,9 +27,9 @@ This sample demonstrates how to use the `HcclSend()` and `HcclRecv()` APIs to im | |||
| 27 | This sample supports the following products in a single-server N-card configuration (N >= 2, even number): | 27 | This 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 Variables | 34 | ### Setting Environment Variables |
| 35 | 35 | ||
| @@ -27,9 +27,9 @@ This sample demonstrates how to use the `HcclBatchSendRecv()` API to implement p | |||
| 27 | This sample supports the following products in a single-server N-card configuration (N >= 2): | 27 | This 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 Variables | 34 | ### Setting Environment Variables |
| 35 | 35 | ||
| @@ -27,9 +27,9 @@ This sample demonstrates how to call the `HcclAllReduce()` API to perform an `Al | |||
| 27 | This sample supports the following products in a single-server N-card configuration (N >= 2): | 27 | This 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 Variables | 34 | ### Setting Environment Variables |
| 35 | 35 | ||
| @@ -27,9 +27,9 @@ This sample demonstrates how to use the `HcclBroadcast()` API to perform the Bro | |||
| 27 | This sample supports the following products in a single-server N-card configuration (N >= 2): | 27 | This 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 Variables | 34 | ### Setting Environment Variables |
| 35 | 35 | ||
| @@ -56,7 +56,7 @@ make test | |||
| 56 | 56 | ||
| 57 | ## Sample Output | 57 | ## 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 | ``` |
| 62 | Found 8 NPU device(s) available | 62 | Found 8 NPU device(s) available |
| @@ -27,9 +27,9 @@ This sample demonstrates how to use the `HcclAllGather()` API to perform the All | |||
| 27 | This sample supports the following products in a single-server N-card configuration (N >= 2): | 27 | This 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 Variables | 34 | ### Setting Environment Variables |
| 35 | 35 | ||
| @@ -27,9 +27,9 @@ This sample demonstrates how to use the `HcclReduceScatter()` API to perform the | |||
| 27 | This sample supports the following products in a single-server N-card configuration (N >= 2): | 27 | This 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 Variables | 34 | ### Setting Environment Variables |
| 35 | 35 | ||
| @@ -27,9 +27,9 @@ This sample demonstrates how to use the `HcclReduce()` API to perform the Reduce | |||
| 27 | This sample supports the following products in a single-server N-card configuration (N >= 2): | 27 | This 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 Variables | 34 | ### Setting Environment Variables |
| 35 | 35 | ||
| @@ -27,9 +27,9 @@ This sample demonstrates how to call the `HcclAlltoAll()` API to perform an `All | |||
| 27 | This sample supports the following products in a single-server N-card configuration (N >= 2): | 27 | This 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 Variables | 34 | ### Setting Environment Variables |
| 35 | 35 | ||
| @@ -27,9 +27,9 @@ This sample demonstrates how to use the `HcclAlltoAllV()` API to perform the All | |||
| 27 | This sample supports the following products in a single-server N-card configuration (N >= 2): | 27 | This 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 Variables | 34 | ### Setting Environment Variables |
| 35 | 35 | ||
| @@ -27,8 +27,8 @@ This sample demonstrates how to use the `HcclAlltoAllVC()` API to perform the Al | |||
| 27 | This sample supports the following products in a single-server N-card configuration (N >= 2): | 27 | This 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 Variables | 33 | ### Setting Environment Variables |
| 34 | 34 | ||
| @@ -27,9 +27,9 @@ This sample demonstrates how to use the `HcclScatter()` API to perform collectiv | |||
| 27 | This sample supports the following products in a single-server N-card configuration (N >= 2): | 27 | This 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 Variables | 34 | ### Setting Environment Variables |
| 35 | 35 | ||
| @@ -56,7 +56,7 @@ make test | |||
| 56 | 56 | ||
| 57 | ## Sample Output | 57 | ## 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 | ``` |
| 62 | Found 8 NPU device(s) available | 62 | Found 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 Preparation | 12 | ## Environment Preparation |
| @@ -16,9 +16,9 @@ This sample demonstrates how to perform an AllReduce operation using the PyTorch | |||
| 16 | This sample supports the following products in a single-server N-card configuration (N >= 2): | 16 | This 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 | ||
| 23 | This sample depends on the following Python packages: | 23 | This sample depends on the following Python packages: |
| 24 | 24 | ||
| @@ -4,7 +4,7 @@ | |||
| 4 | 4 | ||
| 5 | This sample demonstrates how to perform an AllReduce operation using the TensorFlow interface. It covers the following functions: | 5 | This 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 Preparation | 9 | ## Environment Preparation |
| 10 | 10 | ||
| @@ -13,9 +13,9 @@ This sample demonstrates how to perform an AllReduce operation using the TensorF | |||
| 13 | This sample supports the following products in a single-server 8-card configuration: | 13 | This 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 | ||
| 20 | Note: This sample code is developed based on TensorFlow 1.x and is not compatible with TensorFlow 2.x. TensorFlow 1.15.0 is recommended. | 20 | Note: 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 | ||
| 44 | This sample supports the following products in a single-server N-card configuration (N >= 2, even number): | 44 | This 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 | ||
| 49 | The following software dependencies are required for compiling this sample. Ensure that the version requirements are met: | 49 | The 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 | ||
| 41 | This sample supports the following products in a single-server N-card configuration (N >= 2): | 41 | This 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 Package | 47 | ### 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 | ||
| 45 | This sample supports the following Ascend products in a single-server N-card configuration (N >= 2): | 45 | This 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 | ||
| 49 | The following software dependencies are required for compiling this sample. Ensure that the version requirements are met: | 49 | The 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(); |