CANN/hccl实验目录说明

📅 2026/7/4 7:11:49
CANN/hccl实验目录说明
experimental/ — Developer Experiment and Contribution Directory【免费下载链接】hccl集合通信库Huawei Collective Communication Library简称HCCL是基于昇腾AI处理器的高性能集合通信库为计算集群提供高性能、高可靠的通信方案项目地址: https://gitcode.com/cann/hccl1. PurposeTheexperimental/directory provides anexperimental spacefor the HCCL community. The following table describes the differences from the mainsrc/directory:src/experimental/GoalProduction-grade codeRapid prototype validationReviewRFC SIG reviewRFC SIG reviewQualityProduction-gradePrototype-gradeStabilityAPI stability guaranteedNot guaranteed2. Directory Structureexperimental/ │ ├── ops/ # Extended HCCL communication operators └── eco_system/ # Ecosystem tools and peripheral innovations around HCCLExpansion rule: New categories must be added as subdirectories under the corresponding major category. To add a top-level directory, SIG discussion is required.3. Contribution Process3.1 Quick Contribution (experimental)Step 1: Determine the category ├── Modifying the HCCL library internals? → ops/ └── Building tools around HCCL? → eco_system/ Step 2: Create a subdirectory ops/category/project_name/ or eco_system/category/project_name/ Step 3: Write a README.md (required) Include at least: motivation, design, usage, status, and limitations Step 4: Submit a PR Title: [experimental] ops|eco_system/category/project: brief description Target branch: master (directly merged into experimental/) Review criteria: ✅ Correct directory location ✅ Complete README.md ✅ Code does not modify any files outside experimental/4. Subdirectory TemplatesMinimum Templateexperimental/ops|eco_system/category/project_name/ ├── README.md # Required └── ... # Other files can be organized freelyRecommended Template (C Project)experimental/ops|eco_system/category/project_name/ ├── README.md # Required: motivation, design, usage, status, limitations ├── CMakeLists.txt # Recommended: independent compilation ├── src/ # Source code ├── include/ # Header files (if any) ├── test/ # Tests (recommended) └── example/ # Usage examples (recommended)5. Runtime SwitchTo prevent experimental contributions from being accidentally enabled and affecting the main code, the contributed feature must be controlled through a runtime switch:Switch naming: Environment variableHCCL_EXPERIMENTAL_NAMEtrue, whereNAMEuses uppercase letters separated by underscores (consistent with the feature name).Enablement pattern: Provide anIsXxxEnabled()function at the project entry point (the function name is not mandatory), with the following internal logic:bool IsXxxEnabled() { constexpr bool xxxEnabled false; // Default false if (!xxxEnabled) return false; const char* env getenv(HCCL_EXPERIMENTAL_NAME); return env std::string(env) true; }The constant value defaults tofalse. The constant has higher priority: when the constant isfalse, the function directly returnsfalse.When the constant istrue, check whether the environment variable istrue. If so, enable the feature.The feature entry point must be guarded withif (IsXxxEnabled()) { ... }.6. Maintenance PolicyPolicyDescriptionStabilityExperimental code does not guarantee API stability and can be changed at any time.Quarterly reviewMaintainers scan quarterly and mark projects with no activity for 6 months asstale.Code standardsIt is recommended to follow the CANN community standards, but they are not mandatory.Issue trackingExperimental project issues are declared in the project README and do not occupy the main Issue tracker.Stale CriteriaNo commits in the last 6 months.No Issue or PR activity in the last 6 months.The Status in the README indicates completion or no follow-up plans.【免费下载链接】hccl集合通信库Huawei Collective Communication Library简称HCCL是基于昇腾AI处理器的高性能集合通信库为计算集群提供高性能、高可靠的通信方案项目地址: https://gitcode.com/cann/hccl创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考