DragonArray 的黑白丝羽乌骨鸡吉祥物

LoongArch64 性能优化

让龙芯不再回退到标量路径。

为现有硬件充分发挥 LSX 与 LASX 性能而打造的 wheel、补丁、基准测试与底层工具。

面向龙芯 6000 系列及其他支持 LASX 的系统,由独立社区开发。

当前项目

龙芯工具箱,一处汇集。

NumPy 是第一个发布项目,但不是边界。DragonArray 汇集整个软件栈中可直接使用的构建产物,以及支撑其性能结论的完整证据。

01 / 数组计算 现已提供

DragonArray NumPy 补丁集

面向 NumPy 2.5.0-dev 的补丁与 wheel,开启更多 256-bit LASX dispatch 路径,加入向量化数学 kernel,并修复一个 backend primitive。

提供形式
Python 3.12–3.14 wheel + 源码补丁
测试平台
Loongson 3A6000 @ 2.0 GHz
核心结果
135 个组合的原始几何平均加速为 1.81×
02 / 机器学习 现已提供

TensorFlow wheel

面向当前龙芯系统上的 CPython 3.13,提供 TensorFlow 2.21.0 及完整的依赖 wheel 安装包。

当前支持
3A6000 / LA664 + LASX;3A5000/3B5000 + LSX
提供内容
TensorFlow 2.21.0 + 依赖 wheel
等待发布
3C5000 LASX 版本预计一周内发布;暂可使用 3A5000 安装包,性能会有所降低
03 / 密码学 现已提供

BLAKE3 LoongArch SIMD

BLAKE3 的 LoongArch SIMD 移植,为龙芯系统提供架构专属加速。

实现层
BLAKE3 哈希实现
提供形式
loongarch-simd 源码分支
目标
龙芯系统上的 LoongArch SIMD

这里提供什么

可以直接使用的产物,可以亲自核查的证据。

只有当快速路径真正经受住实际机器、真实工具链与真实用户的检验时,架构优化才有意义。每个项目都围绕这一交付目标组织。

01

可安装构建

提供 LoongArch64 wheel 与软件包,省去四处寻找交叉构建的麻烦。

02

源码补丁

可供审查的改动,清楚区分上游已有工作与新增实现。

03

基准测试

同机对比,公开源码版本、编译器、频率和 dispatch 路径。

04

实用工具

让龙芯系统更实用的专门移植与底层工具。

首个发布项目 / NumPy

让更多 3A6000 计算留在 256-bit 路径中。

DragonArray 补丁在 NumPy 现有 LoongArch SIMD 工作的基础上补齐缺失的 LASX 部件,加入新的向量化 ufunc kernel,扩展 dispatch wiring,并提供运行时特性检测。

FLOAT162.77×20 个 operation 组合
FLOAT321.61×27 个 operation 组合
FLOAT641.25×27 个 operation 组合
INTEGER1.86×59 个 operation 组合

Wheel 索引

请在虚拟环境中安装。

提供适用于 linux_loongarch64 的 Python 3.12、3.13 和 3.14 wheel。

~/venvpip
$ pip install --upgrade --force-reinstall \
    --no-index --find-links https://dragon-array.org/wheels \
    "numpy==2.5.0.dev0+dragon.unofficial.1"

硬件重点

以 6000 系列为重心。

项目面向带有 LSX 与 LASX 的现代 64-bit LoongArch 系统。兼容性按每项构建产物分别记录,不会仅凭架构名称作出假设。

当前实测

Loongson 3A6000

当前 DragonArray 构建及其完整基准测试均在这颗桌面级芯片上完成。

更广目标

3C6000 + LASX 系列

后续软件包将面向 3C6000 及相关支持 LASX 的 6000 系列系统构建。

逐项目说明

依靠 dispatch,而非猜测

每个 release 都会明确说明实际使用的 CPU feature、编译器、运行时检测方式与已知兼容边界。

工作原则

“更快”是结论,其余内容是凭证。

01

同类条件才作比较。

相同源码基础、相同编译器、相同机器,双方都使用自己可用的最佳 dispatch 路径。

02

准确标明每一层贡献。

分别说明上游 primitive、DragonArray 新增内容、bug fix 与组合 kernel。

03

公开适用边界。

实验性质、支持的 Python 版本、精度说明和硬件限制始终与下载内容放在一起。