VisionFive开发板NVDLA软件栈当前的支持了吗?

如题,想了解一下当前VisionFive开发板上的JH7100 SoC对于NVDLA软件站适配的情况是什么样的?

看到了内核代码仓的最新提交: nvdla: add NVDLA driver · starfive-tech/linux@03258d4 · GitHub
驱动代码应该是有了的,不知道有没有人测试过相关功能?

官方fedora内核的defconfig文件已经打开NVDLA驱动的编译选项了,如果又板子的话就可以上手实验了:

是的,NVDLA功能已经加进去了,有兴趣的可以玩一玩看。

报名了试用活动,希望能中选 :star_struck:
这芯片的 NVDLA、DSP、NNE的计算能力如果都能够发挥出来还是很强大的(个人主观猜测,NVDLA算力应该不会比玄铁906的向量计算单元弱)。
另外,这芯片同时有RV64和RV32核,玩异构核通讯也是非常有意思。
但是,目前能找到的关于JH7100的文档都很“单薄”,比如现在公开的TRM,是不足以支撑玩DSP、NNE、异构核通讯的。
NVDLA方面的话,英伟达开源了文档和SDK,如果驱动OK的话(驱动代码应该问题不大,dts配置如果没问题的话应该就没啥问题),应该可以跑通。
希望官方能尽快丰富TRM文档,毕竟一般SoC厂商的TRM都是大几百页起步的 :rofl:

1 Like

可能 Fedora 的版本用不了,但是我后面的 Ubuntu 可以试试:wink:

我利用最新的 5.18.0-rc4 做好新内核了,我想请教大家,如何测试有 NVDLA 的内核加速神经网络的运算,或者说利用 ncnn 如何提速?

NVDLA的驱动程序源代码来自NVIDIA开源的NVDLA Open Source Project,它着有配套的网站、软件以及文档。其中,软件部分包含内核态的驱动代码、用户态的计算库,以及配套的测试用例。
软件文档:Software Manual — NVDLA Documentation
GitHub代码仓:GitHub - nvdla/sw: NVDLA SW
简单翻阅一下代码仓可以发现,VisionFive内核仓里面的nvdla驱动代码最初来源应该是这里.
代码仓里还有测试程序,不过我好像没有找到关于他们是如何运行的介绍。
NCNN目前好像还没支持NVDLA,如果是想用现成的框架的话,圈圈虫大佬的TEngine框架已经支持了,可以试试看。
另外,内核编译选项需要确认打开了我前面评论里面的NVDLA驱动的配置项,NVDLA驱动代码才有可能会正常工作。m的话应该是会生成独立的ko文件的,编译完成后应该可以找到一个nvdla相关的ko文件,烧录后,应该也可以在板子的文件系统里找到。
以上内容,我也仅仅是通过网络上了解到的,没有在板子上实际测试验证过,仅供参考,希望对你有帮助 :slight_smile:

非常感谢。

如果我是直接编译进内核。。。

系统我已经做好了,不过桌面环境用不了,因为是 Debian ,目前它们的上有打包有些问题。

1 Like

我一会儿把镜像发给大家。

大家好,我基于 Debian 已经做好一个内核默认 build-in NVLDA 的镜像,大家可以去使用下看看。

2 Likes

直接编译进内核和编译成模块,功能上没有任何差别,芯片厂商如果想以二进制发布驱动的话会选择模块的方式,比如说NVDIA官网的Linux发行版显卡驱动,里面打包的是 ko文件

非常感谢,后续我注意…

对于像树莓派、VisionFive这种的SBC,当然是直接编译进内核更方便一些了。
ko只是比较方便厂商以闭源方式发布驱动,但ko本身的编译和运行是依赖了特定版本的内核的。而如果用户的内核和厂商编译驱动ko时使用的版本不一致,那么很大可能会无法使用。
因此,ko的驱动并不受Linux用户的欢迎,或许这也是Linus说F**k NIVDIA的原因。 :rofl:

1 Like