Need NPU driver 1.5

rockchip just release rknn-toolkit 1.6 version in yesterday , but it need driver version >=1.5 , where can I get NPU driver 1.5?
Please help, Thanks.
http://t.rock-chips.com/forum.php?mod=viewthread&tid=964&extra=page%3D1&page=1

The driver is included in the v1.6 rknn-toolkits release.

I only find npu_transfer_proxy in rknn-toolkits 1.6 release, after update this file, npu driver version still not update to >=1.5, how can I get npu driver version >=1.5? Thanks.

I was also unable to find the NPU FW in the RKNN toolkits release, it’s only the python packages.

@chuchen You can download the release 1.8 image from toybrick, http://t.rock-chips.com/en/portal.php?mod=list&catid=10&product_id=4 , then unpack the image and mount the rootfs.img, from there you can copy out the npu_fw, which is version 1.5.0.

I also copied out the usr/bin/npu_* files as well, the transfer proxy is same as the one provided by Radxa, 2.0.0, however npu_upgrade and npu_powerctrl are different. Not sure if it’s good or bad to use those, but it seems to work though. If you have some input on this, I’d appreciate it.

When I run inference now, this is what version information I get,

I NPUTransfer: Starting NPU Transfer Client, Transfer version 2.0.0 (8f9ebbc@2020-04-03T09:12:43)
D RKNNAPI: ==============================================
D RKNNAPI: RKNN VERSION:
D RKNNAPI: API: 1.4.0 (b4a8096 build: 2020-08-12 10:16:10)
D RKNNAPI: DRV: 1.5.0 (83d70a9 build: 2020-09-30 16:25:49)
D RKNNAPI: ==============================================

The previous DRV version 0.9.9, which is the version in the Radxa deb package, [rockchip-npu_0.6_arm64.deb] seems to be a few fps faster with at least one of my models :face_with_raised_eyebrow:, but I suppose 1.5.0 is still better.

@jack Could someone at Radxa show the Rock Pi N10 some love and update the rockchip-npu_0.6_arm64.deb in your repo with the latest versions of the various files, so that we are sure to use the right files and versions? Right now, I have no idea which version of the /usr/bin/npu_* files I should use.

Can add that running longer tests, the DRV 1.5.0 with the npu_* files copied, the NPU communication is not stable. After loading a few different models, NPU environment initialization fails. Reverting back to the files in the Radxa deb package, it stable again, with no issues running for many hours.

(Not sure if it’s the driver firmware or the npu_* files that is the problem.)

Now I can get NPU driver 1.6 from rockchip’s build rootfs github website
it locate at (https://github.com/rockchip-linux/rk-rootfs-build/tree/master/overlay-firmware/usr/share/npu_fw/)
I hope radxa can update it’s rockchip-npu package to npu driver 1.6,so we can update this by apt install command.
Note: rockpi n10 default npu_fw location is in /usr/lib/firmware/npu_fw , but rockchip default npu_fw location is in /usr/share/npu_fw , so you need to modify /usr/bin/npu_upgrade file, change DIR="/usr/lib/firmware/npu_fw" .

1 Like

Thanks @chuchen for the links and information, hope @radxa do the update.

Is the 1.6 version stable for you?

Using RKNN toolkit 1.6 with NPU driver 1.6 can run my u-net simplified model well (same as driver 1.4). I didn’t feel any difference, but I didn’t test it for long time.
FYI.

@HansO

update: https://wiki.radxa.com/RockpiN10/npu-driver

2 Likes