OpenCL学习笔记(二)手动编译开发库(win10+vs2019)

news2024/11/23 8:12:48

前言

有时需求比较特别,可能需要重新编译opencl的sdk库。本文档简单记录下win10下,使用vs2019编译的过程,有需要的小伙伴可以参考下

一、获取源码

项目地址: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按钮,生成项目文件

双击OpenCL-SDK.sln文件或直接点击Open Project按钮,打开VS

分别在debug和release模式下,右键点击ALL_BUILD选择编译

若编译成功,右键点击INSTALL将已经编译好的库,安装到指定目录中

笔者使用默认参数编译,已经编译好的库,可以直接下载

后记

编译生成了很多库,部分库区分debug与release版本,在使用时,需要注意下

若无特别要求,可以直接使用官方的预编译库就可以

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

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

相关文章

【剑指offer|图解|数组】寻找文件副本 + 螺旋遍历二维数组

🌈个人主页:聆风吟 🔥系列专栏:数据结构、剑指offer每日一练 🔖少年有梦不应止于心动,更要付诸行动。 文章目录 一. ⛳️寻找文件副本(题目难度:简单)1.1 题目1.2 示例1.3 限制1.4 解题思路一c代…

2023年第一次系统架构师备考经历

12月7日成绩已经出来,果然最担心的案例分析没有过,才考了40分,还差5分,我就可以一次拿下证书,好可惜啊,今年的题出的有点偏,大数据居然成为必答题,平常是搞Java,大数据方…

做抖店代发,新手如何定类目?五大类目优缺点分析!

我是电商珠珠 类目是店铺的方向,只有将店铺的定位确定好,才能超越大部分的同行。 我经常跟我的学生讲,选择类目的时候不能瞎选,要学会去分析市场,由于大部分的学员前期都是新手小白,所以我们这边会负责给…

[Linux] 用LNMP网站框架搭建论坛

一、nginx在其中工作原理 原理: php-fpm.conf是控制php-fpm守护进程 它是php.ini是一个php解析器 工作过程: 1.当客户端通过域名请求访问时,Nginx会找到对应的虚拟主机 2. Nginx将确定请求。 对于静态请求,Nginx会自行处理…

听GPT 讲Rust源代码--src/tools(9)

File: rust/src/tools/rust-analyzer/crates/ide-assists/src/handlers/apply_demorgan.rs 在Rust源代码中,apply_demorgan.rs文件位于rust-analyzer工具的ide-assists库中,其作用是实现一个辅助函数,用于在代码中应用De Morgan定律的变换。 …

第二十一章网络通信总结

网络程序设计基础 局域网与互联网 为了实现两台计算机的通信,必须用一个网络线路连接两台计算机。如下图所示 网络协议 1.IP协议 IP是Internet Protocol的简称,是一种网络协议。Internet 网络采用的协议是TCP/IP协议,其全称是Transmissi…

SPRD Android 13 下拉状态栏菜单添加静音快捷键简单记录

SPRD Android 13 下拉状态栏菜单添加静音快捷键简单记录 需要修改文件具体修改补丁吐槽需要修改文件 frameworks/base/packages/SystemUI/res/values/config.xml frameworks/base/packages/SystemUI/src/com/android/systemui/qs/tileimpl/QSFactoryImpl.java frameworks/base…

Java入门 EditPlus的安装与配置讲解

写Java程序不建议使用EditPlus,首选idea社区版,其次是vscode, 然后是eclipse 。editplus说实话排不上号。 但既然小伙伴想了解一下怎么配置,这里就简单说一下。 下载 首先是jdk,jdk是Java开发和运行的基础&#xff…

【MySQL】:库的操作

库的操作 一.创建和删除数据库二.认识编码三.库的查改1.查找2.修改 四.库的备份和恢复1.备份2.还原 一.创建和删除数据库 说明: 1.大写的表示关键字 2.[] 是可选项 3.CHARACTER SET: 指定数据库采用的字符集 4.COLLATE: 指定数据库字符集的校验规则首先进入MySQL 创…

Verilog基础:时序调度中的竞争(三)(#0的使用)

相关阅读 Verilog基础https://blog.csdn.net/weixin_45791458/category_12263729.html?spm1001.2014.3001.5482 作为一个硬件描述语言,Verilog HDL常常需要使用语句描述并行执行的电路,但其实在仿真器的底层,这些并行执行的语句是有先后顺…

IDEA构建springBoot新项目时JDK只有17和21,无法选择JDK8解决方案

今天创建springboot新项目时,发现IDEA里JDK选项只有17和21,无法选择本机的JDK8,网上查资料后发现是springboot2.7于11.24号后停止维护,基于2.7和java8的spring Initializ官方不再维护,解决方案是在server URL栏&#x…

【WebRTC】【Unity】Unity Web RTC1-Unity中简单实现远程画面

【项目资源下载】 本篇配套直接打开可用的项目包地址,欢迎下载: https://download.csdn.net/download/weixin_41697242/88612084 【背景】 想要在Unity中实现实时远程桌面,找到了Render Streaming这个手段,本篇介绍相应的使用方法和实例。 【要求】 平台:基本常用平台…

【数据结构和算法】--- 栈

目录 栈的概念及结构栈的实现初始化栈入栈出栈其他一些栈函数 小结栈相关的题目 栈的概念及结构 栈是一种特殊的线性表。相比于链表和顺序表,栈只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶,另一端称为栈底。栈中的…

机器人学习目标

学习目标: 若干年后,我们都将化为尘土,无人铭记我们的存在。那么,何不趁现在,尽己所能,在这个世界上留下一些痕迹,让未来的时光里,仍有人能感知到我们的存在。 机器人协会每届每个阶…

【开源】基于Vue.js的公司货物订单管理系统

文末获取源码,项目编号: S 082 。 \color{red}{文末获取源码,项目编号:S082。} 文末获取源码,项目编号:S082。 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 客户管理模块2.2 商品维护模块2.3 供…

Ultimate VFX

Ultimate VFX 构建套件:

C++实现2024新年日历

日历计算 平年润年计算 首先大概日历最麻烦的就是2月份的计算了,因为会需要考虑到平年还是闰年。每年的2月份天数的计算方法,如果年份能被4整除但不能被100整除,或者能被400整除,那么这一年的2月份只有29天(闰年&…

idea import 不让打包时自动带*

场景 因为多人开发,合代码时经常发现因自动import带*了,导致各种问题。 解决

docker学习(八、mysql8.2主从复制遇到的问题)

在我配置主从复制的时候,遇到了一直connecting的问题。 起初可能是我ip配置的不对,slave_io_running一直connecting。(我的环境:windows中安装了wsl,是ubuntu环境的,在wsl中装了miniconda,mini…

为什么要使用AI伪原创工具?盘点最新的几款AI伪原创工具

在数字时代,内容创作已成为广大从业者不可或缺的任务。为了满足不断增长的需求,许多人正在寻找可以帮助他们更高效地生成原创内容的解决方案。本文将专心分享一些优质的AI伪原创工具。 为什么要使用AI伪原创工具 随着内容创作的不断发展,越来…