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.hqwc.cn/news/258497.html

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

相关文章

【FreeRTOS】信号量——简介、常用API函数、注意事项、项目实现

在FreeRTOS中,信号量是一种非常重要的同步机制,用于实现任务间的互斥访问和同步操作。通过信号量,不同的任务可以安全地共享资源,避免竞争和冲突,从而确保系统的稳定性和可靠性。本篇博客将介绍FreeRTOS中信号量的基本…

Kubeadm构建K8S集群指南:从环境准备到Dashboard部署的详细步骤与常见问题解决方案

文章目录 一、环境准备1、准备1主2从2、设置主机名与时区3、添加hosts网络主机配置4、关闭防火墙5、验证是否配置正确 二、安装Kubeadm1、在每个Centos上安装Docker2、确保从cgroups均在同一个从groupfs3、安装kubeadm集群部署工具4、关闭交换区5、配置网桥6、通过镜像安装k8s7…

SIT3232E高静电防护,单电源供电,双通道,RS232 收发器

SIT3232E 是一款 3.0V~5.5V 供电、双通道、低功耗、高静电防护 ESD 保护,完全满足 TIA/EIA-232 标准要求的 RS-232 收发器。 SIT3232E 包括两个驱动器和两个接收器,具有增强形 ESD 保护功能,达到 15kV 以上 HBM ESD 、 8kV …

JOSEF 单稳态中间继电器 UEG/A-4H-L DC110V 导轨安装

系列型号 UEG/A-2H2D中间继电器UEG/A-4H4D中间继电器UEG/A-2D中间继电器 UEG/A-2H中间继电器UEG/A-4H中间继电器UEG/A-4D中间继电器 UEG/A-6H中间继电器UEG/A-6D中间继电器UEG/A-8H中间继电器 UEG/A-10D中间继电器UEG/A-10H中间继电器UEG/A-2DPDT中间继电器 UEG/A-4DPDT中…

软考2018下午第六题改编逻辑(状态模式)

在状态模式中,我们创建表示各种状态的对象和一个行为随着状态对象改变而改变的 context 对象 package org.example.状态模式.软考航空;/*** author lst* date 2023年12月07日 15:37*/ class FrequentFlyer {CState state;double flyMiles;public FrequentFlyer() {…

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

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

HHDESK右键管理简介

在HHDESK管理文件,除了基本的打开、删除、复制、粘贴、重命名外,还有多种便捷编辑方式。 可以分别以下列模式打开文档: 文本模式即是以文本编辑器打开文档。 1 二进制模式 可进行二进制编辑。 2 JSON模式 可对JSON文件进行直观的解析…

本地团购分销:解密最新赚钱模式,带你开启财富之门!APP小程序H5三端源码交付,支持二开!

近年来,随着互联网的迅猛发展和电子商务的普及,本地团购分销逐渐成为了一种热门的赚钱模式。它不仅为消费者提供了更多的购物优惠,同时也给商家和分销商带来了可观的利润。在这篇文章中,我们将详细介绍本地团购分销的运作原理和盈…

【操作系统笔记】-文件系统

引言 之前已经学习过数据在内存中是如何表示,如何存储,但是这些存储在PC断电后数据便消失。因此我们需要一个可以持久化存储并且容量远远大于内存的结构,这一篇我们将学习,文件是如何被组织和操作的,这是一个操作系统…

IO流(Java)

IO流 在学习IO流之前,我们首先了解一下File File File即文件或文件夹路径对象,其示例类可以是存在路径也可以是未创造路径 File有什么用 用于创建或操作文件或文件夹 File常用API API部分看得懂会查会用即可 IO流 IO(Input 读数据 Output写数据…

AMEYA360-罗姆ROHM开发出采用SOT-223-3小型封装的600V耐压Super Junction MOSFET

全球知名半导体制造商ROHM(总部位于日本京都市)开发出采用SOT-223-3小型封装(6.50mm7.00mm1.66mm)的600V耐压Super Junction MOSFET*1“R6004END4 / R6003KND4 / R6006KND4 / R6002JND4 / R6003JND4”,新产品非常适用于照明用小型电源、电泵和电机等应用。 近年来&a…

【展望2024】,从软件测试用例开始学习起

1. 测试用例的概念 测试用例就是测试人员向被测试系统发起的一组集合,该集合包括测试环境,测试数据,测试步骤,预期结果 2. 设计测试用例的好处 在测试前都要先设计测试用例,设计测试用例有如下好处: 测…