如何在RK3399中使用opencl并安装QT开发

我也是opencl小白,所以简单记录下opencl使用。(使用XUbuntu系统,而非Ubuntu系统)

首先开发板确定是否已经安装opencl库(clinfo命令查看,如果显示没有此命令,使用sudo apt-get install clinfo安装),如果出现下图所示界面,则系统已经安装,直接跳到 第四步、QT开发,看QT的引用即可

 

如果没有安装,可以参照如下操作

第一步:下载opencl,我的GPU是MALI-T860,所以去arm官网下载对应的SDK

链接如下:

https://developer.arm.com/technologies/compute-library

GitHub下载SDK,Documentation是对应的文档使用手册

 

第二步:编译opencl

参考官网上的opencl文档,找到下图说明

因为我的是64位Ubuntu系统,所以进入第一步下载库的根目录下,执行红色框里面的内容(如果没有安装scons,则先执行sudo apt-get install scons命令安装scons)

我在安装过程中遇到了internal compiler error: Killed()的错误,我按照

https://blog.csdn.net/qq_29573053/article/details/69665996

给出的方法解决了

 

internal compiler error: Killed (program cc1plus)

在 640M 内存的 vps 做编译的时候出现了上述错误.
几经搜索, 才发可能是系统没有交换分区, 编译过程中内存耗尽, 导致了编译中断 …
解决方式也很简单, 就是增加一个交换分区:

1. 创建分区文件, 大小 2G

dd if=/dev/zero of=/swapfile bs=1k count=2048000

2. 生成 swap 文件系统

mkswap /swapfile

3. 激活 swap 文件

swapon /swapfile

这样就木有问题了, 但是这样并不能在系统重启的时候自动挂载交换分区, 这样我们就需要修改 fstab.
修改 /etc/fstab 文件, 新增如下内容:

/swapfile  swap  swap    defaults 0 0

这样每次重启系统的时候就会自动加载 swap 文件了.

 

第三步、安装QT系统

 

安装步骤可参看如下链接

http://dev.t-firefly.com/forum.php?mod=viewthread&tid=12745&highlight=3399%2B%B0%B2%D7%B0%2BQT

 

为防止链接失效,现把链接内容复制如下

 

更新软件源和升级更新软件

  1. sudo apt-get update
  2. sudo apt-get upgrade

       在第二步upgrade的时候老是卡到70%左右,显示连接超时,此时使用sudo apt-get clean命令清除一下,重新upgrade一下,会发现运行到了98%后卡住了。百度没办法,因此在upgrade命令后面添加了 --fix-missing ,让它先安装已经下载好的库。然后在执行sudo apt-get clean命令,在重复执行sudo apt-get upgrade即可

PS:

安装过程中还遇到了dpkg: error processing /var/cache/apt/archives/***.deb的问题,按照网上sudo dpkg -i --force-overwrite /var/cache/apt/archives/***.deb解决。

还有一个libglvnd-dev和mesa-common-dev库缺失问题,使用sudo apt-get install libglvnd-dev mesa-common-dev解决


2、安装qt5

  1. sudo apt-get install qt5-default
  2. sudo apt-get install qtcreator

 


安装完后,在命令行输入qtcreator,会弹出以下界面。




3、配置环境
在option下,选择Build&Run,在Compilers下按add按钮,选择GCC,选择Compilers path:如下图所示。




然后,选择Kits栏,首先要Remove原有的Manual,然后按Add,配置如下图所示。




以上步骤不能弄反,否则无法成功配置。

4、编译运行
新建工程,按左下角的第一个绿色按钮,如果又空白弹窗出现表示配置成功了。


 

在上面链接的第三步,我的板子中没有这个arm-linux-guneabihf-gcc这个文件


这时执行一下$ sudo apt-get install gcc-arm-linux-gnueabihf  device-tree-compiler lzop libncurses5-dev  libssl1.0.0命令就行了

第四步、QT开发

新建一个QT工程,打开pro文件,添加

LIBS += -lOpenCL

INCLUDEPATH += ./CL

将第二步编译好的libOpenCL.so和从网站上下载的CL文件夹放到刚新建的工程下面,(如果系统已经安装好OpenCL,只需考CL文件夹即可)这样就可以引用opencl库函数了

 

评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值