-
Notifications
You must be signed in to change notification settings - Fork 40
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
take rk3399 as an android device #139
Comments
You have to install one gpu-aware packages using android target flag, e.g.:
Then rebuild classification program against this package and using the same target flag, and then run it with the same flag. Honestly I'm not pretty sure which flag should be used for firefly. You can list all available android targets via command
|
@Chunosov thanks for your reply !! when i try to this command : it can't find file to patch:
|
Ups, that's my fault, @Ziv-Huang . I added ProtoBuf 3.2.0+ packages for Android recently and tested them on Windows (cross-compiling for Android). Unfortunately, patches prepared on Windows are incompatible with Linux (opposite is ok), so I updated them right now and committed. You should now be able to build them. Can you please do the following:
and then restart Caffe build, please? |
The idea behind CK is to let the community use shared workflows and collaboratively fix encountered portability issues in shared packages across different platforms (like in your case), so thanks for your feedback! |
@gfursin thanks, it also can't find file to patch $ ck install package:lib-protobuf-3.2.0-android --target_os=android23-arm-v7a Patching source directory ...
|
I think you have an old or polluted repository. I don't see patch.orig in the master GitHub branch:
It will remove your current ck-env repo and will install a clean one - this should fix your problem ... |
@Chunosov @gfursin it works, thanks. I have a question about caffe-classification and caffe-classification-opencl, when i use caffe-classification-opencl, it shows the mode is gpu, therefore, i try this because i want to run the classification on the gpu of rk3399, executing code ... but i find the libOpenCL.so in the env/xxxxxxxxxxxxxx, how can i do to link it? |
Yes, that's right. caffe-classification is only for CPU mode ... As for libOpenCL.so not found, note that libOpenCL.so on your host is a stub, i.e. it is used just to link an interface to the caffe-classification client, while the library itself is provided by a vendor and will be linked dynamically from your RK3399. This error means that libOpenCL.so is not in a standard path on your RK3399 - you need to find where it is on your device and provide us a path - if it's indeed non standard - we can add a support for it in the CK ... You can also test the following command:
@Chunosov, @psyhtest - can you please tell us where is libOpenCL.so on our RK3399? Thanks! |
I can only find it in various |
@Chunosov - I speak about remove device (accessed via adb), not the host! You will not find vendor OpenCL libraries for Android on the host machine ... |
Someone suggested to find it as follows:
I didn't test it though ... |
Another possible issue is that it's not called libOpenCL.so but something else. In such case you may need to make a soft link to libOpenCL.so . I think we need to wait for an advice from @psyhtest ! |
Actually I didn't search it on my host. I've logged onto firefly and searched there with
|
@gfursin No idea :). @Ziv-Huang's RK3399 is running under Android, while ours is running under Linux. FWIW, the library may be called @Chunosov It's weird you could find it. |
I test the command "$ ck detect platform.gpgpu --opencl --target_os=android21-arm", and it shows that: Resolving software dependencies ... *** Dependency 1 = adb (adb tool): Resolved. CK environment UID = f7ee4c6cbbcab317 (detected version 1.0.32) Initializing device ... OS CK UOA: android21-arm (4d0f80a65f56a174) OS name: Android 7.1.2 Device serial number: FFHYHTC001813000524VP1 Platform init UOA: cd0fdb5de4e07ad7 Number of logical processors: 6 Unique processor: 0 Unique processor: 1 CPU frequency: Detecting GPGPU type: opencl Initializing device ... WARNING: no CK-enabled GPGPU devices found ... does it mean that no opencl exists in rk3399? thanks !!! |
@Ziv-Huang . If a vendor didn't provide OpenCL library to your platform, then OpenCL-version of Caffe will not work. There are two possible solutions:
For example, on my Samsung Galaxy S7 you can see the following:
|
Hi all,
I want to run the caffe-classification in firefly rk3399, so i take it as an android device
and connect to a host machine via ADB. It can work on cpu mode, but i have no idea about how to work on gpu.
have any suggestion ?
thanks.
The text was updated successfully, but these errors were encountered: