Firefly开源社区

标题: 关于在Ubuntu上跑OpenCL SDK的问题 [打印本页]

作者: 清月    时间: 2016-12-23 14:11
标题: 关于在Ubuntu上跑OpenCL SDK的问题
本帖最后由 清月 于 2016-12-23 14:13 编辑

我在ARM官网地址:http://malideveloper.arm.com/resources/sdks/mali-opencl-sdk/   下载了OpenCL的SDK,然后按照说明,现在在PC上编译它的sample命令如下:
cd sample/sobel
make install
之后把生成的文件夹整个copy到板子上
在板子上:进入SDK的根目录
cd bin/sobel
./sobel
但是却报错“No such file or dictionary” 请问应该怎么解决?


作者: happyet    时间: 2016-12-23 16:34
file sobel  ,看看是不是 arm的。 还有就是 依赖库是否拷贝过去了。
作者: 清月    时间: 2016-12-23 21:04
happyet 发表于 2016-12-23 16:34
file sobel  ,看看是不是 arm的。 还有就是 依赖库是否拷贝过去了。

$file sobel

sobel: ELF 32-bit LSB exeutable, ARM, EABI5 version 1 (SYSV) , dynamically linked (uses shared libs), for GNU/Linux 2.6.16, not stripped

$./sobel
bash:./sobel : No such file or directory

请问依赖库在哪里,是在SDK的文件夹里吗?我把整个SDK文件夹 Mali_OpenCL_SDK_v1.1.0都拷过去了,不行。
作者: 清月    时间: 2016-12-23 21:11
happyet 发表于 2016-12-23 16:34
file sobel  ,看看是不是 arm的。 还有就是 依赖库是否拷贝过去了。

还有就是,我也觉得可能是依赖库的问题,我在PC上编译一个Hello World,只有静态编译之后扔过去才能用,动态编译扔过去,它也是报一样的错误,"No such file or directory"
但是,官方的文档没提到什么静态编译。。

它是这样写的

Easy guide to building and running your first Mali OpenCL SDK v1.1.0 sample.

Running an OpenCL sample

1.  From a command prompt in the root of the SDK, run:

cd samples/sobel
make install
This compiles the Sobel sample code and copies all the files it needs to run to the bin folder in the root directory of the SDK.

2.  Copy this folder to the board.
3.  Navigate to the folder on the board and run the Sobel binary:

./sobel
You should see output similar to:

Profiling information:
Queued time:    0.067ms
Wait time:      0.057835ms
Run time:       0.164923ms
An output image should be created on the board called output.bmp.

Find solutions for Common Issues.

For more information about the Sobel filter example see the Sobel Filter tutorial.
作者: isle    时间: 2016-12-24 09:59
你有可执行权限么?
作者: 清月    时间: 2016-12-24 11:24
isle 发表于 2016-12-24 09:59
你有可执行权限么?

有的   chmod  777     它颜色也是绿的
作者: happyet    时间: 2016-12-26 10:32
清月 发表于 2016-12-23 21:04
$file sobel

sobel: ELF 32-bit LSB exeutable, ARM, EABI5 version 1 (SYSV) , dynamically linked ( ...

sobel$ readelf -a  ./sobel  | grep "Shared"
0x00000001 (NEEDED)                     Shared library: [libOpenCL.so]
0x00000001 (NEEDED)                     Shared library: [libstdc++.so.6]
0x00000001 (NEEDED)                     Shared library: [libm.so.6]
0x00000001 (NEEDED)                     Shared library: [libgcc_s.so.1]
0x00000001 (NEEDED)                     Shared library: [libc.so.6]

作者: 清月    时间: 2016-12-27 16:25
本帖最后由 清月 于 2016-12-27 16:28 编辑
happyet 发表于 2016-12-26 10:32
sobel$ readelf -a  ./sobel  | grep "Shared"
0x00000001 (NEEDED)                     Shared libra ...

firefly@firefly:~/Desktop/Mali_OpenCL/bin/sobel$ readelf -a ./sobel | grep "Shared"
0x00000001 (NEEDED)                     Shared library: [libOpenCL.so]
0x00000001 (NEEDED)                     Shared library: [libstdc++.so.6]
0x00000001 (NEEDED)                     Shared library: [libm.so.6]
0x00000001 (NEEDED)                     Shared library: [libgcc_s.so.1]
0x00000001 (NEEDED)                     Shared library: [libc.so.6]


和你那个是一样的

作者: AllenWang    时间: 2017-6-16 09:51
我現在RK3288 Android 4.4.x中, 透過adb shell執行 #./sobel, 也是出現 bash:./sobel : No such file or directory.

https://community.arm.com/graphi ... 4?pi72=1&pi69=7 提到

For Android platforms, OpenCL is not currently available via the SDK, so you would need to use RenderScript for this purpose.

ARM's OpenCL SDK only targets Linux platforms such as the Exynos-based Arndale development platform.

We have not created a Renderscript Compute SDK for Android devices.





欢迎光临 Firefly开源社区 (https://dev.t-firefly.com/) Powered by Discuz! X3.1