SDK release notes

更新时间:
复制 MD 格式

PPU SDK v1.5.3 release notes

1. Key features and bug fixes

  • Features:

    • Supports VLLM-V0.9.1

    • Supports SGLang-V0.4.7

    • Supports flashinfer 0.2.6.post1

  • Performance optimization:

    • sailSHMEM: Improved put and atomic latency by approximately 15% on a 2-node, 2-card setup using the ibgda path.

  • Important bug fixes:

    • [acext]: Fixed an accuracy issue in the w8a8-int8 gemm API caused by passing a bias.

    • [acext]: Fixed a Python API crash in int8_gemm during CUDA Graph Capture.

    • [acompute]: Fixed an issue where batchnorm2d returned a NaN error.

    • [torch profiler]: Fixed abnormal performance data from the torch profiler in a PyTorch 2.6 environment.

    • [DeepEP]: Fixed a random hang issue in internode kernel mode 0 during multi-node operations.

2. Known issues

  • When using the generate API in SGLang v0.4.7, inference may produce incorrect responses. As a workaround, users can use the OpenAI-compatible API.

  • vLLM v0.9.1 estimates less available KV cache space compared to v0.8.5. This can reduce concurrency and affect performance in scenarios constrained by the KV cache, such as running DeepSeek-R1-bf16 on a single-node Zhenwu 810E.

    • We recommend running the W8A8 quantized model on Zhenwu 810E to avoid this performance degradation.

  • When running DeepSeek-R1 or DeepSeek-V3 W8A8-INT8 models, SGLang v0.4.7 enables shared experts by default, whereas SGLang v0.4.6.post1 does not. This results in lower performance for SGLang v0.4.7. You can disable shared experts in SGLang v0.4.7 by using the--disable-shared-experts-fusion flag to match the performance of SGLang v0.4.6.post1.

  • In SGLang v0.4.7, setting a large value for--mem-fraction-static can cause adecode out of memory error on a single node due to insufficient GPU memory capacity. For example, this occurs when running DeepSeek-R1 on a single-node Zhenwu 810E. This is a known community issue.

PPU SDK v1.5.2 release notes

1. New features and bug fixes

  • New features:

    • Released PPU SGLang 0.4.6 to support inference on Qwen3-235B-A22B and DeepSeek V3/R1 A8W8 (int8) models.

    • DeepGemm:

      • Added support for BF16/int8 contiguous and masked APIs.

      • The int8 API now supports channel-wise quantization (block-wise quantization is not yet supported).

      • Supports built-in performance tuning rules and Python JIT tuning.

    • Added sample code for a8w8 block-wise quantization to cutlass3.

    • Interconnect communication library:

      • sailSHMEM:

        • Enabled automatic optimal network card detection on the 16-card Zhenwu 810E platform, eliminating the need to specify environment variables.

        • The IBRC path now supports multi-QP settings and includes new APIs for per-QP data transfer and synchronization.

        • Improved single-node point-to-point (pt2pt) performance, boosting get_bw by more than 3x.

        • Refactored the code structure to reduce version dependencies on CUDA header files.

      • DeepEP:

        • Removed hardcoded network card affinity settings.

        • Improved the performance of the internode kernel (IBRC path). Performance on 2-, 4-, and 8-node setups now approaches that of mode 0 (IBGDA).

        • Improved single-node performance for the ll kernel, boosting performance by more than 3x on the 16-card Zhenwu 810E platform.

        • Added generic support for the 16-card Zhenwu 810E platform.

  • Software ecosystem:

    • Added support for xformers 0.0.30.

    • Added support for TransformerEngine 2.3.

    • Added support for NeMo v2.1.0.

  • Bug fixes:

    • Fixed an issue in V1.5.1 where Megatron-LM training would hang when saving weights in torch_dist format.

    • Fixed a bug in V1.5.1 that caused model inference to produce incorrect responses when prefix caching was enabled.

    • Fixed an issue that logged a "Failed to create /dev/alixpu node" error when compiling vllm in a non-PPU environment.

2. Known issues

  • DeepEP:

    • The performance of the internode kernel combine feature does not yet match that of the dispatch feature. Optimizations are in progress.

    • The ll kernel now supports the icn link feature. However, you must explicitly set allow_nvlink_for_low_latency_mode to True during buffer initialization.

    • In multi-node DeepEP setups, the internode kernel may experience random hangs when using mode 0 (the ibgda path) and the number of tokens exceeds 16,000. The root cause has not yet been identified.

    • The use of a single DeepEP buffer to handle both ll and internode workloads simultaneously (in scenarios without PD separation) has not been thoroughly tested. This configuration is recommended only for model scenarios where PD is separated.

PPU SDK v1.5.1 release notes

1. Key features and bug fixes

Note

DeepEP and sailSHMEM are not yet available in the PAI and Alibaba Cloud Container Service container images. They are currently supported only in the SDK and are scheduled for inclusion in the next container image release.

  • Features:

    • Introduced the PPU version of DeepEP.

      Note

      You must use this feature with the latest v1.5.1 KMD (Kernel-Mode Driver). Using DeepEP with older KMD versions is known to cause random crashes.

    • Introduced the PPU version of sailSHMEM.

    • Introduced the PPU version of DeepGemm, which currently supports only BF16.

      Note

      The acext acceleration library implements the DeepGemm APIs.

    • computation library: This release includes an updated libacext.so with support for FusedMOE, Gemm, and FusedMOE A8W8 (int8) computations, further improving the int8 quantized inference performance of LLMs.

    • interconnect library PCCL (PAI Communication Collective Library):

      • Optimized alltoall performance for small message sizes in multi-node environments. On multi-node setups with Zhenwu 810E and commercial GPUs, the average performance for data sizes between 32 KB and 8 MB improves by over 60% compared to the previous version.

      • Improved the pccl hang monitor feature to better manage local disk space usage.

  • software ecosystem:

    • VLLM:

      • Released PPU-VLLM v0.8.3.

      • Released PPU-VLLM v0.8.5.

        Note
        • This release builds on PPU-VLLM v0.8.3 to add support for Deepseek-V3/R1 W8A8 and Qwen3.

        • PPU-VLLM improves the inference performance for Deepseek-V3/R1 and Qwen3 by adding the acext MOE backend.

    • SGLang:

      • Released PPU-SGLang v0.4.4.post3.

      • Released PPU-SGLang v0.4.6.

        Note

        PPU-SGLang improves the inference performance for Deepseek-V3/R1 and Qwen3 by adding the acext MOE backend.

    • Updated PPU MODEL ZOO to v1.5.1.

    • TransformerEngine: v2.1

    • DeepSpeed: v0.16.5

    • Megatron-Core: v0.11.0

  • New models:

    • Qwen2.5-Omni

    • Llama 4

    • Qwen3 Dense and MOE series (runnable on VLLM v0.8.5 and SGLang v0.4.6).

      Note

      VLLM v0.8.5 and SGLang v0.4.6 were released recently and have not been fully tested on PPU.

  • Bug fixes:

    • PCCL: Fixed an issue where symbol lookup errors caused the oneShot and twoShot algorithms in the pccl ext-kernel plugin to fail in some scenarios.

    • HGGC: Fixed an illegal memory access issue when running demos with TensorFlow 2.15.1 and tfra 0.8.1.

2. Known issues

  • The performance of Qwen3-235B-A22B will be further optimized in a future release.

  • The SGLang framework does not currently support A8W8-int8 quantized inference. As a result, performance data for the Qwen3 model with A8W8-int8 quantization is not yet available. The T-Head development team is working on this feature, and support is expected soon.

  • VLLM v0.8.5 and SGLang v0.4.6 were released recently and have not been fully tested on PPU.

  • If you build sglang v0.4.6.post1 from source instead of using the published Docker image, ensure that the libth_op.so file exists in the /usr/local/PPU_SDK/lib/th_op/ path. This is because sglang 0.4.6.post1 integrates ppu deepep and ppu deepgemm. If the file does not exist, you can build and install acext from source (for more information, see acext User Guide). After the build is complete, copy the <path-to-acext>/build/thop/libth_op.so file to the /usr/local/PPU_SDK/lib/th_op/ path.

  • For other known issues, see the release notes for v1.5.

PPU SDK v1.5 release notes

1. Overview

1.1 Software stack

image

  • The PPU software stack helps CUDA application developers reduce costs and improve efficiency.

  • The software is delivered in three layers: framework packages and models compatible with the CUDA ecosystem, software packages compatible with the CUDA SDK, and the T-Head SAIL SDK package.

1.2 Core components

Component

Description

Firmware

PPU firmware

KMD

PPU kernel driver

UMD / HGGC

PPU user-mode driver and runtime

Compiler

PPU compiler toolchain

Acompute

PPU compute acceleration library

Acext

PPU quantization acceleration library

PCCL

PPU communication acceleration library

PPU SMI

PPU device management tool

PPU DCGM

PPU online monitoring tool

Asight Systems

PPU performance analysis tool

Asight Compute

PPU performance analysis tool

PPU GDB

PPU debugging tool

PPU MemCheck

PPU Sanitizer tool

PPU hgobjdump

PPU device binary tool

CUDA SDK Wrapper

CUDA API compatibility library

1.3 Key features

1.3.1 Firmware
  • Supports installation via binary packages (rpm or deb).

  • Supports dynamic power management. By default, the PPU firmware dynamically adjusts the core frequency (from 200 MHz to the maximum operating frequency) and operating voltage based on real-time workload, temperature, and power consumption data.

  • Supports PPU frequency locking. For details, see PPU SMI Device Management Tool.

  • Supports secure firmware signing and dual firmware backup to ensure firmware security and reliability.

  • Supports firmware upgrades for the power chip.

  • Supports BMC out-of-band management, including device status monitoring and out-of-band firmware upgrades.

1.3.2 Kernel driver
  • Supports installation via binary packages (rpm or deb) and runfile packages.

  • Supports decoupling the kernel driver from the PPU SDK. You can mix and match any kernel driver and PPU SDK version from v1.0 onwards.

  • Supports various hardware configurations, including single-node single-card, single-node 8-card/16-card (ICN interconnect), multi-node multi-card (ICN interconnect), and multi-node multi-card (GDR). Before using GDR, ensure the alixpu-peermem kernel module, included with the PPU kernel driver, is installed on your system.

  • Supports PPU fault reporting and handling.

  • Supports the auto-reset feature. When the driver detects a kill overtime or cp invalid cmd error, it automatically resets the PPU device to restore normal operation. This feature is enabled by default. You can use PPU SMI to query its status or disable it.

  • Supports MPS (Multi-Process Service). You can use the ppudbg --config_submit_mode 1/0 command to enable or disable this feature.

  • Supports dynamic scenarios with mixed small-model and large-model workloads in MPS mode.

  • Supports the collection of NVML Generic Performance Metrics (GPM), including SM utilization, SM occupancy, Tensor Core utilization, memory bandwidth utilization, PCIe read/write rates, and ICN link read/write rates.

  • Supports MIG (Multi-Instance GPU), which allows a PPU to be partitioned into up to eight instances. Note that the ICN interconnect feature is unavailable when MIG is enabled.

  • Supports full-card passthrough virtualization. You can unbind the PPU driver on the host and pass the device directly to a virtual machine. When using this feature, ensure ICN is isolated between different VMs.

  • Supports hot upgrades of the host driver in SR-IOV virtualization mode, allowing you to update the host PPU driver while services are running in virtual machines.

  • Supports hot migration of virtual machines in SR-IOV virtualization mode. This feature is limited to single-card setups; hot migration with ICN interconnect is not yet supported.

  • Adds official support for single-node 16-card Zhenwu 810E configurations and optimizes the default PPU device order (sorted by physical slot from the rear of the chassis).

  • Adds GPM collection for L1/L2 cache hit rates, which can be queried using the DCGM tool.

  • Adjusts the logical ID numbering rule for 16-card Zhenwu 810E devices to improve interconnect performance.

  • Adds support for querying the status of dynamic mixed workloads in MPS mode.

  • Adds support for querying Xid error information.

  • Adds support for querying and managing the GPM status (enable/disable).

  • Disables Xid error reporting for HBM parity errors.

1.3.3 User-mode driver and runtime
  • Compatible with most CUDA Runtime APIs (cudaXXX) and CUDA Driver APIs (cuXXX).

  • Adds more detailed error logs for Xid 896 errors to aid in diagnosis.

  • Optimizes the performance of 2D/3D cudaMemcpy and cudaMemset operations.

  • Supports the Stream Memory Operation APIs v2.

  • Supports graph management APIs for edge data.

  • Supports basic texture features.

  • Supports basic texture features.

  • Optimized PPU performance when CUDA_DEVICE_MAX_CONNECTIONS=1.

  • Supports the cuCtxCreate_v3 API.

  • Ensures that printf output from device code is correctly displayed after an exception occurs.

  • Supports the HGGC_EXCLUSIVE_STREAMS environment variable for mapping stream groups to different hardware queues.

  • Fixes an issue where CUDA Graph does not support cooperative kernel nodes.

1.3.4 Compiler
  • This release provides a compiler for an extended C/C++ language based on the Clang/LLVM framework. This compiler is designed for the PPU architecture, supports a host/device mixed programming style, and is fully compatible with the CUDA C/C++ programming language specification.

  • Provides a rich set of compilation modules that allow developers to flexibly construct compilation workflows and integrate JIT compilation capabilities through API calls.

  • Provides a comprehensive suite of development and debugging tools, including hgobjdump, PPU MemCheck, PPU GDB, sanitizer libraries, and hgprune, to improve developer productivity.

  • Supports the system-level reserved shared memory feature.

  • Supports host compiler versions from GCC 5.5 to 14.2 and from Clang 9 to 18.

  • Supports Triton versions 2.3.x, 3.0.x, 3.1.x, and 3.2.x.

  • Provides partial compatibility with sparse MMA PTX instructions.

  • Supports some Texture-related APIs and inline PTX instruction features.

1.3.5 Acceleration libraries

Compute acceleration libraries

  • Proprietary compute libraries include: acdnn, acblas, acfft, acsolver, and acrand.

    • acdnn supports the following operators:

      Conv

      BatchNorm

      Pooling

      Softmax

      Activation

      CTCLoss

      Dropout

      LRN

      LSTM

      GRU

      MultiHeadAttn

      Tensor Ops

      SpartialTransform

      Backend fusion

    • acblas supports the following operators:

      Level-1 series operators

      Gemv

      Gemm

      Matmul + epilogue

      MatrixTransform

      trsm

      getrfBatched

      getrsBatched

      geqrfBatched

      gelsBatched

    • acfft supports R2C/C2R/C2C/D2Z/Z2Z + FFT/iFFT transforms.

    • acsolver supports matrix LU decomposition/solve, Cholesky decomposition/solve, QR decomposition, SVD decomposition, and eigenvalue decomposition.

    • acrand supports:

      • Pseudo-random number generators: XORWOW, MRG32K3A, PHILOX4_32_10.

      • Data distributions: Default, Uniform, Normal, LogNormal.

    • The Acext quantization library supports:

      • Various kernel variants for A16W8/A16W4 with PerChannel/GroupWise quantization.

      • Various kernel variants for A8W8 with PerChannel/PerToken quantization.

      • Acceleration kernels for WeightonlyBatchedGemv with small batch sizes.

      • The following MoE types: FP16/BF16, and a8w8 PerChannel/PerToken.

  • Key updates:

    • Acext: Adds tuning support for DeepSeek MoE.

    • Adds an offline RTC cache mechanism to mitigate performance issues caused by RTC compilation.

    • blasLt: Adds support for Atomics Synchronization in matmul.

    • blas: Further performance tuning for large-model inference scenarios, with operator performance improvements of up to 20%.

    • conv: Adds support for new combinations of activation and weight formats.

    • conv: Adds heuristic-based selection logic for Tensor Core and Vector Core algorithms.

    • conv: Optimizes group conv performance, improving operator performance by up to 33x.

    • conv: Resolves slow performance in non-TensorFlow scenarios when a tensor exceeds 4 GB, improving operator performance by up to 230x.

    • solver: Adds support for new eigenvalue decomposition interfaces: syevd, sytrd, ormtr, and orgtr.

Interconnect acceleration library

  • Compatible with most NCCL APIs (ncclXXX) and environment variables.

  • Supports typical collective operators such as AllReduce, AllGather, ReduceScatter, Broadcast, Reduce, Send, and Recv.

  • Supports most NCCL APIs (ncclXXX) and environment variables.

  • Supports communication between multiple nodes via RDMA (GDR & non-GDR), sockets, and ICN.

  • Performance optimizations:

    • Optimizes alltoall performance in multi-node Zhenwu 810E environments, improving peak throughput by 20% to 60% compared to previous versions. Achieving this performance gain requires configuring specific environment variables.

    • Improves operator performance for input or output buffers that are not 64-byte aligned, improving allgather performance by approximately 40% in such scenarios.

    • Resolves some inconsistencies between the performance of communication operators in models and their standalone benchmark performance. Key operators like allreduce show an approximately 20% improvement in some scenarios.

    • Enhances the topology awareness of oneShot and twoShot kernels for different direct-connect topologies and optimizes performance parameters accordingly.

  • Enhanced debugging features for multi-node, multi-card setups:

    • Enhances monitoring for PPU device kernel execution state.

      • Eliminates the monitoring solution's overhead on kernel execution time.

      • Adds automatic cleanup of old kernel execution state dump files.

      • Adds a configurable PCCL dump directory.

      • Optimizes error message display from monitoring threads to reduce interference with the main task.

    • Adds support for dumping the state of single-node oneShot and twoShot kernels.

    • Adds checks for ICN speed and topology correctness on multi-card Zhenwu 810E products.

  • Adds multi-node support for environments with EIC NICs, for use with the EIC SDK.

  • Adds support for the splitShare feature in communicator-splitting scenarios.

  • Adds initial support for using the DMA engine for multi-card transfers in P2P transport.

  • Adds support for ncclNet plugin v5 and v6.

  • Adds support for the new log subsystem level NCCL_CALL, which prints the PCCL APIs called by the program and their parameters.

  • Enhances hgtx information for PCCL kernels to include the communicator's transport type and kernel input/output buffer information.

  • Fixes some issues with the multi-node, multi-card ICN scale-out feature in multi-node non-ICN connected environments.

  • Fixes an issue where alltoallV would hang in some use cases.

  • Fixes an issue that caused incorrect results when NCCL_MAX_P2P_NCHANNELS was set to a value smaller than NCCL_MAX_NCHANNELS.

  • Fixes a potential internal buffer overflow issue in debug log printing.

  • PCCL tools:

    • DeviceOrderSearch tool:

      • Adds the DeviceOrderSearch tool to determine the optimal visible device order for Megatron framework model training tasks on Zhenwu 810E machines, based on the parallel training configuration.

    • pccl-perf:

      • Supports AllReduce, AllGather, ReduceScatter, AlltoAll, Broadcast, and Reduce.

      • Supports a new method for timing PCCL device kernels based on the hgpti callback mechanism. For more information, see the documentation.

      • Removes the dependency on libmpicxx.so.

    • p2pBandwidthAndLatencyPerf tool enhancement:

      • Supports evaluation of ICN P2P interconnect bandwidth and latency for Zhenwu 810E products on various multi-card interconnect topology servers.

    • pccl-check-tools:

      • Supports readiness checks for Zhenwu 810E products in multi-card or multi-node, multi-card scenarios.

1.3.6 Video and image codec acceleration

Compatible with the NVIDIA Video Codec SDK, including cuvid (decode), nvenc (encode), and nvjpeg. Also compatible with the NVIDIA 2D Image NPP interface. This allows out-of-the-box hardware acceleration for high-level frameworks like FFmpeg, OpenCV, DALI, and PyAV (used by torchvideo, torchvision, etc.), and TorchCodec without requiring code modifications.

Video decode

  • Supports NVIDIA cuvid decoder.

  • Codecs:

    • HEVC (H.265) - ITU-T Rec. H.265 (04/2013), ISO/IEC 23008-2

      • Main Profile, Level 5.1, High Tier

      • Main10 Profile, Level 5.1, High Tier

      • Main Still Profile

    • VP9 - vp9-bitstream-specification-v0.6-20160331-draft

      • Profile 0, 8-bit

      • Profile 2, 10-bit

    • AVC (H.264) - ITU-T Rec. H.264 (03/2010) / ISO/IEC 14496-10

      • Main Profile, levels 1 - 5.2

      • High Profile, levels 1 - 5.2

      • High 10 Profile, levels 1 - 5.2

      • Baseline Profile, levels 1 - 5.2

    • AV1 Bitstream & Decoding Process Specification Version 1.0.0 with Errata 1

      • Main Profile, Level 5.1

    • AVS2

  • Resolution up to 8192x8192

  • Up to 192 FHD streams

Video encode

  • Supports nvenc.

  • Codecs:

    • AVC(H.264):Spec Version 12:ISO/IEC 14496-10 / ITU-T Rec. H.264 (03/2010)

      • Baseline Profile, levels 1 – 5.2

      • Main Profile, levels 1 - 5.2

      • High Profile, levels 1 – 5.2

      • High 10 Profile, levels 1 - 5.2

    • HEVC(H265):ITU-T Rec. H.265 (04/2013), ISO/IEC 23008-2

      • Main Profile, Level 5.1, High Tier

      • Main10 profile, Level 5.1, High Tier

      • Main Still Profile

    • AV1 Bitstream Specification Version 1.0.0 with Errata 1

      • Main Profile, Level 5.1

  • Supports resolutions up to 4K.

  • Supports input in RGB format (converted to YUV420 via inlinePP).

  • Supports crop, scale, and rotate operations with inlinePP.

  • Up to 32 FHD streams

JPEG

  • Supports nvjpeg decoder and encoder.

  • Resolution up to 32Kx32K

  • Supports RGB format input and output with inlinePP.

  • Supports crop, scale, and rotate operations with inlinePP.

  • Up to 960 FPS at UHD resolution.

Image processing

  • Supports NVIDIA 2D Image NPP.

1.3.7 Software tools
  • To meet the monitoring needs of large-scale cloud computing clusters, this release provides the following PPU management and monitoring tools and libraries for integration into customer cluster operations and monitoring systems:

    • The PPU device management tool ppu-smi is similar to nvidia-smi. For details, see PPU SMI Device Management Tool.

    • New features in ppu-smi v1.5 include:

      • Addresses known issues.

      • Adds a description for querying the version information of SDK components.

    • The data center management and monitoring tool PPU DCGM is similar to NVIDIA DCGM. For details, see DCGM Management and Monitoring Tool.

    • New features in PPU DCGM v1.5 include:

      • Adds instructions for using PPU DCGM in a Docker environment.

    • hgml, similar to NVIDIA NVML.

  • We provide the PPU performance analysis tools Asight Systems and Asight Compute (similar to NVIDIA Nsight Systems and Nsight Compute). You can use them to analyze performance for single-node and multi-node training and inference scenarios.

    • Asight Systems is a low-overhead, system-level performance analysis tool. It collects system events, CPU and PPU activity, API execution times and related call stacks, NVTX, and CPU/PPU activity correlations, then presents them in a unified Timeline View. By using the Timeline View, developers can analyze CPU/PPU workloads and their relationships, identify performance bottlenecks, and ensure coordinated operation and maximum parallelism between the CPU and PPU. For details, see Asight Systems Application Performance Analysis Suite.

    • New features in Asight Systems v1.5 include:

      • The asys stats command supports HGTX PPU projection summary statistics.

      • The asys stats command supports statistics for HGGC PPU memory tracking data volume and time consumption.

      • PPU kernel-related statistics in the asys stats subcommand support adding an HGTX range prefix.

      • The HGTX Range Summary in the asys stats subcommand supports filtering by process.

      • PPU trace-related statistics in the asys stats subcommand support specifying a list of PPU devices for which to collect statistics.

      • The asys stats subcommand supports 2 viewing modes for Device Memory Usage Details and 4 viewing modes for Device Memory Usage Summary.

      • The PPU time utilization analysis in the asys analyze subcommand supports a selection mode for specifying a time range.

      • Simplifies the description text in the Asight Systems expert system and statistics system, and adds links to the documentation.

      • Asight Systems now supports limiting the size of generated report files.

      • Asight Systems supports enabling the collection of device and pinned memory usage via the --hggc-memory-usage option.

      • Supports collecting CPU-side dynamically allocated memory usage, and supports memory leak analysis, memory usage statistics, and allocation count statistics.

      • Supports collecting compute resource information associated with the HGGC context when MPS mode is enabled.

      • Memory View supports four viewing modes and flame graphs.

      • Timeline View optimizes the display of PPU activity dependencies.

      • Timeline View supports a grouping feature, allowing you to add timeline rows of interest to a Group View for separate display.

      • Timeline View supports Device Memory Timeline to help users analyze memory usage by module. It supports three modes: normal, group, and group coloring.

      • Timeline View supports a hierarchical display of communication operators.

      • Timeline View displays different kernels in different colors.

      • The Timeline View shows the CPU-side heap memory timeline.

      • The time range tooltip displays the percentage of active and idle time for a PPU.

      • In the Timeline view, hold the Shift key while selecting a time range to snap the selection to the nearest start or end point.

      • Timeline View lets you select multiple timeline rows with Shift or Ctrl.

      • Optimized the performance of Timeline View to fix GUI lag when opening very large reports.

      • The HGGC API supports a mixed display of C and Python call stacks.

  • Asight Compute is a kernel performance analysis tool. It collects PPU hardware performance counters and combines them into a series of performance indicators called metrics. The graphical user interface (GUI) displays these metrics from various perspectives to help you analyze and optimize the kernel in depth. For more information, see Asight Compute Kernel Analyzer.

  • New features in Asight Compute v1.5 include:

    • The Memory Chart on the Details page now supports display by transfer size or throughput.

    • Tooltips for connection links in the Memory Chart on the Details page now show link utilization.

    • Tooltips on the Details page can now be pinned. Once pinned, you can select and copy text from the tooltip.

    • Added Stack Size Per Thread to Launch Statistics on the Details page.

    • Added Driver SharedMemory Per Block to Launch Statistics on the Details page.

    • Updated the Baseline button layout to clarify the function of each button.

    • On the Source page, you can now click branch instructions to navigate to them. The page also supports highlighting all search results.

    • Improved source code resolution on the Source page. The page now automatically resolves other files within the same directory structure.

  • Released the PPU debugging tool PPU-GDB, which lets you debug both GPU and CPU code in the same application. The latest updates are:

    • Optimized the display length of kernel managed names in layout asm mode.

    • Added support for conditional breakpoints on internal variables, such as blockIdx, and on registers.

    • Added support for the GDB Python extension feature (for Python versions 3.6 to 3.10).

    • Added support for trigger behaviors for device kernel breakpoints: single trigger and multiple triggers. The default is single trigger.

  • hgprune is a PPU prune tool used to strip unnecessary information from binary files.

  • Released the hgobjdump PPU Binary tool to extract device information from a binary.

  • Released hgprune, a PPU Prune tool that extracts device-related information from a binary.

1.4 Supported operating systems

Category

Operating system

Architecture

Kernel version

GCC

Ubuntu

Ubuntu 24.04 LTS

x86_64

6.8.0-53-generic

13.3.0

Ubuntu 22.04 LTS

6.2.0-39-generic

11.4.0

Ubuntu 20.04 LTS

5.4.0-131-generic (GA)

9.5.0

5.4.0-92-generic

9.5.0

Ubuntu 18.04 LTS

4.15.0-112-generic (GA)

7.5.0

4.18.0-15-generic

7.5.0

CentOS

CentOS 8.2

5.10.134-007.ali5000.al8.x86_64

8.5.0

Alios

Alios 7U2

5.10.112-005.ali5000.alios7.x86_64

10.2.1

5.10.84-004.ali5000.alios7.x86_6

10.2.1

alippu-driver-4.19.91-014.kangaroo.alios7.x86_64

10.2.1

Afa3

ALinux 3

5.10.134-12.2.al8.x86_64

10.2.1

5.10.134-13.al8.x86_64

10.2.1

1.5 SDK version compatibility

1.5.1 KMD compatibility

Version 1.5 is forward compatible with kmd/mcu_fw from versions 1.3 and 1.4.

1.5.2 Firmware compatibility

Zhenwu 810E requires mcu_fw version 1.2.1 or later.

1.5.3 SDK compatibility

SDK v1.5 introduces four types of adjustments to files, programming APIs, and the compilation environment. These changes can cause incompatibilities when components from previous SDK versions, or components compiled with them, coexist with v1.5. The adjustments are as follows:

  • The libgomp.so and libomp.so files are removed. The SDK now depends on the libgomp.so and libomp.so library files provided by the operating system (OS) environment and the host compiler, such as gcc or clang.

This change can cause older programs to fail in the v1.5 SDK environment, reporting that the required .so files are missing.

  • The compilation command option format is changed from -alippu-xxx to -ppu-xxx.

These options are mainly used for custom compilations. This change can cause compilation errors when compiling mixed-version source code or during Just-In-Time (JIT) execution.

  • Several extended PTX instructions are adjusted:

    1. The alippu.mma.xxx PTX instruction is changed to ppu.mma.xxx.

    2. The alippu.ldmatrix.xxx PTX instruction is changed to ppu.ldmatrix.xxx.

    3. The cp.async.aiu.xxx PTX instruction is changed to ppu.cp.async.aiu.xxx.

  • In the SDK header files, the custom type __ali_bfloat16 is changed to __ppu_bfloat16.

The latter three changes cause compilation issues with some open-source PPU code libraries, such as vllm, cutlass, flash-attn, and flashinfer. Pull the code libraries that are adapted for the v1.5 changes.

In summary, these four adjustments cause compilation and runtime compatibility issues when source code is not updated or when runtime components are partially upgraded. This behavior was confirmed during internal SDK compatibility testing. Deploy your compilation and runtime environments using the complete v1.5 SDK.

Test conclusions

For this test, six commonly used user .whl files were randomly selected across six scenarios, including the Asys and Acu tools. All tests failed as expected.

  • .whl files compiled with older SDK versions are highly likely to be incompatible with the SDK 1.5 image. As a workaround, manually install the libomp library to continue. However, the unit test (UT) pass rate is not guaranteed.

  • .whl files compiled with SDK 1.5 are highly likely to be incompatible with the SDK 1.4 image, and the UTs are highly likely to fail.

  • JIT-type libraries, such as Triton, are confirmed to be incompatible when used with cross-version SDKs.

  • Compiling and installing .whl files with mixed SDK versions is highly likely to cause incompatibility. For example, do not use libraries compiled with mixed SDKs in an SDK 1.4 image. Likewise, do not compile libraries from older versions in an SDK 1.5 image.

  • The SDK 1.5 image is compatible with Asys and Acu reports from SDK 1.4.

1.5.4 asight file compatibility

The output files of asys and acu in v1.5 are compatible with the asys and acu client tools from v1.4.

2. CUDA ecosystem compatibility

2.1 Introduction

To develop applications on the PPU platform, you can use either the PPU SDK APIs or the CUDA language. You must recompile applications written in CUDA with the PPU compiler to run them on a PPU. The following diagram compares compiling and running a CUDA application on a PPU versus a GPU.

Compatibility with the CUDA ecosystem: PPU supports different versions of the CUDA APIs by automatically generating a CUDA SDK Wrapper. This allows you to recompile your CUDA programs with the PPU compiler and run them on a PPU.

This makes PPU and GPU compatible at the source code level. However, PPU binaries are not compatible with GPU binaries.

image

2.2 Compatible CUDA API versions

PPU SDK V1.5 supports CUDA APIs up to version 12.8.0. Due to hardware architecture differences, compatibility is primarily for deep learning workloads. The following table lists the supported versions. For more details, see Compatibility.

CUDA version

11.1

11.2

11.3

11.4

11.5

11.6

11.7

11.8

12.1

12.2

12.3

12.4

12.5

12.6

12.8 preview version

(Passed CUDA Samples and PyTorch 2.6 unit tests, but end-to-end testing with models is incomplete.)

2.3 Supported open-source frameworks and libraries

2.3.1 Supported open-source frameworks and libraries

Open-source framework/library

Version

apex

24.4.1

auto_gptq

0.7.1

bitsandbytes

0.40.0, 0.41.0, 0.42.0, 0.43.0, 0.44.1, 0.45.3

byte_flux

1.0.4, 1.1.1

cumm

0.2.9, 0.5.3

cupy

13.1.0, 13.3.0, 13.4.1

faiss

1.7.3, 1.7.4, 1.8.0

cutlass

2.4, 3.3, 3.4.1, 3.5, 3.6, 3.7

flash-attn

1.0.5, 2.0.9, 2.4.2, 2.4.3, 2.5.0, 2.5.1, 2.5.2, 2.5.3, 2.5.4, 2.5.5, 2.5.6, 2.5.7, 2.5.8, 2.5.9, 2.6.0, 2.6.1, 2.6.2, 2.6.3, 2.7.0, 2.7.1, 2.7.2, 2.7.3, 2.7.4.post1

flashinfer

0.1.0, 0.1.1, 0.1.2, 0.1.6, 0.2.0.post1, 0.2.1.post1, 0.2.2.post1

grouped_gemm

1.1.4

jax_cuda12_pjrt

0.4.34

jax_cuda12_plugin

0.4.34

jaxlib

0.4.34

lightllm

1.0.0

lmdeploy

0.4.2, 0.5.3, 0.6.3, 0.6.4, 0.7.0, 0.7.1

mamba_ssm

2.1.0, 2.2.0, 2.2.1, 2.2.2

mlflow

2.16.1, 2.16.2, 2.17.0, 2.17.1, 2.17.2, 2.18.0

mmcv-full

1.4.2, 1.5.3, 1.6.0, 1.7.2

mmcv

2.0.0, 2.1.0, 2.2.0

mmdet

2.14.0, 2.24.0, 2.26.0, 2.28.2, 3.3.0

mmdet3d

1.17.0, 1.0.0rc4, 1.0.0rc6, 1.4.0

natten

0.17.3, 0.17.5

numba

0.55.0, 0.58.0, 0.59.0, 0.60.0, 0.61.0rc2, 0.62.0dev0

nvidia_dali_cuda120

1.20.0, 1.44.0

onnxruntime_gpu

1.20.0, 1.20.1

onnxruntime_training

1.18.0, 1.19.0, 1.19.2

open3d

0.18.0, 0.19.0

opencv-contrib-python

4.10.0.84

paddlepaddle-gpu

2.6.2

pytorch3d

0.7.6, 0.7.7

sgl_kernel

0.0.2.post8, 0.0.3, 0.0.3.post6, 0.0.5

sglang

0.2.14, 0.4.1, 0.4.2, 0.4.3, 0.4.4.post1, 0.4.4.post3

spconv-cu

2.1.21, 2.2.6, 2.3.6

TensorFlow

2.14.1, 2.17.0, 2.6.3

torch

1.10.0, 1.10.1, 1.8.0, 1.9.0, 1.9.1, 2.0.1, 2.1.0, 2.1.2, 2.2.0, 2.2.1, 2.3.0, 2.3.1, 2.4.0, 2.5.1, 2.6.0

torch_xla

2.3.0, 2.4.0, 2.5.1, 2.6.0

torchao

0.2.0, 0.3.0, 0.4.0, 0.7.0

torchaudio

2.4.0, 2.5.1

torchdata

0.6.1, 0.7.0, 0.7.1, 0.8.0

torchrec

0.7.0

torchtext

0.15.2, 0.16.0, 0.16.2, 0.17.0, 0.17.1, 0.18.0

torchvision

0.10.0, 0.10.1, 0.11.0, 0.11.1, 0.16.2, 0.19.0, 0.20.1

transformer_engine

1.11, 1.12, 1.13, 1.5, 1.7, 2.0

triton

2.1.1, 2.2.0, 3.0.0, 3.1.0, 3.2.0

vllm-flash-attn

2.6.2

vllm

0.6.3.post1, 0.6.4.post1, 0.6.6.post1, 0.7.1, 0.7.2, 0.7.3

xformers

0.0.22, 0.0.25, 0.0.27, 0.0.29.post1

sgboost

1.6.2

OneFlow

0.7.0

MXNet

1.8.0

TorchACC

1.12

HIE-ALLSPARK

1.0.0

BladeDISC

0.21

rtp-llm

0.2.0

triton-inference-server

2.21.0

Megatron-Core

0.5.0, 0.7.0, 0.8.0, 0.9.0

DeepSpeed-Megatron

0.2.0 (d65921c)

DeepSpeed

0.8.0, 0.10.0, 0.12.3, 0.13.1, 0.14.4

Horovod

0.24.2

Ray

2.6.1, 2.8.0

Nemo

1.13.0

NVTabular

0.7.1

rmm

23.2.0a0

torchmetrics(*)

1.4.0

fbgemm

0.7.0

nvidia_dali_cuda110(*)

1.20.0

nvidia_dali_cuda120(*)

1.20.0

wholegraph(*)

24.12.00a

Notes:

  • PyTorch open-source support policy:

    • PyTorch versions 2.1 and earlier are aligned with NGC releases.

    • PyTorch versions 2.1.2 and later are aligned with the PyTorch open-source community release versions.

  • TensorFlow open-source support policy:

  • Frameworks and libraries marked with an asterisk (*), such as torchmetrics(*), are fully aligned with their community open-source versions. They are supported for functionality only and have not been optimized for performance.

  • Other open-source frameworks and libraries are mostly aligned with their community release versions, with a few exceptions that are aligned with NGC. For more information, see the usage guide for each framework or library.

  • The PPU SDK is compatible with the compilation, basic functionality, and unit tests of the listed open-source frameworks and libraries. Due to resource constraints, some issues found during testing remain unresolved in the v1.5 release. For unresolved issues, see the known issues section.

Open-source framework compatibility

Framework

Version

Test type

Pass rate

torch

2.6

unit test

97.4%

sglang

0.4.3

unit test

85.44%

flashinfer

0.2.2

unit test

99.42%

vllm

0.7.3

unit test

90.61%

PyTorch

1.7

unit test

98.5%

PyTorch

1.8

unit test

97.6%

PyTorch

1.9

unit test

93.5%

PyTorch

1.10

unit test

94.7%

PyTorch

1.11

unit test

92.9%

PyTorch

1.12

unit test

95.2%

PyTorch

2.1

unit test

95.7%

PyTorch

2.3

unit test

96.9%

PyTorch

2.4

unit test

97.6%

PyTorch

2.5.1

unit test

98.7%

PyTorch

2.6

unit test

95.8%

TensorFlow

1.15

unit test

97.6%

TensorFlow

2.7

unit test

89%

TensorFlow

2.8

unit test

91.3%

TensorFlow

2.12

unit test

81.3%

TensorFlow

2.14

unit test

83.6%

TensorFlow

2.16

unit test

83.8%

TensorFlow

2.17

unit test

89.81%

Megatron-Core

0.8.0

unit test

99.7%

Megatron-Core

0.7.0

unit test

97.5%

DeepSpeed

0.15.2

unit test

93.1%

DeepSpeed

0.14.4

unit test

89%

Horovod

0.24.2

E2E example

100%

vllm

0.4.1

unit test

99%

vllm

0.4.2

unit test

99%

vllm

0.4.3

unit test

99.98%

vllm

0.5.0

unit test

100%

vllm

0.5.1

unit test

99.9%

vllm

0.5.2

unit test

99.9%

vllm

0.5.3

unit test

100%

vllm

0.6.0

unit test

99.3%

vllm

0.7.2

unit test

80.66%

vllm

0.7.3

unit test

90.61%

sglang

0.4.3

unit test

85.44%(A800: 85.25%)

lmdeploy

0.3.0

E2E example

100%

lmdeploy

0.4.0

unit test

99%

lmdeploy

0.4.1

unit test

98.5%

lmdeploy

0.4.2

unit test

97.7%

lmdeploy

0.5.0

unit test

99%

lmdeploy

0.5.1

unit test

100%

lmdeploy

0.5.2

unit test

97.9%

lmdeploy

0.5.3

unit test

98.5%

ONNX Runtime

1.19.2

unit test

94.9%

ONNX Runtime

1.18.0

unit test

90.0%

Transformer Engine

1.11

unit test

98.69%

Transformer Engine

1.5

unit test

93.7%

Transformer Engine

1.7

unit test

94.3%

Transformer Engine

1.8

unit test

95.2%

Transformer Engine

1.9

unit test

96.1%

Transformer Engine

2.0

unit test

98.69%

rtp-llm

0.2.0

unit test

100%

torch_xla

2.3

E2E example

100%

xformers

0.0.27

unit test

99.9%

xformers

0.0.26

unit test

99.9%

xformers

0.0.26

unit test

99.9%

xformers

0.0.25

unit test

99.9%

xformers

0.0.24

unit test

99.9%

xformers

0.0.23

unit test

99.9%

xformers

0.0.22

unit test

99.8%

xformers

0.0.21

unit test

98%

vllm-flashattention

2.4.2

unit test

99%

vllm-flashattention

2.4.3

unit test

99%

vllm-flashattention

2.5.0

unit test

100%

vllm-flashattention

2.5.1

unit test

100%

vllm-flashattention

2.5.2

unit test

100%

vllm-flashattention

2.5.3

unit test

100%

vllm-flashattention

2.5.4

unit test

100%

vllm-flashattention

2.5.5

unit test

99.9%

vllm-flashattention

2.5.6

unit test

99.9%

vllm-flashattention

2.5.7

unit test

100%

vllm-flashattention

2.5.8

unit test

100%

vllm-flashattention

2.5.9

unit test

100%

vllm-flashattention

2.6.0

unit test

100%

vllm-flashattention

2.6.1

unit test

100%

vllm-flashattention

2.6.2

unit test

100%

vllm-flashattention

2.6.3

unit test

100%

flashinfer

0.1.0

unit test

97.9%

flashinfer

0.1.1

unit test

99%

flashinfer

0.1.2

unit test

99.9%

flashinfer

0.1.6

unit test

99.9%

flashinfer

0.2.2.post1

unit test

99.9%

text embedding inference

1.5.0

unit test

99%

Apex

24.04.01

unit test

91%

AutoGPTQ

0.7.1

unit test

94.3%

bitsandbytes

0.40.0

unit test

99.9%

bitsandbytes

0.41.0

unit test

99.9%

bitsandbytes

0.42.0

unit test

100%

bitsandbytes

0.43.0

unit test

100%

bitsandbytes

0.43.1

unit test

100%

byte-flux

1.0.2

unit test

92.1%

byte-flux

1.0.3

unit test

95.1%

cupy

13.1.0

unit test

95%

faiss

1.7.3

unit test

100%

faiss

1.7.4

unit test

100%

faiss

1.8.0

unit test

100%

grouped_gemm

1.1.4

unit test

92.5%

mamba-ssm

2.1.0

unit test

94.5%

mamba-ssm

2.2.0

unit test

93.9%

mamba-ssm

2.2.1

unit test

99%

mamba-ssm

2.2.2

unit test

100%

mmcv

2.2.0

unit test

99.9%

nvidia_dali_cuda110

1.20.0

unit test

94.7%

nvidia_dali_cuda120

1.20.0

unit test

94.7%

onnxruntime_gpu

1.15.1

unit test

92.1%

onnxruntime_gpu

1.16.3

unit test

97.4%

onnxruntime_gpu

1.17.1

unit test

91%

onnxruntime_gpu

1.17.3

unit test

93%

onnxruntime_gpu

1.18.0

unit test

92.4%

onnxruntime_gpu

1.18.1

unit test

95.7%

onnxruntime_gpu

1.19.0

unit test

96%

pytorch3d

0.7.6

unit test

91.2%

pytorch3d

0.7.7

unit test

93%

torchao

0.2.0

unit test

99.9%

torchao

0.3.0

unit test

99.9%

torchao

0.4.0

unit test

99.9%

torchaudio

2.0.2

unit test

91.2%

torchaudio

2.1.0

unit test

91.8%

torchaudio

2.1.2

unit test

92.7%

torchaudio

2.2.0

unit test

93%

torchaudio

2.2.1

unit test

99.9%

torchaudio

2.3.0

unit test

99.9%

torchaudio

2.3.1

unit test

99.9%

torchaudio

2.4.0

unit test

99.9%

torchaudio

2.0.2

unit test

99.9%

torchdata

0.6.1

unit test

100%

torchdata

0.7.0

unit test

100%

torchdata

0.7.1

unit test

100%

torchdata

0.8.0

unit test

100%

torchmetrics

1.4.0

unit test

95%

torchrl

0.5.0

unit test

93.9%

torchtext

0.15.2

unit test

96.9%

torchtext

0.16.0

unit test

97%

torchtext

0.16.2

unit test

97%

torchtext

0.17.0

unit test

96.8%

torchtext

0.17.1

unit test

98%

torchtext

0.18.0

unit test

98%

torchvision

0.15.2

unit test

99.9%

torchvision

0.16.0

unit test

99.9%

torchvision

0.16.2

unit test

97%

torchvision

0.17.0

unit test

100%

torchvision

0.17.1

unit test

100%

torchvision

0.18.0

unit test

98.9%

torchvision

0.18.1

unit test

99.9%

torchvision

0.19.0

unit test

99.9%

transformer_engine_torch

1.8

unit test

92.7%

transformer_engine_torch

1.9

unit test

93.4%

transformers

4.30.2

unit test

94%

transformers

4.31.0

unit test

92.1%

transformers

4.32.1

unit test

93.4%

transformers

4.33.2

unit test

93%

transformers

4.34.1

unit test

93%

transformers

4.35.2

unit test

92.7%

transformers

4.36.2

unit test

92.6%

transformers

4.37.2

unit test

94%

transformers

4.38.1

unit test

94%

transformers

4.38.2

unit test

94%

transformers

4.39.3

unit test

94%

transformers

4.40.2

unit test

95.2%

transformers

4.41.2

unit test

94.9%

transformers

4.42.4

unit test

96%

transformers

4.43.0

unit test

96.7%

transformers

4.43.3

unit test

98%

3. Known issues

3.1 Driver

  • For a list of unsupported CUDA APIs, see CUDA Compatibility.

3.2 Compiler

  • Most CUDA C++ extension APIs and inline PTX instructions related to Texture and Surface are not supported, causing compilation to fail.

  • CUDA C++ extension APIs and inline PTX instructions related to Dynamic Parallelism are not supported, causing compilation to fail.

  • Some new instructions introduced in PTX 8.7 and later are not supported by the hardware architecture. While this does not affect compilation, it results in runtime errors.

  • The features {.level::eviction_priority} and {.level::prefetch_size} for ld/st instructions in inline PTX are not supported. The compiler ignores these specifications, which does not affect compilation or runtime.

  • Instructions and operands related to the cache eviction policy in inline PTX are not supported, causing compilation to fail.

  • The device file compilation process is as follows: CUDA Device C++ code -> LLVM (HGVM) IR -> Device Binary. The process does not generate PTX files. If your compilation or code generation process for other platforms requires PTX files, you must adapt your code.

  • Most CUDA PTX instructions for MMA and related data movement are supported, including dense/sparse MMA instructions for specific data types (.u8/.s8/.tf32/.bf16/.f16). However, performance may be lower compared to implementations that use PPU-specific Tensor Core PTX instructions. If these kernels are critical to your end-to-end performance, we recommend refactoring the kernel code. For more information, see the PPU Tensor Core PTX User Programming Manual and Algorithm Refactoring Guide.

3.3 Acceleration library

  • Performance: Further optimization is needed for consistent performance across various scenarios.

  • aublas:

    • Only the APIs listed in CUBLAS API Support Status are supported. Additional APIs are added based on demand.

    • Complex data types are not supported.

    • Gemm: The FP32 Tensor Core is enabled by default. Due to differences in computation order, precision may not be fully consistent with FP32 FMA, causing the matrixMulCUBLAS sample to fail.

    • Gemv: Only host pointer mode is supported.

    • BlasLt: Does not support specifying attributes such as algo or perf.

  • audnn:

    • Only the APIs listed in CUDNN API Support Status are supported. Additional APIs are added based on demand.

    • Conv: Does not support INT64 or BOOLEAN data types. FP16 input with FP32 output is not supported.

    • 3DConv: Performance requires improvement due to limited tuning.

    • depthwise: Performance for some dgrad use cases needs further improvement.

    • BN: 1) Only supports alpha==1 and beta==0 parameters. 2) Does not support ACDNN_BATCHNORM_PER_ACTIVATION mode.

    • Pooling: Does not support ACDNN_PROPAGATE_NAN.

    • RNN: Only supports acdnnRNNBiasMode_t DOUBLE, FP16/F32 data types, and ACDNN_RNN_ALGO_STANDARD.

    • Activation: Does not support ACDNN_PROPAGATE_NAN or the SWISH op.

    • Softmax: Does not support SoftmaxAlgorithm_t FAST.

    • TensorOp: acdnnReduceTensor does not support MUL_NO_ZEROS.

    • MultiHeadAttn: Only supports the forward op.

    • Backend: 1) Does not support pre-processing fusion. 2) Supports fusion of up to four pointwise post-processing operations. 3) Only supports fp16, fp32, and bf16 data types. 4) Fused pointwise operations only support alpha1 = 1 and alpha2 = 1.

  • ausolver:

    • Only the APIs listed in CUSOLVER API Support Status are supported. Additional APIs are added based on demand.

    • Complex data types are not supported.

  • aufft:

    • Only the APIs listed in CUFFT API Support Status are supported. Additional APIs are added based on demand.

    • LTO optimization is not supported.

  • aurand:

    • Only the APIs listed in CURAND API Support Status are supported. Additional APIs are added based on demand.

    • Only supports the following generator types: XORWOW, MRG32K3A, and PHILOX4_32_10.

    • Only supports legacy order.

    • Only supports the following distribution types: default, uniform, uniform double, normal, normal double, lognormal, and lognormal double.

3.4 Interconnect library

  • Collective operation performance: For 16 x Zhenwu 810E server configurations using TP=2, 4, or 8 modes, we recommend considering your machine's ICN topology to select the optimal device placement.

  • Only nccl netplugin v7 is supported.

  • Executing alltoallV operations with unbalanced send and receive sizes may lead to a probabilistic deadlock. Exceptions of type "ERR_FAB_REQ_TO" appear in dmesg. To restore normal operation, reset the device.

  • When multiple pccl communicators operate on the same PPU simultaneously, a probabilistic deadlock may occur. Avoid launching multiple pccl kernels on the same PPU device at the same time. Setting NCCL_MIN_NCHANNELS to a value no greater than 16 can help avoid this issue.

3.5 Video and image hardware acceleration

  • Video decode does not support raw nvdec mode.

  • Video decode does not support legacy formats such as MPEG1, MPEG2, MPEG4, VC1, and VP8.

  • JPEG does not support lossless mode or JPEG2000.

  • NPP currently supports only image processing interfaces, not signal processing interfaces.

3.6 Tools

3.7 Frameworks and models

Known issues for open-source frameworks

Framework

Version

Known issues

PyTorch

2.6

  • Compatibility unit test failure categories:

    • Unsupported CUDA APIs

    • Expected failures, including:

    • Cases that also fail on A100 GPUs

    • Hardcoded NVIDIA binary names in tests

    • Discrepancies caused by the hardware SFU

    • Minor precision deviations in some tensor elements that exceed the test case threshold

    • Execution timeout

    • Other known issues

SGLang

0.4.3

  • Compatibility unit test failure categories:

    • Some model performance unit tests fail; these tests also fail on NVIDIA GPUs.

    • Running GPTQ-quantized models is not supported.

vLLM

0.7.3

  • Quantization issues

    • By default, vLLM uses the Marlin kernel for GPTQ, AWQ, W8A8, and WOQ quantized inference. You can explicitly specify a quantization method, such as gptq_acext or awq_acext, to use alternative quantization kernels. However, acext does not currently support quantization with act_order=True or GPTQ-Int8 quantized weights. This will be optimized in a future release.

    • vLLM FP8 quantization depends on the SM89/90 architecture and has not been adapted or optimized for the PPU. The support plan has not yet been determined.

    • The vLLM dense A8W8 quantization is implemented via the acext library, and its performance requires continuous optimization. MOE W8A8 quantization is not yet supported, but support is planned for the next release.

    • Supports loading DPSK FP8 weights and performing inference with W8A16 quantization. Performance is comparable to BF16.

    • vLLM uses vllm-flash-attn as the default attention backend. Its performance on the PPU does not yet match that of the GPU version and will be optimized in a future release.

  • Stability issues

Transformer Engine

2.0

  • Compatibility unit test failure categories:

    • The Transformer Engine Context Parallelism unit test test_fused_attn_with_cp.py::test_cp_with_flash_attention fails when run with PyTorch 2.1.0. We recommend using PyTorch 2.1.2 or later.

    • Some Transformer Engine numeric unit tests fail.

    • CublasLt fused attention is not supported.

    • Cases that also fail on A100 GPUs.

  • Pai-Megatron-Patch does not currently support Transformer Engine v2.0. Using them together may cause bugs.

FlashInfer

0.2.2.post1

  • Compatibility unit test failure categories:

    • Performance does not yet match the GPU version and requires further optimization.

    • Some unit tests have precision issues.