IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> Ubuntu配置Intel oneAPI DPC++/C++ Compiler(icpc/icc) -> 正文阅读

[系统运维]Ubuntu配置Intel oneAPI DPC++/C++ Compiler(icpc/icc)

Ubuntu配置Intel oneAPI DPC++/C++ Compiler(icpc/icc)

  1. 首先从Intel的官方下载
    https://www.intel.com/content/www/us/en/developer/articles/tool/oneapi-standalone-components.html#dpcpp-cpp
    根据自己的OS选择即可,文件名后面带星号的为online在线安装的版本(相当于只是个下载器),这里我选择了offline即离线版本
    在这里插入图片描述
  2. 下载完成后执行上一步下载的.sh文件,具体文件名根据你当时下到的版本改动一下,之后一路默认配置一直点next即可
sudo ./l_dpcpp-cpp-compiler_p_2022.0.2.84_offline.sh
  1. 完成安装后进入安装目录,这里根据你当前使用的用户可能安装路径有区别(如果未指定路径)
    如果是sudo用户执行的,则目录应该在./opt/intel/oneapi,而如果是普通用户则应该是在$HOME/intel/oneapi
  2. 进入上述目录后,我们可以看到有一个名为setvars.sh的脚本,这是自动配置环境的,执行source setvars.sh intel64命令,需要注意的是如果你之后重启机器了需要再次执行该命令,网上也有如何解决source命令配置的环境如何做到写入profile一样永久效果的文章,不再赘述。如果你的机器是32位的,则后面的intel64参数可以修改为ia32
  3. 最后用一次测试用例看看是否配置成功
#include <CL/sycl.hpp>

int main() {
  // Creating SYCL queue
  cl::sycl::queue Queue;

  // Creating buffer of 4 ints
  cl::sycl::buffer<cl::sycl::cl_int, 1> Buffer(4);

  // Size of index space for kernel
  cl::sycl::range<1> NumOfWorkItems{Buffer.get_count()};

  // Submitting command group to queue
  Queue.submit([&](cl::sycl::handler &cgh) {
    // Getting write only access to the buffer on a device
    auto Accessor = Buffer.get_access<cl::sycl::access::mode::write>(cgh);
    // Executing kernel
    cgh.parallel_for<class FillBuffer>(
        NumOfWorkItems, [=](cl::sycl::id<1> WIid) {
          // Fill buffer with indexes
          Accessor[WIid] = (cl::sycl::cl_int)WIid.get(0);
        });
  });

  // Getting read only access to the buffer on the host
  const auto HostAccessor = Buffer.get_access<cl::sycl::access::mode::read>();

  // Check that the results are correct
  bool MismatchFound = false;
  for (size_t I = 0; I < Buffer.get_count(); ++I) {
    if (HostAccessor[I] != I) {
      std::cout << "The result is incorrect for element: " << I
                << " , expected: " << I << " , got: " << HostAccessor[I]
                << std::endl;
      MismatchFound = true;
    }
  }

  if (!MismatchFound) {
    std::cout << "The results are correct!" << std::endl;
  }

  return MismatchFound;
}

对这个代码进行编译

dpcpp simple-sycl-app.cpp -o simple-sycl-app

执行

./simple-sycl-app

如果最后结果出现The results are correct!,代表配置成功了,大功告成

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-05-01 16:08:03  更:2022-05-01 16:08:54 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 17:48:28-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码