SDK Release Note
PPU SDK v1.6.1 release note
1. Main Features and Bug Fix Lists
详细功能:
发布 PPU-Flash Attention 2.7.4,支持 FA3 的功能;
支持 VLLM 0.10.0;
支持QWen3 MoE模型 bf16&int8 混合精度量化方法;
支持 SGLang 0.4.10;
支持 FlashInfer 0.2.9rc2;
PCCL 添加 gdrCopy 功能支持;
acext 不再随PPU_SDK发布,改为Wheel发布形式;
PTG vLLM/SGLang使用acext方式变更,详情请参见acext使用方式介绍;
编译acext Wheel,配置编译vLLM/SGLang环境变量,详情请参见从源码编译和运行;
2. Known Issues
sglang 0.4.10 Qwen3-8B的部分场景下,大并发吞吐性能低于小并发。主要原因是大并发刚好打到了gemm和flashinfer kernel性能差的tile配置。这种情况建议选择吞吐性能更好的小并发。
sglang 0.4.10 默认使用FA3后端,在Qwen3-235B-A22B,输入4000/输出1500场景下,FA3后端性能不如FlashInfer,建议使用FlashInfer后端。
sglang 0.4.10 默认使用FA3后端,在Qwen3-235B-A22B、BF16场景可能在cuda graph capturing阶段hang住。可以尝试通过调低
--mem_fraction_static来解决,列如设置成0.8。vLLM双机场景,如果环境里transformers >= 4.53.3并且安装了torchao,会导致运行失败。GPU上也存在相同的问题。可以通过卸载torchao解决。
PPU SDK v1.6 release note
1. 版本概述
1.1 软件栈介绍

为 CUDA 应用开发者使用PPU软硬件降本增效。
三个层次交付物:兼容CUDA 生态的框架软件包与模型、CUDA SDK兼容软件包、T-Head SAIL SDK软件包。
1.2 核心组件
组件名称 | 概要说明 |
Firmware | PPU 固件 |
KMD | PPU 内核驱动 |
UMD / HGGC | PPU 用户态驱动和运行时 |
Compiler | PPU 编译器工具链 |
Acompute | PPU 计算加速库 |
Acext | PPU 量化加速库 |
PCCL | PPU 通信加速库 |
PPU SMI | PPU 设备管理工具 |
PPU DCGM | PPU 在线监控工具 |
Asight System | PPU 性能分析工具 |
Asight Compute | PPU 性能分析工具 |
PPU GDB | PPU 调试工具 |
PPU MemCheck | PPU Sanitizer工具 |
PPU hgobjdump | PPU Device Binary工具 |
CUDA SDK Wrapper | CUDA API 兼容库 |
1.3 主要功能
1.3.1 Firmware
支持二进制包安装(rpm或deb);
支持动态电源管理功能,缺省模式下PPU固件会根据实时的工作负载、温度和功耗等信息动态调节核心频率(200MHZ~最大工作频率)和工作电压;
支持PPU锁频功能,详情请参见设备管理工具PPU-SMI;
支持固件安全签名和固件双备份功能,确保固件内容的安全性和可靠性;
支持电源芯片固件升级功能;
支持BMC带外管理功能,包括设备状态监控和固件带外升级等;
1.3.2 内核驱动
支持二进制包安装(rpm或deb)和runfile包安装两种方式,用户可根据需要自由选择;
支持内核驱动和PPU SDK解耦,v1.0版本之后的内核驱动和PPU SDK可任意组合使用;
支持单机单卡、单机8卡/16卡(ICN互联)、多机多卡(ICN互联)和多机多卡(GDR)多种灵活的机器形态,使用GDR功能之前需确保系统已安装
alixpu-peermem内核模块(随PPU内核驱动一起发布);支持PPU故障上报和故障处理;
支持
auto-reset功能,驱动在检测到kill overtime或cp invalid cmd错误之后会自动进行PPU设备复位,无需用户手动复位即可恢复正常。该功能默认打开,用户可通过ppu-smi查询状态或关闭该功能;支持MPS(Multi Pipe Service)功能,用户可通过
ppudbg --config_submit_mode 1/0打开或关闭该功能;支持MPS模式下小模型和大模型任务的潮汐场景使用;
支持nvml GPM指标采集功能,包括:sm利用率、sm occupancy、tensor core利用率、显存带宽利用率、pcie读写速率、icn link读写速率;
支持整卡直通虚拟化功能,用户可以在宿主机上解绑PPU驱动直通进虚拟机内使用,此时需要注意不同VM之间的ICN隔离;
支持SRIOV虚拟化模式下宿主机驱动的热升级功能,即可以在虚拟机内业务运行的同时对宿主机PPU驱动进行更新;
新增单机16卡真武810E的正式支持并优化默认的PPU设备顺序(按照机尾排序);
新增L1/L2 cache命中率GPM指标采集,用户可通过DCGM工具查询获取;
调整16卡真武810E设备的逻辑编号规则以获取更好的互联性能;
新增MPS潮汐模式状态查询功能;
新增Xid错误信息查询功能;
新增GPM状态查询和GPM状态启停功能;
取消HBM parity Xid错误上报;
1.3.3 用户态驱动和运行时
兼容绝大多数cuda runtime api (cudaXXX) 和cuda driver api (cuXXX);
新增发生xid 896错误时输出更多错误日志方便定位问题;
优化2D/3D类型的cudaMemcpy/cudaMemset性能;
支持stream memory opertaion v2版本API;
支持graph management中edge data相关API;
支持graph management中batch memory op node相关API;
支持texture基本功能;
优化CUDA_DEVICE_MAX_CONNECTIONS=1时PPU性能;
支持cuCtxCreate_v3 api;
支持在发生异常之后正确输出device code printf的内容;
支持
HGGC_EXCLUSIVE_STREAMS环境变量指定stream group映射到不同的硬件队列;修复cuda graph不支持cooperative kernel node的问题;
支持cudaLaunchKernelExC接口;
支持通过asys工具采集stream对应的hardware channel信息;
支持AD扩展API接口;
修复运行colmap时cudaCreateTextureObject报错cudaErrorIllegalAddress的问题;
修复cudaMallocAsync接口分配size为0时报错的问题;
1.3.4 编译器
基于clang/llvm的编译框架,实现面向PPU架构的、host/device混合编程风格的C/C++扩展语言编译器,完整兼容cuda c/c++的编程语言规范;
提供丰富的编译功能模块,方便开发者通过API的调用方式,灵活构建编译流程,方便集成JIT编译的能力;
实现inline ptx指令的支持,其中包括部分支持的dense mma指令、sparse mma指令、texture相关指令; 同时针对ppu tensor core扩展了ptx指令的定义;
实现CUDA device API的支持,本次增加支持部分Texture相关API;
支持system level reserved shared memory特性;
gcc host compiler的版本支持范围在[5.5 - 14.2],clang host compiler的支持范围在[clang 9 - clang 18];
支持triton 2.3.x、3.0.x、3.1.x、3.2.x、3.3.x; 扩展triton.lang的语法,引入对AIU的支持;
Device ELF binary格式默认打开split section选项,减少运行时module load开销;
丰富的开发库和二进制工具:hgobjdump、memcheck、ppu-gdb、sanitizer library、hgprune、hgfatbin、hglink & hgJitlink,可以让用户更加方便地开发和调试
运行时JIT编译库hgrtc, 详细介绍请参考。最新更新:
支持对编译产物的caching能力,减少JIT编译过程时间。
发布了PPU 调试工具PPU-GDB,允许在同一个应用程序中同时调试GPU和CPU代码。
发布了PPU Memcheck,是一组用于功能性正确检查的工具套件。该套件中包含了一系列的检查工具,包括memcheck、initcheck、synccheck、racecheck。
发布了PPU Binary 工具hgobjdump,用于提取binary中的device相关信息。
发布了PPU Prune 工具hgprune,用于提取binary中的device相关信息。
发布了PPU Fabin开发库hgfatbin,支持运行时对fabin文件的各类操作。
发布了PPU Link 工具hglink,用于对PPU device code的link操作。
发布了PPU JitLink开发库hgjitlink,支持运行时对PPU device code的link操作。
1.3.5 加速库
计算加速库
闭源计算库支持:acdnn、acblas、acfft、acsolver、acrand
acdnn支持算子
Conv
BatchNorm
Pooling
Softmax
Activation
CTCLoss
Dropout
LRN
LSTM
GRU
MultiHeadAttn
Tensor Ops
SpartialTransform
Backend fusion
acblas支持算子
Level1 系列 Op
Gemv
Gemm
Matmul + epilogue
MatrixTransform
trsm
getrfBatched
getrsBatched
geqrfBatched
gelsBatched
acfft支持:R2C/C2R/C2C/D2Z/Z2Z + FFT/iFFT 变换;
acsolver支持:矩阵LU分解/求解,cholesky分解/求解,QR分解,SVD分解,特征值分解;
acrand支持:
伪随机生成器XORWOW、MRG32K3A、PHILOX4_32_10;
数据分布:Default/Uniform/Normal/LogNormal;
acext量化库支持:
支持A16W8/A16W4以及PerChannel/GroupWise的各种Kernel变种;
支持A8W8以及PerChanel/PerToken的各种Kernel变种;
支持WeightonlyBatchedGemv对小batchsize的加速kernel;
支持以下类型 MoE:FP16/BF16,a8w8 PerChanel/PerToken;
开源项目支持:
PPU FlashMLA 1v5
PPU FlashAttention 2.4.2/2.5.6/2.5.7/2.7.2/2.7.4.post1;
PPU cutlass2.5;
PPU cutlass3.3/3.4/3.6;
PPU Xformers 0.0.22/0.0.25/0.0.27/0.0.29.post1/0.0.30;
PPU FasterTransformer;
PPU 扩展库 acext;
目前主要支持高性能 a16w8、a16w4、a8w8 量化、group-gemm、MoE、batch gemv 等实现;
提供 PPU_SDK library 和开源仓库两种方式,供各框架和应用集成;
PPU DeepGemm:
支持 dense gemm、group gemm;
支持 FP16、A8W8 format,不支持 FP8;
支持 PerChanel/PerToken 量化,暂不支持 BlockWise 量化;
关键更新:
完成 DeepGemm 初步支持:EP 典型场景性能达竞对水平;
优化 DPSK/Qwen3 等场景 MoE 性能,相对trition版本平均提升50%以上;
blaslt:增强 desc 跨版本支持;完善通信计算并行方案支持;
conv:完善不同format组合的支持;增加对 strided channel 的支持;
solver:新增 gesvda 支持;
增强计算库对 Driver/Runtime 调用错误信息的处理;
优化 deconv 性能:部分场景性能提升40%;
优化 LSTM 性能,部分场景性能提升30%;
互联加速库
PCCL:
兼容支持绝大多数 nccl api (ncclXXX) 和环境变量;
支持 AllReduce、AllGather、ReduceScatter、Broadcast、Reduce、Send、Recv 等典型互联算子;
支持单机内多卡通过 ICN、PCIE、ShareMemory 通信;
支持多机之间通过 RDMA (GDR & non GDR) 、Socket、ICN 通信;
性能优化:
优化了单机 16 卡 真武810E 下的 allreduce & reducescatter & allgather 等算子的性能, 大 sizes 下约有 10% ~ 20% 提升;
优化了单机 4 /8/16 卡下中等 sizes 上的 allreduce 算子性能,不同配置分别约有 10% ~ 60% 不等的提升;
支持可以根据 COLL OP 来设置不同 ALGO 与 PROTO 的功能;
支持 NCCL_IB_SPLIT_DATA_ON_QPS 功能;
支持更多 CPU vendor 信息识别及相应 PHB 与 SYS 带宽优化调整;
修复 ext-kernel 在不同 ranks 上 input/output buffer alignment 情况不一致时会 hang 的问题;
pccl tools:
pccl perf:
支持 AllReduce、AllGather、ReduceScatter、AlltoAll、Broadcast 及 Reduce;
p2pBandwidthAndLatencyPerf 工具增强,具体可见:
支持真武810E 等产品在各种多卡互联 topo server 下的 icn p2p 互联带宽与延迟性能评估;
DeviceOrderSearch tool:
用于 Megatron 框架模型训练任务上基于并行训练配置得到真武810E 机器上的最佳 visible device order 设置,具体使用可见:
pccl check tools:
支持 真武810E 等产品在多卡或多机多卡等场景下的功能 readiness 检查;
sailSHMEM:
兼容支持所有 nvshmem pt2pt 相关 api;
支持单机内与多机节点间的 PPU 卡 pt2pt 操作像 thread/warp/block 级别的 put/get bw、 latency 与 signal 及 wait 等同步操作;
支持 icn link p2p 传输与 rdma ibrc 与 ibgda 网络传输;
支持 shmem_p_bw 与 shmem_p_lat 相关通路上的 data combine 功能, 性能约有 1 ~ 3 倍提升;
DeepEP:
兼容支持 DeepEP 绝大多数 python API 用法;
支持单机内与节点间的 dispatch 与 combine intranode、internode 与 internode low latency 三种类型 kernel 实现;
支持通过 icn link 及节点间的 rdma ibgda 或 ibrc 等传输方式进行通信;
支持 low latency kernel 传输的 int8 groupwise 与 channelwise 量化实现;
支持 2 & 4 ranks 的 intranode 与 low latency kernel 实例;
修复部分 internode kernel path 上的潜在 thread racing issue;
修复部分资源释放 order 带来的 crash issues;
1.3.6 Video/Image codec硬件加速
兼容Nvidia Video Codec SDK,包括cuvid decode, nvenc(up to v13.0)和nvjpeg(up to v12.4);兼容NPP(up to v12.9)接口。基于此,可以直接支持ffmpeg(up to v7.1.1), OpenCV4,DALI(up to v1.44),PyAV,TorchCodec 等上层框架的Codec硬件加速能力。
Video Decode
Support 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 FHD 192 streams
Video Encode
Support 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
Resolution up to 4K support
Support input RGB format (converted to YUV420 via inlinePP)
Support crop, scale, rotate with inlinePP
Up to FHD 32 streams
JPEG:
Support nvjpeg decoder & encoder
Resolution up to 32Kx32K
Support RGB format input and output with inlinePP
Support crop, scale, rotate with inlinePP
Up to UHD 960FPS
Image Process:
Support Nvidia 2D Image NPP
1.3.7 软件工具
为了满足云计算大规模集群监控需求,我们发布了如下PPU管理和监控工具和库文件,以便集成到客户集群运维监控系统中:
PPU设备管理工具ppu-smi类似Nvidia-smi。详细介绍请参考设备管理工具PPU-SMI;
ppu-smi v1.3 新功能主要包含:
增加查询HBM厂家的描述
增加设置和查询drain状态的描述
增加查询机尾ID的描述
增加topo子命令显示拓扑图支持按照机尾ID过滤和分组的描述
增加topo子命令拓扑图显示RDMA网卡信息的描述
ppu-smi v1.4 新功能主要包含:
增加查询XID错误码的描述
增加查询performance counter状态的描述
增加gpm子命令查询和设置GPM的描述
增加查询潮汐模式的描述
增加查询产品架构和Minor number的描述
增加设置和查询MPS模式的描述
ppu-smi v1.5新功能主要包含:
更新已知问题
增加查询SDK各组件版本信息的描述
数据中心管理和监控工具PPU DCG类似Nvidia DGCM,详情请参考管理监控工具DCGM;
DCGM v1.3新功能主要包含:
支持cache命中率相关field ID
支持tensor core利用率相关field ID
DCGM v1.4新功能主要包含:
支持ICN每链路收发速率相关field ID
更新field ID支持情况列表
DCGM v1.5新功能主要包含:
增加Docker环境使用DCGM的说明
DCGM v1.6 增强包括:
支持整数计算pipe利用率相关field ID
hgml类似Nvidia nvml;
发布了PPU性能分析工具Asight Systems和Asight Compue(类似 Nvidia Nsight Systems/ Compute),可以支持用户进行单机、多机训练、推理等场景的性能分析;
Asight Systems 是一款低开销的系统级的性能分析工具,用来采集系统各种事件,CPU和PPU的活动,API执行时间以及相关调用栈,NVTX,CPU/PPU activity关联关系等,在Timeline View上统一的可视化呈现出来。 通过imeline View,开发人员可以方便分析CPU/PPU的负载和关联关系,找到性能瓶颈,确保CPU和PPU能够协调的工作,确保最大的并行度。详细介绍请参考程序性能分析套件Asight Systems;
Asight Systems v1.3 新功能主要包含:
支持 Python Functions Trace,在不修改用户 Python 代码的情况下对指定的 Python 函数进行 profile
支持采集应用程序日志输出;支持采集设备内存申请失败跟踪
新增专家系统和统计系统,支持15条分析规则
asys stats 支持 HGGC API / OSRT API / HGTX range / HGGC kernel 耗时统计和跟踪导出
asys stats 支持关联 HGTX 和 PPU 侧跟踪,输出统计报告和导出关联数据
Timeline View增强:
支持HGGC Launch API在Timeline View上按其启动的Kernel名字显示
User created stream在Timeline View上支持显示blocking属性
Timeline View新增WASD快捷键缩放平移; 在kernel 类型的Timeline item上右键生成的acu命令不准确时提示用户
Top-Down View等function table支持搜索module name
高级打开功能支持指定更多事件类型(PCCL, Log, Backtrace, NIC metrics)
Asight Systems v1.4 新功能主要包含:
UI样式美化与布局调整,更多tab 样式用于切换;支持在报告打开过程中关闭报告标签页。
asys增强: asys支持指定CPU和Python Profiling调用栈深度;asys支持指定采集应用程序部分进程的跟踪数据;asys支持采集PPU频率和温度等基本信息;asys支持采集CPU调用栈信息更短的采样周期;asys stats支持HGGC kernel grid block统计和跟踪导出;asys 支持HGGC Python backtrace调用栈采集;asys 支持 memory python backtrace调用栈采集;asys python functions trace支持采集python进程下的所有线程。
Timeline View 增强: Timeline View支持显示HGTX自定义颜色;Timeline View支持filter后PPU节点时间占比更新;Timeline View支持显示RDMA网卡metrics指标信息;Timeline View支持显示PPU Activity依赖关系;Timeline View支持独立显示HGGC Graph信息;Timeline View支持标记时间线;Timeline View 支持以不同的颜色显示不同类型的Video时间线;Timeline View中HGGC Launch API支持以kernel名显示;Events View增加了平铺模式,增强搜索记录的自动填充;Function View增加了火焰图和冰川图;HGTX range汇总支持指定进程和线程列表。
Asight Systems v1.5新功能主要包含:
asys stats支持HGTX PPU projection summary统计功能
asys stats支持HGGC PPU memory跟踪数据量 / 耗时统计功能
asys stats子命令PPU kernel相关统计功能支持添加HGTX range前缀
asys stats子命令HGTX Range Summary支持按照进程过滤
asys stats子命令PPU跟踪相关统计功能支持指定统计的PPU device列表
asys stats子命令Device Memory Uasge Details / Summary支持2 / 4种查看模式
asys analyze子命令PPU时间利用率分析支持指定时间范围的选择模式
asys专家系统和统计系统description框说明文本简化,增加说明文档跳转链接
asys支持限制生成报告文件尺寸
asys支持通过--hggc-memory-usage选项使能采集device和pinned内存使用情况
支持采集CPU侧动态分配内存的使用情况,支持内存泄露分析 / 内存使用量统计 / 申请次数统计
支持采集MPS模式使能时HGGC context关联的计算资源信息
Memory View支持4种查看模式以及火焰图
Timeline View 优化PPU activity依赖关系的显示方式
Timeline View支持分组显示功能,允许将感兴趣的时间线行添加到Group View中并单独显示
Timeline View支持Device Memory Timeline,帮助用户分析各模块的内存的使用情况,支持三种模式:普通模式;分组模式;分组着色模式
Timeline View支持通信算子分层显示
Timeline View支持不同kernel以不同颜色显示
Timeline View支持CPU侧heap内存时间线显示
Time range tooltip中支持显示PPU active/idle时间占比
Timeline View 选择time range时按住Shift键支持吸附至最近的时间线起点/终点
Timeline View支持按shift/ctrl多选时间线行
Timeline View性能优化,解决了打开超大报告GUI卡顿的问题
HGGC API支持C调用栈和Python调用栈的混合显示
Asight Systems v1.6新功能主要包含:
asys支持CPU metrics跟踪采集
asys analyze子命令PPU time utilization分析功能支持指定统计的MPS模式Compute Pipe列表
asys支持采集Ray框架启动的多节点应用跟踪数据,每台服务器生成一份报告
asys支持采集mpirun启动的多节点应用跟踪数据,每台服务器生成一份报告
asys支持采集HGGC stream memory operation相关跟踪数据
asys stats子命令HGTX PPU Projection Trace / Summary支持按照HGTX range过滤
asys stats子命令HGTX PPU Projection Summary支持输出HGTX投影的时间占比和总的投影时间
asys stats子命令HGTX Range Kernel Trace / Summary支持按照HGTX range过滤
asys stats子命令HGTX Range Kernel Trace支持导出HGGC Graph相关信息
asys stats / analyze子命令支持指定ratio类数据输出精度
asys stats子命令支持分析PCCL通信kernel之间的不同步情况,支持导出跟踪和汇总数据
asys支持投影HGGC graph capture阶段HGTX range到PPU侧HGGC graph node对应的活动
asys支持通过事件控制capture range重复启停,多次capture range采集的跟踪写入同一份报告
asys支持通过指定PPU设备ID限制仅采集使用这些PPU设备的进程跟踪数据
Timeline View支持局部options,支持隐藏用户不感兴趣的行和定制报告的显示行为
Timeline View中支持kernel节点按kernel名字组织并展示
Timeline View添加全局tips,支持提示快捷操作信息
Timeline View的time range tooltip中单独计算PCCL的时间占比
CPU时间线支持按线程名称显示为不同的颜色
HGGC PPU Kernel Summary规则支持对Time和Total Time两列数据占比进行自动求和
统计系统新增PCCL Desynchronization Summary / Trace规则,分析PCCL kernel间的不同步情况
Bookmarks支持导入/导出和加载/保存
统计系统/专家系统支持对表格进行搜索、过滤
Asight Compute是一款kernel性能分析工具,通过采集PPU硬件perf counter,组合成为一系列性能指标,我们称为metrics。GUI通过各种维度,把这些metrics呈现出来, 帮助用户深入分析和优化kernel,详细介绍请参考Kernel分析器Asight Compute;
Asight Compute v1.3新功能主要包含:
Metric Details Widget支持显示metric的instance列表
Raw Page/Summary Page中支持选择多实例metric的显示格式,选择模式由非按行选中改为按单元格选中
新增ICN link吞吐表格
acu 支持 --clock-control 选项
Asight Compute v1.4新功能主要包含:
新增真武810E 16卡,8卡拓扑图显示
Source Page支持显示Source Marker,支持采集和显示Kernel的汇编指令的执行信息,包括Instructions Executed和Thread Instructions Executed
metrics修正和稳定性增强
Asight Compute v1.5新功能主要包含:
Details Page中Memory Chart支持按transfer size/throughput显示
Details Page中Memory Chart连接链路tooltip中显示链路利用率
Details Page中的tooltip支持pin住,pin住后支持选择文本拷贝
Details Page中Launch Statistics中增加 Stack Size Per Thread
Details Page中Launch Statistics中增加 Driver SharedMemory Per Block
Baseline按钮布局更新,明确各按钮功能
Source Page支持点击分支指令跳转,支持高亮所有搜索结果
Source Page增强resolve源代码,支持自动resolve同目录结构其它文件
Asight Compute v1.6新功能主要包含:
Source Page提示源码是否导入以及导入来源、提示如何采集lineinfo信息
Source Page、Details Page支持查看not issued stall reasons
Source Page提供Source Lookup入口按钮,提供“记住导入目录”选项
Source Page支持点击file not found提示打开源码导入窗口
Source Page支持Python、Pasm语法高亮
Source Page支持表头tooltip
Source Page的function列表按地址升序排序
Source Page支持显示报告附带的源码
Metric Details窗口对搜索到的metric进行排序
1.4 支持的操作系统
类别 | 操作系统 | 架构 | 内核版本 | 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 | CentOS8.2 | 5.10.134-007.ali5000.al8.x86_64 | 8.5.0 | |
Alios | Alios7U2 | 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 | ALinux3 | 5.10.134-12.2.al8.x86_64 | 10.2.1 | |
5.10.134-13.al8.x86_64 | 10.2.1 |
1.5 SDK版本兼容性说明
1.5.1 KMD兼容性
V1.6 版本向前兼容 V1.5 与 V1.4 的 kmd/mcu_fw。
1.5.2 Firmware兼容性
真武810E需要使用 V1.2.1 以上的 mcu_fw 版本。
1.5.3 SDK兼容性
SDK V1.6 同 SDK V1.5之间,保持在编程API接口、Device二进制格式、库文件的兼容性;同V1.5一样,对SDK V1.4在这些方面存在不兼容,具体不兼容的情况描述如下。
SDK v1.4 从文件、编程接口和编译环境上存在有四类调整,会导致同之前SDK版本的组件或编译产生的组件共存情况下,存在不兼容性的情形。相关的调整内容如下:
将先前SDK中包含的libgomp.so、libomp.so文件移除,改为直接依赖相应OS环境以及host compiler(gcc/clang)所提供的libgomp.so、libomp.so库文件;
此改动可能导致旧版程序执行在v1.5/v1.6 SDK环境中存在找不到相应so文件的报错;
在编译命令option层面,将“-alippu-xxx的option 选项值 修改为 “-ppu-xxx”的格式;
这些options主要包含在一些定制化编译的场景中,此改动可能导致在混合版本的源代码编译或JIT运行过程中出现编译报错;
在ptx扩展指令层面,有几类扩展ptx指令的调整:
将“alippu.mma.xxx”的ptx指令修改为“ppu.mma.xxx";
将“alippu.ldmatrix.xxx”的ptx指令修改为“ppu.ldmatrix.xxx";
将“cp.async.aiu.xxx”的ptx指令修改为“ppu.cp.async.aiu.xxx”;
SDK 头文件中自定义类型“__ali_bfloat16”修改为“__ppu_bfloat16”;
后面的三类改动会导致之前开源的部分PPU代码库存在编译问题(vllm/cutlass/flash-attn/flashinfer等),需要拉取适配v1.5改动的代码库。
总的来说,以上四类调整会导致在源代码不更新、运行组件局部升级情况下存在编译/运行的兼容性问题,这在内部SDK兼容测试中也得到了体现,建议大家基于完整的v1.5/v1.6 SDK环境来做编译和运行环境的部署。
1.5.4 asight文件兼容性
v1.6 版本中Asight Sytems/Compute 兼容v1.5的报告文件。
2. CUDA生态兼容
2.1 介绍
在PPU平台上开发应用程序,用户既可以基于PPU SDK API开发应用程序,也可以使用CUDA语言编写应用程序,经过PPU编译器重新编译后在PPU 上运行,下图展示了同样的CUDA应用程序分别在PPU和GPU上编译、运行的差异。
CUDA 生态兼容方法:通过代码自动生成技术生成CUDA SDK Wrapper来自动兼容CUDA不同版本的APIs,从而使得用户的CUDA程序经过PPU编译器重新编译后即可在PPU上运行。
通过CUDA生态系统的兼容方案,PPU与GPU在源代码级别上是编译兼容的,但PPU二进制与GPU二进制不兼容。

2.2 CUDA APIs兼容版本
截至PPU SDK V1.6版本,对CUDA APIs版本支持到12.8.0,但是限于硬件架构的区别,对CUDA APIs兼容主要在DeepLearning范畴,下表是目前支持的版本列表。更多CUDA兼容性内容请参见兼容性。
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 |
12.9 预览版 (通过cuda samples、pytorch 2.7 UT测试,但模型等端到端测试不充分) |
2.3 支持的开源框架/库
2.3.1 开源框架/库支持列表
开源框架/库 | 版本 |
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.5.6、2.5.7、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、0.2.3、0.2.6 |
DeepGemm | main |
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、3.0.0 |
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、2.7.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、3.3.0 |
vllm-flash-attn | 2.6.2、2.7.2.post1 |
vllm | 0.6.3.post1、0.6.4.post1、0.6.6.post1、0.7.1、0.7.2、0.7.3、0.8.3、0.8.5、0.9.1 |
xformers | 0.0.22、0.0.25、0.0.27、0.0.29.post1、0.0.30 |
xgboost | 1.6.2、2.0.1、3.0.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 |
trition-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 |
gsplat(*) | 1.5.3 |
lammps(*) | 2024.8.29.0.0 |
lightgbm(*) | 4.5.0、4.6.0 |
MinkowskiEngine(*) | 0.5.4 |
taichi(*) | 1.7.3 |
tilelang(*) | 0.1.4、0.1.5 |
colmap(*) | 3.10 |
mirage(*) | 0.2.4 |
Block-Sparse-Attention(*) | 0.0.1 |
llama.cpp(*) | master |
cuDF(*) | 25.08 |
k2(*) | master |
MagiAttention(*) | 1.0.2 |
taming-3dgs(*) | master |
dgl | 2.4.0 |
HierarchicalKV(*) | master |
SageAttention(*) | 1.0.6、2.0.1 |
BitBLAS(*) | 0.1.0 |
mmsegmentation(*) | 1.2.2 |
torchani(*) | 2.2.4 |
pytorch_scatter(*) | 2.1.2 |
说明:
Pytorch开源支持说明:
Pytorch 2.1及其之前的版本对标NGC
Pytorch 2.1.2及其之后的版本对标torch开源社区RELEASE版本
TensorFlow开源支持说明:
Tensorflow Google社区开源版本1.12仅支持CUDA 9、1.15仅支持CUDA 10 https://www.tensorflow.org/install/source?hl=zh-cn#gpu_support_3
发布Tensorflow 1.15采用NV官方NGC nv22.04的开源版本 https://docs.nvidia.com/deeplearning/frameworks/support-matrix/index.html#unique_1997996242
Tensorflow 1.12采用PAI TF 1.12
Tensorflow 2.4NGC NV 21.02
Tensorflow 2.6 2.7 Google官方开源社区RELEASE版本
Tensorflow 2.8 NGC NV 22.04
Tensorflow 2.10及以上使用Google官方开源社区RELEASE版本
带(*)标志的,如FlashAttention(*) 与cutlass(*)等,完全对标社区开源版本,未做性能优化,仅功能支持。
其它开源框架/开源库 除个别对标NGC以外,大部分对标开源社区RELEASE版本,详情请参考各个使用指南。
对于开源框架/开源库,PPU SDK兼容编译、基本功能运行和UT测试,由于资源限制V1.5 RELEASE并没有解决所有测试中发现的问题,遗留问题请参考【已知问题】章节。
2.3.2 开源框架兼容性
框架 | 版本 | 测试类型 | 通过率 |
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% |
Pytorch | 2.7 | Unit Test | 97.4% |
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% |
Tenorflow | 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% |
VLLM | 0.8.3 | Unit Test | 94.65% |
VLLM | 0.8.5 | Unit Test | 86.61% |
VLLM | 0.9.1 | Unit Test | 74.52% |
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% |
TransformerEngine | 1.11 | Unit Test | 98.69% |
TransformerEngine | 1.5 | Unit Test | 93.7% |
TransformerEngine | 1.7 | Unit Test | 94.3% |
TransformerEngine | 1.8 | Unit Test | 95.2% |
TransformerEngine | 1.9 | Unit Test | 96.1% |
TransformerEngine | 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% |
flashattention | 2.4.2 | Unit Test | 99% |
flashattention | 2.4.3 | Unit Test | 99% |
flashattention | 2.5.0 | Unit Test | 100% |
flashattention | 2.5.1 | Unit Test | 100% |
flashattention | 2.5.2 | Unit Test | 100% |
flashattention | 2.5.3 | Unit Test | 100% |
flashattention | 2.5.4 | Unit Test | 100% |
flashattention | 2.5.5 | Unit Test | 99.9% |
flashattention | 2.5.6 | Unit Test | 99.9% |
flashattention | 2.5.7 | Unit Test | 100% |
flashattention | 2.5.8 | Unit Test | 100% |
flashattention | 2.5.9 | Unit Test | 100% |
flashattention | 2.6.0 | Unit Test | 100% |
flashattention | 2.6.1 | Unit Test | 100% |
flashattention | 2.6.2 | Unit Test | 100% |
flashattention | 2.6.3 | Unit Test | 100% |
flashattention | 2.7.2 | Unit Test | 100% |
vllm-flashattention | 2.6.2 | Unit Test | 100% |
vllm-flashattention | 2.7.2.post1 | 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% |
auto_gptq | 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 | 07.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. 已知问题
3.1 驱动
不支持的cuda api列表可参考CUDA APIs不支持列表。
3.2 编译器
不支持大部分的Texture 和 Surface 相关的 Cuda C++ 扩展 API和相关inline PTX,编译会报错;
不支持 Dynamic Parallelism 相关的 Cuda C++ 扩展 API、Inline PTX 指令的功能,编译会报错;
针对ptx 8.7之上的新增指令,会存在因硬件架构不支持的部分功能,不影响编译,但运行时会报错;
暂不支持 Inline PTX 中 3op min/max 指令,可能会引起编译错误,将在后续修复。
不支持 Inline PTX 中 128bit atomic 指令,不影响编译,但运行时会报错;
不支持 Inline PTX 中 multimem 指令,不影响编译,但运行时会报错;
不支持 Inline PTX 中 griddepcontrol 指令,忽略其定义但不影响编译和运行的过程;
不支持 Inline PTX 中 ld/st 相关指令带有 {.level::eviction_priority} 和 {.level::prefetch_size} 的特性,忽略其定义但不影响编译和运行的过程; .L2::evict_first目前可能会引起编译错误,将在后续修复。
不支持 Inline PTX 中 cache eviction policy 相关的指令和操作数,忽略其定义但不影响编译和运行的过程;
Device 文件编译流程包括 Cuda Device C++ 代码 -> llvm(hgvm) IR -> Device Binary的过程, 但不包含输出 ptx 格式的文件过程; 针对其他平台的代码编译(或Codegen)环节,如带有 ptx 格式的编译环节,需要进行代码适配;
兼容CUDA mma及相关数据搬运的ptx指令中大部分,范围包括特定数据类型(.u8/.s8/.tf32/.bf16/.f16)下的dense/sparse mma指令,相比于使用ppu specific tensor core ptx指令实现,性能会存在损失。如果此类kernel的性能在整个端到端中占比重要,则建议对该kernel代码实现进行算法的重构(参考ppu tensor core ptx用户编程手册及算法重构指南);对不支持的数据类型和功能(如u4/f64/sp::ordered_metadata),不影响编译,但运行时会报错;
3.3 加速库
性能:性能泛化能力有待加强。
aublas:
仅支持列表API,详见CUBLAS APIs支持状态,更多API持续按需支持中,更多API持续按需支持中。
不支持复数数据类型。
Gemm: 默认打开FP32 Tensor Core,由于计算顺序等原因导致精度不能和FP32 FMA完全配置,matrixMulCUBLAS实例会因此失败;
Gemv:仅支持host指针模式;
BlasLt:不支持algo/perf等指定属性;
audnn:
仅支持列表API,详见CUDNN APIs支持状态,更多API持续按需支持中。
Conv:不支持INT64/BOOLEAN数据类型,不支持输入FP16 + 输出FP32。
3DConv:有限调优,性能待加强;
depthwise:某些dgrad用例性能待加强;
BN:1)仅支持alpha==1和beta==0参数;2)不支持ACDNN_BATCHNORM_PER_ACTIVATION模式。
Pooling:不支持ACDNN_PROPAGATE_NAN。
RNN:仅支持acdnnRNNBiasMode_t DOUBLE;仅支持FP16/F32数据类型;仅支持ACDNN_RNN_ALGO_STANDARD;
Activation:不支持ACDNN_PROPAGATE_NAN;不支持SWISH Op。
Softmax:不支持SoftmaxAlgorithm_t FAST。
TensorOp:acdnnReduceTensor不支持MUL_NO_ZEROS。
MultiHeadAttn:仅支持前向op。
Backend:1)不支持前处理融合;2)仅支持最多4个pointwise后处理融合;3)仅支持fp16/fp32/bf16数据类型;4)融合的pointwise操作仅支持alpha1 = 1和alpha2 = 1。
ausolver:
仅支持列表API,详见CUSOLVER APIs支持状态,更多API持续按需支持中。
不支持复数数据类型。
aufft:
仅支持列表API,详见CUFFT APIs支持状态,更多API持续按需支持中。
不支持LTO优化;
aurand:
仅支持列表API,详见CURAND APIs支持状态,更多API持续按需支持中。
仅支持类型:XORWOW/MRG32K3A/PHILOX4_32_10;
仅支持Legacy order;
仅支持分布类型:default、uniform、uniform double、normal、normal double、lognormal、lognormal double;
3.4 互联库
Collective操作性能:16 x 真武810E服务器采用TP 2/4/8 mode时建议aware自己所用机器的icn topo配置情况以来选择最佳的devices placement;
仅支持 nccl netplugin v7的版本;
执行收发sizes不均衡的alltoallV类型操作会有概率性死锁问题,dmesg中能看到"ERR_FAB_REQ_TO"类型的exceptions,此时需做device reset以恢复为正常状态;
多个pccl communicators同时工作在相同PPU下面时,会有概率性死锁的问题, 需尽量规避多个pccl kernels同时launch在同一ppu device下的行为; 避免设置
NCCL_MIN_NCHANNELS为大于16的值可帮助规避此问题;
3.5 Video Codec/Image硬件加速
Video decode不支持raw nvdec模式;
Video decode不支持MPEG1,MPEG2,MPEG4,VC1,VP8等legacy格式;
JPEG不支持lossless,不支持JPEG2000;
NPP目前只支持Image Process接口,不支持Signal Process接口;
3.6 工具
PPU-SMI已知问题,请参考PPU-SMI 已知问题;
Asight Systems已知问题,请参考Asight Systems 已知问题;
Asight Compute已知问题,请参考Asight Compute 已知问题;
管理监控工具DCGM已知问题,请参考DCDM 已知问题;
3.7 框架与模型
开源框架已知问题说明
框架 | 版本 | 已知问题 |
Pytorch | 2.6 |
|
2.7 |
| |
SGlang | 0.4.3 |
|
0.4.7 |
| |
VLLM | 0.7.3 |
|
0.9.1 |
| |
TransformerEngine | 2.0 |
|
flashinfer | 0.2.6.post1 |
|