OpenCL学习笔记(四)手动编译开发库(ubuntu+gcc+rk3588)

前言

笔者本次使用的是RK3588的开发板,内部烧写的是ubuntu20.04,gcc版本是9

本文档简单记录下编译的过程,有需要的小伙伴可以参考下

一、安装所需软件

1.安装git,教程比较多,不再重复

2.安装cmake,教程比较多,不再重复

3.安装gcc编译器

笔者在此说明下,正常在ubuntu下,可以直接使用在线安装命令安装

如sudo apt-get install git cmake cmake-gui build-essential

但ubuntu20.04源中,cmake版本比较低,建议直接去官网下载最新的arm64版本

二、获取源码

项目地址:GitHub - KhronosGroup/OpenCL-SDK: OpenCL SDK

可以直接使用git命令拉取:

git clone --recursive https://github.com/KhronosGroup/OpenCL-SDK.git或者git clone https://github.com/KhronosGroup/OpenCL-SDK.git
cd OpenCL-SDK
git submodule init
git submodule update

 下载过程可能比较长,需要下载几个子模块

若中间失败了,需要继续执行更新

 注:建议使用科学的上网方式,否则可能下载比较慢

三、编译源码

使用cmake设置,点击Configure按钮

笔者使用的是默认编译器,若安装了多个编译器,注意选择下

板子上不方便截图,所以就先不放了

第一次设置时,需要下载缺少的其他工程源码,过程可能比较长

设置参数根据需求,修改下。笔者使用默认参数设置的,全部正常编译通过

笔者建议修改下安装位置,到自定义目录中,以免与其他opencl的库文件冲突

可能需要多次点击configure按钮,全部成功后,点击Generate按钮,生成项目文件

终端里,切换到项目文件目录,执行如下命令

make

若编译成功 ,再执行如下命令,安装到指定目录中

make install

后记

网上也有教程,说可以直接在板子上找到libOpenCL.so的动态库,然后从openCL官网下载头文件,导入工程就可以使用。笔者没有测试过,有需要的小伙伴可以尝试下。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/208630.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

UWB的matlab仿真源码

作品详细文章与下载链接 第一部分:TR-UWB信号的产生和调制 简介 该实践涉及使用 MATLAB 生成和调制 TR-UWB 信号。超宽带信号是一类在频谱中具有宽带而不是窄带的信号信号,具有时间宽度的脉冲产生它。在本次实践中,MATLAB 程序是开发用于生成基带 TR-UWB 信号,我们用…

用23种设计模式打造一个cocos creator的游戏框架----(十)迭代器模式

1、模式标准 模式名称:迭代器模式 模式分类:行为型 模式意图:提供一种方法顺序访问一个聚合对象中的各个元素,且不需要暴露该对象的内部表示. 结构图: ​ 适用于: 1、当你需要遍历一个复杂的数据结构…

promethesu告警规则配置,alertmanager通过webhook通知

文章目录 前言一、promethesu告警二、告警配置编写rule文件prometheus配置prometheus产生告警 三、告警通知prometheus 配置 alertmanageralertmanager 配置 webhook通知编写接口接收 webhook 总结 前言 如果没有学习过prometheus的基础和监控的同学,可以先过一遍这…

融合科技,升级医疗体验——医院陪诊服务的技术创新

随着科技的迅猛发展,医疗服务领域也在积极借助技术手段提升患者体验。本文将探讨如何利用先进的技术代码,将医院陪诊服务推向新的高度。 1. 医疗预约系统的实现 # 通过Python代码实现医疗预约系统 class MedicalAppointment:def __init__(self, patie…

【Python】Numpy库近50个常用函数详解和示例,可作为工具手册使用

本文以yolo系列代码为基础,在其中查找用到的numpy函数,包含近50个函数,本文花费多天,三万多字,通过丰富的函数原理和示例对这些函数进行详解。以帮助大家理解和使用。 目录 np.array()运行示例 np.asarray()函数解析运…

unity 2d 入门 飞翔小鸟 场景延续(八)

1、新建c#脚本如下 代码,在前方生成生成自身图片并3s后销毁自身,在碰撞物体后小鸟死亡后不删除自身 using System.Collections; using System.Collections.Generic; using UnityEngine;public class CopyScene : MonoBehaviour { //要复制的对象public…

Amazon CodeWhisperer 提供新的人工智能驱动型代码修复、IaC 支持以及与 Visual Studio 的集成...

Amazon CodeWhisperer 的人工智能(AI)驱动型代码修复和基础设施即代码(IaC)支持已正式推出。Amazon CodeWhisperer 是一款用于 IDE 和命令行的人工智能驱动型生产力工具,现已在 Visual Studio 中推出,提供预…

uniapp实战 —— 开发微信小程序的调试技巧

手机真机调试微信小程序 开发版和体验版的小程序,域名没有备案时想调试接口访问效果,可以按下述方式操作: 在手机上点右上方三个点,点击“开发调试”,开启调试模式,即可真机访问接口(跳过域名校…

【Vue3从入门到项目实现】RuoYi-Vue3若依框架前端学习——动态路由与菜单栏

菜单栏 若依框架的侧边栏组件通常由菜单项和子菜单组成。 登录后,会获取用户拥有的路由菜单 {"msg": "操作成功","code": 200,"data": [{"name": "System","path": "/system",…

git操作:使用vscode集成

git操作方式 其实git操作一般有三种方式 分别是终端命令行,开发工具集成,专业的git可视化工具 我前面几章说的都是git的命令行操作,今天这篇文章主要是针对开发工具vscode集成git操作进行演示 说明一下,这里之所以选择vscode,是因为本人用的就是vscode,每个开发工具基本都有…

spark链接hive时踩的坑

使用spark操作hive,使用metastore连接hive,获取hive的数据库时,当我们在spark中创建数据库的时候,创建成功。 同时hive中也可以看到这个数据库,建表插入数据也没有问题,但是当我们去查询数据库中的数据时&a…

IDEA 出现问题:Idea-操作多次commit,如何合并为一个并push解决方案

❤️作者主页:小虚竹 ❤️作者简介:大家好,我是小虚竹。2022年度博客之星评选TOP 10🏆,Java领域优质创作者🏆,CSDN博客专家🏆,华为云享专家🏆,掘金年度人气作…

Python---继承

1、什么是继承 我们接下来来聊聊Python代码中的“继承”:类是用来描述现实世界中同一组事务的共有特性的抽象模型,但是类也有上下级和范围之分,比如:生物 > 动物 > 哺乳动物 > 灵长型动物 > 人类 > 黄种人 从哲学…

通过rc.local开机自启执行nohup命令运行Flask,nohup.out中没有Flask请求响应日志

需求 通过修改/etc/rc.d/rc.local,实现开机自启Flask服务,CentOS 7.9。rc.local参考链接1,参考链接2。 问题 在/etc/rc.d/rc.local中添加 /home/python/face_jiance/kaijiziqi.sh 在/home/python/face_jiance/kaijiziqi.sh中写 nohup /…

数据可视化软件的兴起:背后的驱动力

在当今信息时代,数据变得比以往任何时候都更为重要。数据可视化软件的广泛应用成为了一种趋势。那么,为什么越来越多的人选择使用数据可视化软件呢?今天我就以自己的工作经验为基础,进行简单的分析。 数据可视化软件能将枯燥的数…

react-lazyload 的介绍、安装、使用。

目录 基本介绍 安装 使用 基本使用 详细属性 基本介绍 react-lazyload 是一个 React 组件,用于延迟加载(懒加载)页面上的图片或其他资源。懒加载是一种优化手段,它允许页面在初次加载时只加载可视区域内的内容,…

vue3移动端脚手架(纯净,集成丰富)

概述 一个纯净的移动端框架 ,用到了 Vue3 vuex Vite3 Vant3 sass eslint stylelint htmlhint husky commitlint axios axios-adapter VConsole 自定义全局 loading ,自定义函数式 dialog (api模仿微信小程序)&#x…

增强现实中的真实人/机/环与虚拟人/机/环

在增强现实中,真实人与虚拟人、真实机器与虚拟机器、真实环境与虚拟环境之间有着密切的关系。增强现实技术通过将真实与虚拟相结合,打破了传统的现实世界与虚拟世界的界限,创造出了一种新的体验方式。真实人、真实机器和真实环境与其对应的虚…

linux进入emergency mode

问题描述 linux系统进入emergency mode模式 解决方法 查看问题原因 journalctl -xb -p3 使用fsck 不一定是sda2,也可能是其他,我的是/dev/sda6,然后接受所有的option,完毕后重启电脑 fsck /dev/sda2接受所有的选项&#xff…

Python与ArcGIS系列(十六)重复节点检测

目录 0 简述1 实例需求2 arcpy开发脚本0 简述 在处理gis线图层和面图层数据时,有时候会遇到这种情况:数据存在重复节点或伪重复节点(两个节点距离极小),往往我们需要对这种数据进行检测标注或进行修改。本篇将介绍如何利用arcpy及arcgis的工具箱实现这个功能。 1 实例需求…