SDK release notes
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-fusionflag to match the performance of SGLang v0.4.6.post1.In SGLang v0.4.7, setting a large value for
--mem-fraction-staticcan cause adecode out of memoryerror 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
a8w8block-wise quantization tocutlass3.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
IBRCpath 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_bwby 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
internodekernel (IBRC path). Performance on 2-, 4-, and 8-node setups now approaches that ofmode 0(IBGDA).Improved single-node performance for the
llkernel, 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-LMtraining would hang when saving weights intorch_distformat.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
vllmin a non-PPU environment.
2. Known issues
DeepEP:
The performance of the
internode kernel combinefeature does not yet match that of thedispatchfeature. Optimizations are in progress.The
llkernel now supports theicn linkfeature. However, you must explicitly setallow_nvlink_for_low_latency_modetoTrueduring buffer initialization.In multi-node
DeepEPsetups, theinternodekernel may experience random hangs when usingmode 0(theibgdapath) and the number of tokens exceeds 16,000. The root cause has not yet been identified.The use of a single
DeepEPbuffer to handle bothllandinternodeworkloads 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
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.
NoteYou 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.
NoteThe
acextacceleration library implements the DeepGemm APIs.computation library: This release includes an updated
libacext.sowith 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 monitorfeature to better manage local disk space usage.
software ecosystem:
VLLM:
Released PPU-VLLM v0.8.3.
Released PPU-VLLM v0.8.5.
NoteThis 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
acextMOE backend.
SGLang:
Released PPU-SGLang v0.4.4.post3.
Released PPU-SGLang v0.4.6.
NotePPU-SGLang improves the inference performance for Deepseek-V3/R1 and Qwen3 by adding the
acextMOE 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).
NoteVLLM 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
oneShotandtwoShotalgorithms in thepccl ext-kernel pluginto fail in some scenarios.HGGC: Fixed an illegal memory access issue when running demos with TensorFlow 2.15.1 and
tfra0.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.sofile 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.sofile 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

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-peermemkernel module, included with the PPU kernel driver, is installed on your system.Supports PPU fault reporting and handling.
Supports the
auto-resetfeature. When the driver detects akill overtimeorcp invalid cmderror, 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/0command 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
cudaMemcpyandcudaMemsetoperations.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_v3API.Ensures that
printfoutput from device code is correctly displayed after an exception occurs.Supports the
HGGC_EXCLUSIVE_STREAMSenvironment 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, andhgprune, 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, andacrand.acdnnsupports the following operators:Conv
BatchNorm
Pooling
Softmax
Activation
CTCLoss
Dropout
LRN
LSTM
GRU
MultiHeadAttn
Tensor Ops
SpartialTransform
Backend fusion
acblassupports the following operators:Level-1 series operators
Gemv
Gemm
Matmul + epilogue
MatrixTransform
trsm
getrfBatched
getrsBatched
geqrfBatched
gelsBatched
acfftsupports R2C/C2R/C2C/D2Z/Z2Z + FFT/iFFT transforms.acsolversupports matrix LU decomposition/solve, Cholesky decomposition/solve, QR decomposition, SVD decomposition, and eigenvalue decomposition.acrandsupports:Pseudo-random number generators: XORWOW, MRG32K3A, PHILOX4_32_10.
Data distributions: Default, Uniform, Normal, LogNormal.
The
Acextquantization library supports:Various kernel variants for A16W8/A16W4 with PerChannel/GroupWise quantization.
Various kernel variants for A8W8 with PerChannel/PerToken quantization.
Acceleration kernels for
WeightonlyBatchedGemvwith 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 inmatmul.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: Optimizesgroup convperformance, 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, andorgtr.
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
alltoallperformance 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
allgatherperformance 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
allreduceshow an approximately 20% improvement in some scenarios.Enhances the topology awareness of
oneShotandtwoShotkernels 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
oneShotandtwoShotkernels.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
splitSharefeature 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
hgtxinformation 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
alltoallVwould hang in some use cases.Fixes an issue that caused incorrect results when
NCCL_MAX_P2P_NCHANNELSwas set to a value smaller thanNCCL_MAX_NCHANNELS.Fixes a potential internal buffer overflow issue in debug log printing.
PCCL tools:
DeviceOrderSearch tool:
Adds the
DeviceOrderSearchtool 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
hgpticallback mechanism. For more information, see the documentation.Removes the dependency on
libmpicxx.so.
p2pBandwidthAndLatencyPerftool 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-smiis similar tonvidia-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 statscommand supports HGTX PPU projection summary statistics.The
asys statscommand supports statistics for HGGC PPU memory tracking data volume and time consumption.PPU kernel-related statistics in the
asys statssubcommand support adding an HGTX range prefix.The HGTX Range Summary in the
asys statssubcommand supports filtering by process.PPU trace-related statistics in the
asys statssubcommand 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 analyzesubcommand 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-usageoption.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.
hgpruneis 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.soandlibomp.sofiles are removed. The SDK now depends on thelibgomp.soandlibomp.solibrary files provided by the operating system (OS) environment and the host compiler, such asgccorclang.
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-xxxto-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:
The
alippu.mma.xxxPTX instruction is changed toppu.mma.xxx.The
alippu.ldmatrix.xxxPTX instruction is changed toppu.ldmatrix.xxx.The
cp.async.aiu.xxxPTX instruction is changed toppu.cp.async.aiu.xxx.
In the SDK header files, the custom type
__ali_bfloat16is 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.

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:
The Google open-source community version of TensorFlow 1.12 supports only CUDA 9, and version 1.15 supports only CUDA 10. For more information, see https://www.tensorflow.org/install/source?hl=en#gpu_support_3.
The released TensorFlow 1.15 is based on the open-source version from NVIDIA NGC nv22.04. For more information, see https://docs.nvidia.com/deeplearning/frameworks/support-matrix/index.html#unique_1997996242.
TensorFlow 1.12 is based on PAI-TF 1.12.
TensorFlow 2.4 is based on NVIDIA NGC nv21.02.
TensorFlow versions 2.6 and 2.7 are aligned with the Google open-source community release versions.
TensorFlow 2.8 is based on NVIDIA NGC nv22.04.
TensorFlow versions 2.10 and later are aligned with the Google open-source community release versions.
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_NCHANNELSto 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
For PPU-SMI known issues, see PPU-SMI Known Issues.
For Asight Systems known issues, see Asight Systems Known Issues.
For Asight Compute known issues, see Asight Compute Known Issues.
For DCGM known issues, see DCGM Known Issues.
3.7 Frameworks and models
Known issues for open-source frameworks
Framework | Version | Known issues |
PyTorch | 2.6 |
|
SGLang | 0.4.3 |
|
vLLM | 0.7.3 |
|
Transformer Engine | 2.0 |
|
FlashInfer | 0.2.2.post1 |
|