地表最强: 最高90%代码密度优化,64%性能提升,兆松RISC-V工具链正式发布

Talk is cheap, show me the data.  说得天花乱坠,不如给出实际的测试数据来pk一下,今天这篇文章直接切入主题,介绍一下我们的zstudio集成开发环境的全套工具以及性能测试详细数据。

这次兆松科技发布的zstudio IDE包括全套RISC-V elf/linux工具链, newlib, glibc以及c++函数库,  高性能libml DSP函数库, 调试器zdb, 仿真器zemu, ISO 26262 MISRA C安全检测工具等。代码密度和速度是MCU应用等领域非常关心的问题。所以,兆松的第一代RISC-V工具链在这方面做了大量优化。

1.DSP函数库

业界普遍使用的是ARM的CMSIS DSP函数库,但是经我们调研发现,CMSIS DSP函数库中某些算法有非常大的改进空间,目前我们研发的纯算法版libml DSP函数库,实现了transformation类的函数代码密度比CMSIS DSP小90% 至50%的同时性能超过CMSIS DSP,且误差比CMSIS DSP小一个数量级。下图是CMSIS DSP和兆松libml DSP对比。

Code size对比(左-CMSIS DSP, 右-兆松libml DSP)
算法版性能对比(左-CMSIS DSP, 右-兆松libml DSP)
累积误差(左-CMSIS DSP, 右-兆松libml DSP)
代码密度小90% (不带stdio库函数) (左-CMSIS DSP, 右-兆松libml DSP)
代码密度小50% (带stdio库函数) (左-CMSIS DSP, 右-兆松libml DSP)

2.编译器

我们的zcc编译器所编译出来的coremark,在芯来的N300开发板上,跑分3.78,比上游的llvm 11.0高出64%,比上游的RISC-V gcc11.1高出11.4%。

GCC 11.1在N300上面的跑分3.32 CoreMarkMHz
zcc在N300上面的跑分3.78CoreMark/MHz
llvm 11在N300上面的跑分2.23 CoreMark/MHz

在综合测试方面,embench-IoT测试结果显示我们的zcc编译器在性能相当的情况下,代码密度比gcc 11.1平均小33%左右。对于polybench测试,zcc的优势更加明显,代码密度比gcc 11.1平均小38%左右,这些对比测试,gcc和zcc均使用的标准版newlibnano函数库,测试目标为RV32IMAC,开启Os和LTO优化。

Embench-IoT代码密度和性能对比, zcc比gcc 11.1平均小33%左右
Polybench代码密度和性能对比,zcc比gcc平均小38%左右

目前我们编译器针对RVV的自动向量化进展也相当不错,预计2022年第一季度发布一个预览版,下图是和EPI(欧洲超算中心编译器项目)的代码质量对比,详细的对比可以参考文章《RISC-V Vector自动向量化及llvm当中的实现》

下一个版本,除了在编译器层面有更优的性能提升以及代码密度优化之外,我们还会推出完整的支持RVV自动向量化的编译器,以及针对RISC-V P扩展优化过的的libml DSP函数库,其代码密度和性能较算法版将会有非常明显的提升。

3.调试器和仿真器

兆松的zstudio已经完美集成了调试器zdb和仿真器zemu,下图所展示的是使用zdb连接仿真器zemu调试RISC-V程序的例子。我们的zemu除了支持ISS层级的ISA功能仿真之外,还支持SoC层级的虚拟建模和仿真功能,以及near cycle accurate的仿真。

zdb通过zemu调试RISC-V程序

4.ISO26262车规安全检测

车规芯片,除了从硬件设计,制造工艺等方面需要保证符合ISO26262的规范之外,对于在芯片上面执行的应用程序,也需要通过ISO26262的安全规范标准。
兆松科技发布的第一版zchecker车规安全检测工具当中,包括MSRA C 2012的143条安全检测规范,以及修订版1和2里面新增的23条安全检测规范。后续产品会支持MISRA C++ 202x的安全检测。

MISRA C2012检测页面
MISRA C2012详细错误列表和源代码定位

5.zstudio其他功能

zstudio IDE除了支持各种编程语言的语法高亮,自动代码补全,git版本管理,反汇编,控制流图分析,性能分析火焰图等功能之外,还支持丰富的VS Code插件。

Zstudio 反汇编功能
Zstudio 汇编代码控制流图分析

6.未来可期

我们正在紧锣密鼓地部署云端IDE SaaS平台,预计将在2022春季推出,届时将免费开放给所有高校,非商业用户使用。同时,Mac OS平台的zstudio也将在今年春季推出。

兆松云端平台预览

发表评论

您的电子邮箱地址不会被公开。