[{"data":1,"prerenderedAt":257},["ShallowReactive",2],{"content-doc-\u002Fversion-updates\u002Fen\u002F2_11_en":3},{"id":4,"title":5,"address":6,"body":7,"category":6,"cover":6,"date":246,"description":247,"end_date":6,"extension":248,"href":6,"isTop":249,"meta":250,"navigation":251,"path":252,"seo":253,"series":6,"start_date":6,"state":6,"stem":254,"type":255,"working":6,"__hash__":256},"versionUpdates\u002Fversion-updates\u002Fen\u002F2_11_en.md","MindSpore 2.11 Is Officially Released, Enabling Efficient MXFP8 Low-Precision Training for Ascend 950",null,{"type":8,"value":9,"toc":227},"minimark",[10,14,17,20,23,26,31,36,39,44,47,51,54,58,61,65,68,78,87,91,94,97,100,105,111,115,118,121,124,127,130,135,141,145,148,152,155,159,162,167,171,175,178,181,184,189,192,195,201,205,209,212,215,218,221],[11,12,13],"p",{},"After months of development and contributions from the MindSpore open-source community, the MindSpore 2.11 framework is now available.",[11,15,16],{},"MindSpore HyperParallel, a supernode affinity parallel framework, supports MXFP8 low-precision training acceleration for Ascend 950, accelerating forward and backward propagation. The Multicore parallel framework is released to speed up the resume training of the entire network by 26.9%. In addition, it supports quick access of Hugging Face models and uses FSDP parameter non-uniform sharding to simplify model adaptation and resume training.",[11,18,19],{},"MindSpore DVM, an Ascend affinity graph mode, supports VF fusion to improve the performance of DVM fusion operators.",[11,21,22],{},"In terms of basic framework evolution, the low-precision operator MXFP8 is supported, improving the performance of large-size matrix computation by up to 54%.",[11,24,25],{},"Now, let's take a closer look at the key features of MindSpore 2.11.",[27,28,30],"h1",{"id":29},"mindspore-hyperparallel-supernode-affinity-parallelism","-- MindSpore HyperParallel: Supernode Affinity Parallelism --",[32,33,35],"h2",{"id":34},"_1ascend-950oriented-mxfp8-low-precision-training-on-demand-access-and-accelerated-forward-and-backward-computation","1Ascend 950–Oriented MXFP8 Low-Precision Training, On-Demand Access, and Accelerated Forward and Backward Computation",[11,37,38],{},"As foundation models grow in size, matrix computation in linear layers and MoE expert modules has become a significant overhead in training. The low-precision computing capability of Ascend 950 provides hardware support for improving training efficiency. However, framework collaboration is still required for model access, forward and backward adaptation, and quantization data management. HyperParallel, oriented to Ascend 950, encapsulates the MXFP8 low-precision capability into a configurable compute module, which supports on-demand replacement of the target module, allowing users to gradually introduce low-precision training.",[40,41,43],"h3",{"id":42},"_11configuring-the-driver-and-accessing-by-module","1.1Configuring the Driver and Accessing by Module",[11,45,46],{},"You can select the target module and low-precision policy through configuration. The framework completes the corresponding replacement in the model construction phase. The modules that are not selected use the original computing path. For Linear, the original weight and bias parameter objects are reused during the replacement process, avoiding reallocating a complete set of weights and reducing the workload of modifying the model code layer by layer. In addition to the general Linear, the framework also supports expert module adaptation to use the low-precision computing capability for MoE group matrix multiplication.",[40,48,50],{"id":49},"_12software-hardware-synergy-covering-forward-and-backward-training-and-computation","1.2Software-Hardware Synergy, Covering Forward and Backward Training and Computation",[11,52,53],{},"The MXFP8 manages scaling information by dividing it into 32-element blocks, converting the required input, weight, and output gradients into low-precision representations. For forward computation, input gradient computation, and weight gradient computation, the unified operator mediation layer calls the low-precision matrix computation capability supported by Ascend 950. The output and gradients are returned based on the precision required by the interface, and the parameter update follows the training configuration. Users can introduce low-precision computation around the object module while retaining the precision policies of other modules.",[40,55,57],{"id":56},"_13on-demand-retention-reducing-redundant-data-residency","1.3On-Demand Retention, Reducing Redundant Data Residency",[11,59,60],{},"The framework manages row-wise and column-wise vectorized data and their scaling information based on the reverse computation requirements, and retains only the representations required for subsequent computation, releasing the directions that are no longer used. The unified quantization and operator adaptation layer simplifies the management of model adaptation and quantized data lifecycle.",[40,62,64],{"id":63},"_14low-precision-test-benefiting-both-forward-and-backward-propagation","1.4Low-Precision Test, Benefiting Both Forward and Backward Propagation",[11,66,67],{},"In the Atlas 950 SuperPoD single-node environment, the MoE module is replaced to perform a comparison test between high-precision and low-precision. The time required for forward and backward propagation of the common MXFP8 is reduced by about 15% and 28%, respectively, compared with that of high-precision BF16. The test uses seq_length=4096, input\u002Foutput dimension 2048, and intermediate dimension 9216. The results show that the performance of high-precision and low-precision models in a single MoE module is significantly improved.",[69,70,72],"div",{"style":71},"text-align: center;",[73,74],"img",{"src":75,"style":76,"alt":77},"\u002Fcategory\u002Finformation\u002Fversion-updates\u002Fbanner\u002Fen\u002F2_11_en\u002F1.jpg","display: block;margin: 0 auto;max-width:60%","",[11,79,80,81],{},"Reference: ",[82,83,84],"a",{"href":84,"rel":85},"https:\u002F\u002Fgithub.com\u002Fmindspore-ai\u002Fhyper-parallel\u002Ftree\u002Fmaster\u002Fhyper_parallel\u002Fcomponents\u002Fquantization",[86],"nofollow",[32,88,90],{"id":89},"_2releasing-the-multicore-parallel-framework-supporting-megamoe-and-other-fusion-kernels-and-accelerating-resume-training-of-the-entire-network-by-269","2Releasing the Multicore Parallel Framework, Supporting MegaMoE and Other Fusion Kernels, and Accelerating Resume Training of the Entire Network by 26.9%",[11,92,93],{},"As foundation models become increasingly complex, the intertwining of communication and computation leads to execution waiting, which hinders training efficiency. In addition, cross-operator fusion requires complex inter-core scheduling and synchronization, increasing development and adaptation costs. To address this issue, HyperParallel has released the Multicore parallel programming framework for Ascend, which integrates communication, matrix computation, and vector computation into a unified task graph and performs fine-grained scheduling based on data dependencies. Developers can reuse existing high-performance operators to reduce repeated development of underlying scheduling and synchronization logic, and more efficiently build and adapt MegaKernel. This reduces development costs while fully utilizing the parallel capabilities of Cube and Vector.",[11,95,96],{},"Based on Multicore, MegaMoE is designed to address the issue of insufficient communication and computation masking in MoE. It integrates expert distribution, matrix computation, activation, and result combination into a unified pipeline, supporting complete forward and backward training. Through interleaved execution between expert groups, MegaMoE improves the overlapping degree of communication and computation, as well as Cube and Vector, reducing device waiting time and improving the efficiency of continuous training on the entire network.",[11,98,99],{},"In the 64-device test environment of the Ascend Atlas 800 A3 supernode, MegaMoE improves the performance of the MoE module by 50.1% and the entire network by 18.3% in DSV4.1 continuous training. When MegaMoE, MegaMHC, and MegaGate are enabled, the resume training performance of the entire network is improved by 26.9%.",[69,101,102],{"style":71},[73,103],{"src":104,"style":76,"alt":77},"\u002Fcategory\u002Finformation\u002Fversion-updates\u002Fbanner\u002Fen\u002F2_11_en\u002F2.jpg",[11,106,80,107],{},[82,108,109],{"href":109,"rel":110},"https:\u002F\u002Fgithub.com\u002Fmindspore-ai\u002Fhyper-parallel\u002Fblob\u002Fmaster\u002Fhyper_parallel\u002Fcore\u002Fmulticore\u002FREADME.md",[86],[32,112,114],{"id":113},"_3quick-access-to-hugging-face-models-and-flexible-configuration-of-training-policies","3Quick Access to Hugging Face Models and Flexible Configuration of Training Policies",[11,116,117],{},"As Hugging Face models are continuously updated, the model structure and pre-trained weights are becoming easier to obtain. However, to use a new model for cluster training, you still need to configure parallel policies, optimize graphics memory, access data, and resume training from breakpoints.",[11,119,120],{},"HyperParallel provides E2E training capabilities for the Hugging Face ecosystem. It reuses the existing model structure and computing implementation, and injects capabilities such as operator replacement, parallel splitting, and recomputation through the mediation layer, decoupling the model implementation from distributed training policies.",[11,122,123],{},"You can specify the model, data, optimizer, and parallel strategy in the YAML configuration file. HyperParallel then builds training components and starts the training job based on the configuration. For an adapted model, developers can adjust the TP, CP, EP, FSDP, and activation recomputation settings based on the computing resources, without repeatedly modifying the main code of the model. The loss, throughput, graphics memory, and checkpoints help determine the training status. The decoupling of model code from training strategies makes it easier to migrate and optimize training solutions in different environments.",[11,125,126],{},"Based on the unified model access mechanism, HyperParallel is adapted to models such as Kimi and DeepSeek, and reuses the existing parallelism, graphics memory optimization, and training components to facilitate quick access of new models.",[11,128,129],{},"In the Qwen3-30B-A3B training comparison on the Ascend Atlas 800 A3 supernode, the two solutions use the same configuration and have the same loss convergence trend. When HyperParallel-FSDP2+Muon is used, the training throughput increases by more than 200% compared with that of PyTorch-FSDP2+Muon.",[69,131,132],{"style":71},[73,133],{"src":134,"style":76,"alt":77},"\u002Fcategory\u002Finformation\u002Fversion-updates\u002Fbanner\u002Fen\u002F2_11_en\u002F3.jpg",[11,136,80,137],{},[82,138,139],{"href":139,"rel":140},"https:\u002F\u002Fgithub.com\u002Fmindspore-ai\u002Fhyper-parallel\u002Ftree\u002Fmaster\u002Fexamples\u002Ftraining_demo",[86],[32,142,144],{"id":143},"_4fsdp-supports-non-uniform-parameter-sharding-simplifying-model-access-and-resume-training","4FSDP Supports Non-uniform Parameter Sharding, Simplifying Model Access and Resume Training",[11,146,147],{},"FSDP supports non-uniform parameter sharding. When dimension 0 of parameters cannot be exactly divided by the number of shards, the framework automatically handles the differences in shard lengths across devices. You do not need to modify the model structure to meet the exact division constraint, or manually write code for padding, cropping, and communication adaptation. Instead, you can continue using the existing FSDP access method, reducing the complexity of model migration and maintenance.",[40,149,151],{"id":150},"_41automatic-communication-padding-with-the-computation-remaining-unchanged","4.1Automatic Communication Padding, with the Computation Remaining Unchanged",[11,153,154],{},"The framework constructs a padding buffer of a unified length. After AllGather aggregates the shards of the same length, the padding area is removed to restore the original parameters. In the backward propagation, ReduceScatter is performed after the gradients are padded with zeros for alignment, and then the valid gradients of each device are extracted for optimizer update. For example, if 7 rows of parameters are sharded to 4 devices, the actual shards contain 2, 2, 2, and 1 rows. The communication is aligned based on 2 rows per device.",[40,156,158],{"id":157},"_42dcp-adaptation","4.2DCP Adaptation",[11,160,161],{},"The distributed checkpoint (DCP) supports saving and loading of non-uniformly sharded parameters and optimizer states, and records and restores valid data based on the global shape, shard offset, and actual size. After loading, the communication buffer is rebuilt to reduce the adaptation workload for resume training.",[69,163,164],{"style":71},[73,165],{"src":166,"style":76,"alt":77},"\u002Fcategory\u002Finformation\u002Fversion-updates\u002Fbanner\u002Fen\u002F2_11_en\u002F4.jpg",[27,168,170],{"id":169},"ascend-affinity-graph-mode-mindspore-dvm","-- Ascend Affinity Graph Mode: MindSpore DVM --",[32,172,174],{"id":173},"_5supporting-vf-fusion-and-improving-the-performance-of-dvm-fused-operators","5Supporting VF Fusion and Improving the Performance of DVM Fused Operators",[11,176,177],{},"During model execution, consecutive vector computation is often accompanied by repeated transfer of intermediate data. Graph-level operator fusion combines multiple operators for execution, reducing the kernel startup and read\u002Fwrite of intermediate results in the global memory. The Ascend 950 further opens up the programmable vector register capability and uses vector functions (VFs) to organize register-level computation. Even if multiple operators are fused into the same kernel, intermediate results may still be written back to the unified buffer (UB) and then reloaded between computation steps. VF fusion combines compatible computations and their loops, so that intermediate results can be directly consumed in registers as much as possible, reducing redundant transfer, synchronization, and VF calling overheads.",[11,179,180],{},"DVM draws on the experience of MindSpore AKG and uses the cluster + split policy to control fusion patterns and boundaries. DVM organizes compatible compute nodes into candidate clusters, and then determines the fusion scope based on the dependency, input\u002Foutput interfaces, and resource constraints. If required, the fusion scope is split into multiple subregions that are suitable for VF execution, achieving a balance between reducing data transfer and control resource overheads.",[11,182,183],{},"In terms of implementation, DVM innovatively generates the corresponding VFs for simple fusion logic in advance, and then obtains the function addresses and establishes mappings through aclrtGetFunctionAddr for runtime calling. This enables DVM to obtain register-level fusion benefits while avoiding introducing VF JIT compilation overhead into the operator compilation path, thereby maintaining the microsecond-level operator compilation capability.",[69,185,186],{"style":71},[73,187],{"src":188,"style":76,"alt":77},"\u002Fcategory\u002Finformation\u002Fversion-updates\u002Fbanner\u002Fen\u002F2_11_en\u002F5.jpg",[11,190,191],{},"Figure: Fusion from graph level to VF register level. The third line uses the cast operation from FP16 to FP32 as an example. Before the cast operation, the split is performed, the FP16 computation forms a VF, and the cast operation and subsequent FP32 computation form another VF.",[11,193,194],{},"The test shows that after VF fusion is enabled, the time consumed by the vector part of SiLU decreases by 55.9%, and that of GELU decreases by 61.7%.",[11,196,80,197],{},[82,198,199],{"href":199,"rel":200},"https:\u002F\u002Fatomgit.com\u002Fmindspore\u002Fdvm",[86],[27,202,204],{"id":203},"continuous-evolution-of-the-basic-framework","-- Continuous Evolution of the Basic Framework --",[32,206,208],{"id":207},"_6supporting-mxfp8-low-precision-operators-to-improve-the-computing-performance-of-large-sized-matrices-by-up-to-54","6Supporting MXFP8 Low-Precision Operators to Improve the Computing Performance of Large-sized Matrices by up to 54%",[11,210,211],{},"The rapid development of LLMs is hindered by the efficiency bottleneck of massive matrix computation. Low-precision computation, which reduces the bit width and data transfer overhead, has become the key to fully utilizing hardware computing power. In MindSpore 2.11, the MXFP8 low-precision operator is added, covering dynamic quantization, quantized matrix multiplication, and group matrix multiplication, to provide low-precision support for core computation modules in LLM training. The MXFP8 uses the fine-grained shard scaling technology to group every 32 elements in the quantization direction, and uses FP8 data with the E8M0 scaling factor for representation. Different data blocks use independent scaling factors, which reduce the data bit width and adapt to their respective value ranges, providing a basis for efficient matrix computation.",[11,213,214],{},"Based on the computation requirements of Dense Linear, MindSpore provides single-axis and dual-axis dynamic quantization capabilities. In PyNative dynamic graph mode, developers can quantize the FP16\u002FBF16 input and weights to FP8 data, and then complete the computation through quantized matrix multiplication, and output results of types such as BF16. Dual-axis dynamic quantization can also generate two sets of quantized representations by row and by column at a time. This allows the upper-layer training logic to select the required data representation for forward, input gradient, and weight gradient computation, and access low-precision matrix computation in different directions.",[11,216,217],{},"For MoE models, MindSpore further provides group dynamic quantization and group matrix multiplication capabilities. Considering that different experts receive different numbers of tokens, developers can organize quantization and computation based on the expert group information, and apply the low-precision capability to the expert computation module, providing more complete basic operator support for the Dense and MoE architectures.",[11,219,220],{},"In the large-size matrix computation test, the MXFP8 operator demonstrates significant performance advantages. The fixed matrix dimensions K and N are both 4096. When M is 2048, 8192, or 16384, the MXFP8 compute link, which includes the overhead of dynamic quantization of inputs and weights, delivers a performance improvement of 42.6% to 53.9% compared with the BF16 path. When M is 8192, the computation time is reduced from 0.6445 ms to 0.4187 ms, and the computation speed reaches about 1.54 times that of the BF16 path. This demonstrates the acceleration value of MXFP8 in large matrix computation scenarios.",[11,222,80,223],{},[82,224,225],{"href":225,"rel":226},"https:\u002F\u002Fatomgit.com\u002Fmindspore\u002Fmindspore",[86],{"title":77,"searchDepth":228,"depth":228,"links":229},4,[230,238,239,240,244,245],{"id":34,"depth":231,"text":35,"children":232},2,[233,235,236,237],{"id":42,"depth":234,"text":43},3,{"id":49,"depth":234,"text":50},{"id":56,"depth":234,"text":57},{"id":63,"depth":234,"text":64},{"id":89,"depth":231,"text":90},{"id":113,"depth":231,"text":114},{"id":143,"depth":231,"text":144,"children":241},[242,243],{"id":150,"depth":234,"text":151},{"id":157,"depth":234,"text":158},{"id":173,"depth":231,"text":174},{"id":207,"depth":231,"text":208},"2026-10-30","Supports MXFP8 low-precision training acceleration for Ascend 950, accelerating forward and backward propagation. The Multicore parallel framework is released to speed up the resume training of the entire network by 26.9%. In addition, it supports quick access of Hugging Face models and uses FSDP parameter non-uniform sharding to simplify model adaptation and resume training.","md",false,{},true,"\u002Fversion-updates\u002Fen\u002F2_11_en",{"title":5,"description":247},"version-updates\u002Fen\u002F2_11_en","version-updates","OIrNMDLNlRnJf4mfWPT_ho1cx1ngLdTvRTwpI4tcZkc",1793827831809]