GPU Coder library deployment

1 次查看(过去 30 天)
Hi
I successfully generated a static library of a resnet and linked it into my application. The resulted library performs nicely within my application.
Next I tried to link the generated library as a different user into the users application which also worked fine. But as soon as the user runs the application, the linked-in GPU Coder library is trying to load some binary weight files from the build folder which is no longer accessible. Then the application terminates with a 'std::runtime_error' exception pointing to the binary file not available.
How can the binary file be linked into the static library in order to get a more portable library output of the GPU Coder?

采纳的回答

Ganesh Regoti
Ganesh Regoti 2019-11-5
Hi,
As per my understanding, the static library is deployed in user application but is unable to run as it is unable to access weight files.
Here are certain things which you need to cross-verify:
Whether the weight files are transferred/deployed correctly to user’s application.
Even after that if you get errors then try the following:
  • In DeepLearningNetwork.cu file, paths to .bin files are defined, and it is absolute. If you have changed the location of these files, try to give that particular path either absolute or relative (relative to target library location)
  • After that try to rebuild the executable and library using Makefile (command – make -f [Makefile name] )
  • Now try deploying in the users application.
Hope this helps!
  1 个评论
Markus Walser
Markus Walser 2019-11-5
Thank you very much for your answer.
After digging in the generated code I found out there's the environment variable USER_DL_DATA_PATH which can be used to pass the path of the binary weight files to the application.

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Get Started with GPU Coder 的更多信息

产品


版本

R2019b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by