NPU SDK 6.4.6.2

Hi,
It seems that with the latest version of the NPU SDK (6.4.6.2), the NPU is trying to load some kernels from binaries instead of files, as he did in previous versions:

  • The kernels that used to be provided in linux_sdk/build/sdk/nngpu_kernels folder should now be in the libNNGPUBinary.so binary
  • The kernels that used to be provided in linux_sdk/build/sdk/nnvxc_kernels folder should now be in the libNNVXCBinary.so binary
  • The kernels that used to be provided in linux_sdk/build/sdk/ovx12_vxcKernels folder should now be in the libOvx12VXCBinary.so binary

Nonetheless, I didn’t find these new kernel binaries anywhere. Would it be possible to add them to the aml-npu package? Without them, some models are broken, as they can’t load the kernels they need.

@numbqq, @Frank

Thanks!

@sinitame Which demo do you need to use these libraries when running ?

Hi @Frank, it’s not a particular demo.
I did my own Rust binding of the libOpenVX.so and I’ve a Rust code base that can run my models calling the binded methods.

My code is running fine with SDK 6.4.3 (which seems to be able to find the kernels properly in the build/sdk/nngpu_kernels, build/sdk/nnvxc_kernels and build/sdk/ovx12_vxcKernels directories). It also runs with SDK 6.4.4.3 (which seems to look for libNNGPUBinary.so, libNNVXCBinary.so and libOvx12VXCBinary.so libraries instead if the previous files).

From what I saw, the three .so mentioned weren’t part of the initial SDK 6.4.4.3 release but were added later on following this request. That’s what make me think the issue comes from these missing libraries.

@sinitame Maybe you can try this

Hi @Frank,
I’ve tried to include the files you pointed using export LD_LIBRARY_PATH=<path_to_dir_with_files> and it removed the error I had. However I now get the following error when running my code:

gcSHADER_LoadHeader: shader binary file's version of 0.0.1:67 is not compatible with current version 0.0.1:64
Please recompile source.

@sinitame This should be caused by a version mismatch. I haven’t tried this binary library, and I don’t need to use it here.