Intel-Cpu-OpenCL-Runtime-SDK的使用和示例源码编译

Intel-Cpu-OpenCL-Runtime

    • 1. 文件目录结构
    • 2. Intel-Cpu-OpenCL-Runtime的SDK安装
    • 3. 编译指令说明
    • 4. github工程下载
    • 5. Linux下Intel-Cpu-OpenCL-Runtime的SDK安装
      • 5.1. 安装命令
      • 5.2. 解决相关问题
        • 5.2.1. clGetPlatformIDs返回-1001错误代码问题

简介:介绍如何安装使用Intel-Cpu-OpenCL-Runtime这个sdk进行opencl程序的开发,运行了实际的例子程序

1. 文件目录结构

├─cmake-build-debug------------编译debug版本的目录
│  └─release
├─cmake-build-release----------编译release版本的目录
│  └─release
├─common-----------------------写好的一些公共源代码文件
├─images-----------------------输入的图片文件
├─include----------------------包含的头文件
│  └─CL------------------------OpenCL的头文件
├─result-----------------------程序处理后的图片保存结果
└─script-----------------------编写的python脚本

2. Intel-Cpu-OpenCL-Runtime的SDK安装

  • 确认安装的系统环境,是Linux还是Windows
  • 下载对应的SDK安装程序,点击此处的Intel-Cpu-OpenCL-SDK官网下载
  • 下载之后可以一键运行安装程序

3. 编译指令说明

mkdir build
cd build
# 编译发布版,使用如下指令;如果是调试版本使用cmake -DCMAKE_BUILD_TYPE=Debug ..
cmake -DCMAKE_BUILD_TYPE=Release ..
cd release
test.exe

3.1. 运行结果说明

输入图片如下所示:

输出图片如下所示:

Intel-Cpu-OpenCL-Runtime-SDK的使用和示例源码编译_第1张图片

3.2. cpp工程的处理流程如下所示:

初始化opencl平台
读取cl文件和rgba文件
判断是否支持cl_khr_image2d_from_buffer扩展
分配输入和输出的buffer
执行过曝操作
执行图片旋转操作
保存结果图片

4. github工程下载


git clone https://github.com/pengzhikang/opencl-learning
cd imagefrombuffer

5. Linux下Intel-Cpu-OpenCL-Runtime的SDK安装

5.1. 安装命令


wget https://registrationcenter-download.intel.com/akdlm/irc_nas/vcp/15532/l_opencl_p_18.1.0.015.tgz
tar zxvf l_opencl_p_18.1.0.015.tgz
cd l_opencl_p_18.1.0.015
chmod +x install.sh
chmod +x ./pset/32e/install_gui
chmod +x ./pset/32e/install
apt-get install cpio
./install.sh

5.2. 解决相关问题

5.2.1. clGetPlatformIDs返回-1001错误代码问题

#查看icd文件信息
cat /etc/OpenCL/vendors/intel64.icd
# 显示结果为:/opt/intel/opencl_compilers_and_libraries_18.1.0.015/linux/compiler/lib/intel64_lin/libintelocl.so
# 对该so文件查看其链接库
ldd /opt/intel/opencl_compilers_and_libraries_18.1.0.015/linux/compiler/lib/intel64_lin/libintelocl.so
# 发现其链接的libnuma.so.1 not found
# 下面命令进行安装libnuma依赖库
apt-get install libnuma-dev -y
# 最后运行编译出来的可执行程序,运行成功。

你可能感兴趣的:(高性能计算,visual,studio,ide,visualstudio)