2025 年 4 月 8 日至 11 日,由 RISC-V 国际基金会全球发起、北京开源芯片研究院和 openEuler 社区联合主办的 RISC-V Hackathon 北京分会场圆满落幕。北京分会场以香山处理器的软硬件优化为核心主题,吸引了广大的开发者和爱好者,呈现出了 RISC-V 社区持续生长的技术生命力。本次北京场 Hackathon 基于知名硬件开源项目实践,精心设计了一个紧贴应用场景的命题项目,旨在引导参与者解决真实世界的技术难题:ChaCha20 加密算法优化,结合 RISC-V 处理器“香山” ,对其上的 ChaCha20 加密算法进行性能调优。活动首日,由香山开源社区负责人安旭、openEuler TC&RISC-V Advocate 王经纬、中国科学院计算技术研究所工程师姚治成以及香山开源社区主席唐浩晋分别向在场的学生们详细介绍了香山社区、openEuler RISC-V 社区、RISC-V 国际基金会以及万众一芯项目,话题覆盖了 RISC-V 在软硬件生态领域的相关大型开源项目:出题人陈泱宇为大家讲解赛题 ChaCha20 加密算法:RISC-V 国际基金会大使刘珊老师带领同学们参观香山项目下一代芯片的研发区域:(陈泱宇老师通过线上和线下的方式,全程为北京场地和 online 线上的选手们提供了宝贵的远程技术指导,分享了他在 RVV 向量化优化、香山处理器架构等方面的丰富经验)经过几天的奋战,4月 11 日下午终于迎来了成果展示环节。各位选手和团队依次介绍了他们的项目成果。现场的所有选手和团队均成功完成了各自的项目,并在一些优化项目上取得了较好的性能。选手们提交成功率达到 83%(5/6),而超过 baseline 的概率则为 100%(5/5)。在所有队伍中,有 60%(3/5)的队伍提交的代码采用了向量扩展技术,其中一支队伍仅使用 Vector Load/Store 实现内存拷贝,其余两支队伍则利用向量技术进行计算。来自华南理工大学的韩炳晋同学提交的代码是北京赛区性能第一,也是整个比赛的所有提交中计算部分全部使用了向量的最高性能。在编写代码上还运用了 RISC-V Vector Intrinsic 实现,代码具备很好的可阅读性和可维护性。
来自北京航空航天大学的张仁鹏同学提交的代码实现了一个简单的 Zvbb 扩展实现的 ChaCha20 算法,并通过香山的 RTL 模拟器的反馈发现了指令之间依赖对性能的影响,并在这个问题上进行了详细的优化,最终超过了 baseline 以及编译器直接生成向量扩展的性能,获得了北京赛区的第二名。来自中科院信工所的刘馨鸿与王琳两位同学选择 online 参赛,提交的代码对ROTATE 操作使用了 Zbb 扩展中的 roriw 指令进行了实现,两位同学充分体验了 RISC-V 指令集扩展的能力以及香山微架构上进行性能实验的方法,获得了北京赛区第三名。陈泱宇锐评:选手们充分利用香山对 RVA23 Profile的支持,包括 V、Zvbb等扩展,在开发上还使用了 RISC-V Vector Intrinsic,在代码可读性有所保证的同时实现了巨大的性能提升。最高分选手所提交的汇编指令在香山昆明湖 RTL 的 Verilator 仿真器上运行,比 GCC 14.2 编译器使用 rv64gc 开启 O3 优化生成的代码提升了 76.4% 的性能。比赛展示了香山 RTL 上的软件优化调试过程,让选手们体验到香山微架构的性能特性和开源工具链的便利,为后续香山微架构上的软件优化提供了一个优秀的实践平台。4 月 11 日下午 14:30,通过腾讯会议和武汉 Hackathon 分会场进行技术连线,双方共同展示了香山 chacha20 加密算法优化成果。
本次 hackathon 还特别吸引了到来自印度大使馆的 Kalyan Revella 先生前来参观,他与我们的选手一起愉快地完成了闭幕仪式。
点我访问原文链接