专为Intel Arc GPU设计:oneAPI的详细图文安装教程

简介: 本次我们基于Intel Arc系列的GPU,在windows的WSL上安装oneAPI,之前发表过纯CPU,通过VM虚拟机的方式,而现在我们在WSL上实现GPU版本的安装

前言

本次我们基于Intel Arc系列的GPU,在windows的WSL上安装oneAPI,

之前发表过纯CPU,通过VM虚拟机的方式,而现在我们在WSL上实现GPU版本的安装

windows上使用vmare-Ubuntu18 安装oneAPI、oneDNN

更新时间:2022-12-06 15:36:42

跳转

环境

系统OS CPU GPU WSL 内核版本 WSLg Ubuntu
windows11专业版22H2 22621.819 13th Gen Intel(R) Core(TM) i5-13600KF lntel(R) Arc(TM) A770 Graphics 1.0.0.0 5.15.74.2 1.0.47 22.04

基础知识

因为是在WSL上操作,所以需要知道WSL的基本操作,我们可以参考官方的文档,接下来只列出常用的命令
  1. 安装:wsl --install
  2. 安装Ubuntu
  1. Microsoft store搜索ubuntu,选择合适的版本,点击获取,下载完成后会自动启动安装,安装时要求输入一个新的用户名和密码。
  2. 某些情况不能在Microsoft store安装的时候,可以前往这里,使用以下链接来下载并手动安装 Linux 发行版。
  1. 修改wsl系统存放路径(当你C盘吃紧的时候,可以时候,)
  1. 使用wsl -l --all -v查询你安装的子系统名称
  2. 打包wsl,导出子系统
    wsl --export 子系统名称 D:\子系统名称.tar
  3. 注销原wsl系统
    wsl --unregister 子系统名称
  4. 从其他分区导入子系统,这里的路径名就是你搬家后的目的地址
    wsl --import 新子系统名称 d:\路径名 D:\子系统名称.tar
  5. 设置默认用户
  1. 因为搬家后,用户名不会是你原来一开始设置的,但是密码一样,用户名会变成root,如果觉得难受,可以用以下命令修改
  2. 使用wsl命令启动:
wsl --distribution <Distribution Name> --user <User Name>
  1. 如果使用powershell,可以直接这样设置

1032907437.png

  1. 还可以使用命令:子系统名称 config --default-user your_username
  1. 启动方式
  1. 手动输入wsl -d 系统名,接下来会在后台自行启动,接下来每次输入ubuntu就会自行进入
  2. 直接输入ubuntu就会自行进入
  3. 安装过window Terminal的同志可以在“+”直接启动ubuntu
  1. 友情提醒:使用Ubuntu之前请更换国内源,这里不做过多介绍
  2. windows与WSL文件关系
  1. 在windows的文件资源管理器输入\\wsl$就能进入linux文件系统
  2. 默认打开的~的就是home/your name 的文件夹里面,windows系统挂载在mnt里面
  3. 在WSL中输入explorer.exe .可以直接打开windows的文件资源管理器,能够查看linux相关文件

oneAPI安装

下载安装包

打开网址,下载Intel oneAPI Base ToolkitIntel® oneAPI HPC Toolkit离线版本,在线版本可能会有网络错误什么的,所以能离线最好离线。

如果电脑可以快速上网的话,推荐在windows下好,以Base Toolkit为例313009085.jpg

再根据windows和WSL的文件关系,直接移入linux文件系统。

3250754511.jpg分别输入sudo sh ./l_BaseKit_p_2022.3.1.17310_offline.shsudo sh ./l_HPCKit_p_2022.3.1.16997_offline.sh

图形界面安装

  1. 等待命令加载如图所示窗口。

3480970018.jpg

  1. 选中协议,并且使用Customize

2749922180.jpg

  1. 去除intel优化的python,Intel社区有层贴说自带的python直接安装存在问题,建议通过Anaconda安装 Intel Distribution for Python

886546036.jpg

  1. 继续运行,你会发现如下几个问题:

2707763951.jpg

第一个问题属于没有安装Intel GPU的驱动。

  • 首先我们是在windows的大环境下的,所以需要在windows安装intel GPU的驱动,点击这里安装
  • 接下来我们在WSL的Ubuntu 22.04环境下
sudo apt-get install -y gpg-agent wget
wget -qO - https://repositories.intel.com/graphics/intel-graphics.key |
sudo gpg --dearmor --output /usr/share/keyrings/intel-graphics.gpg
echo 'deb [arch=amd64,i386 signed-by=/usr/share/keyrings/intel-graphics.gpg] https://repositories.intel.com/graphics/ubuntu jammy arc' | \
sudo tee  /etc/apt/sources.list.d/intel.gpu.jammy.list
  • 这个代码具有版本迁移性,jammy是22.04的版本代号,如果使用其它版本,可以替换相应的版本!
sudo apt-get install intel-opencl-icd intel-level-zero-gpu level-zero
  • 最后,关闭WSL,重新启动安装界面,这个报错就能消失。

2264723234.jpg

2722250770.jpg2993582879.jpg第二个问题就是缺少了关键的包,大家可以对比文章,是否就缺少了如上,我将这些错误提示整合起来,方便大家一键安装

sudo apt-get install libgbm1 libgtk-3-0 libnotify4 libnss3 xdg-utils libxcb-dri3-0 libatspi2.0-0

第三个kernel headers的问题在前面两步操作后刷新就不存在了,但在实际编译文件之后就会报头文件缺少的错误,并且无法使用上面的WSL2标准库命令进行安装,我们需要使用如下命令

sudo apt install build-essential flex bison dwarves libssl-dev libelf-dev

接下来刷新界面

就能出现IDE配置界面,如果没有这个我们可以直接跳过

3974740051.jpg

然后点击同意协议

2526966912.jpg

直到安装成功。

3148687397.jpg

解决完Base Tooolkit的问题,接下来安装HPC,相同流程下来没有任何报错信息。

DEMO

// gpu_sample.cpp
// 使用这个DEMO,能够检查安装oneapi是否编译成功,另外也能检测GPU是否启用
#include <CL/sycl.hpp>
using namespace cl::sycl;
int main() {
  //# Create a device queue with device selector
  gpu_selector selector;
  //cpu_selector selector;
  //default_selector selector;
  //host_selector selector;
  queue q(selector);
  //# Print the device name
  std::cout << "Device: " << q.get_device().get_info<info::device::name>() << "\n";
  return 0;
}

编译方法:

source /opt/intel/oneapi/setvars.sh
dpcpp gpu_sample.cpp
./a.out


2428324639.jpg

如图所示,结果为intel的GPU,说明GPU下的oneAPI安装成功

关于oneDNN的说明

oneAPI的Base Toolkit组件已包含:oneDNN

GITHUB上的oneDNN仓库是处于开发版不稳定状态,如果想要稳定功能,直接在toolkit里安装,这样方便。

组件卸载/修复

如果觉得自己安装的组件有问题,需要卸载和修复

在oneapi Base toolkit的安装包目录,重新执行sudo sh ./l_BaseKit_p_2022.3.1.17310_offline.sh或者sudo sh ./l_HPCKit_p_2022.3.1.16997_offline.sh

就能出现管理界面:

1127159574.jpg

例如我们增加和卸载组件,就可以打开安装时候的界面,在这个界面能够自己管理自己的组件

1242954540.jpg

继续执行等待修改,直到成功!

2690701920.jpg

致谢

最后,感谢教育部-英特尔产学合作专业综合改革项目提供的DevCloud平台支持,感谢英特尔亚太研发有限公司技术团队提供的技术支持。

有关高性能计算课程及相关资料请参阅以下链接:

基于OneAPI的高性能计算

高性能计算实验(教育部产学合作协同育人项目


相关实践学习
基于阿里云DeepGPU实例,用AI画唯美国风少女
本实验基于阿里云DeepGPU实例,使用aiacctorch加速stable-diffusion-webui,用AI画唯美国风少女,可提升性能至高至原性能的2.6倍。
目录
相关文章
|
4月前
|
弹性计算 运维 监控
GPU实例使用--vGPU驱动自动安装和升级
为了适配最新的渲染软件,以及驱动稳定性的提升,vGPU实例的驱动需要定期进行升级,因为使用vgpu的客户多数为渲染和云游戏等业务场景,对vGPU驱动的快速升级和批量自动化要求比较高。
GPU实例使用--vGPU驱动自动安装和升级
|
4月前
|
并行计算 Linux Docker
Docker【部署 07】镜像内安装tensorflow-gpu及调用GPU多个问题处理Could not find cuda drivers+unable to find libcuda.so...
Docker【部署 07】镜像内安装tensorflow-gpu及调用GPU多个问题处理Could not find cuda drivers+unable to find libcuda.so...
285 0
|
3月前
|
人工智能 弹性计算 Ubuntu
【Hello AI】安装并使用Deepnccl-多GPU互联的AI通信加速库
Deepnccl是为阿里云神龙异构产品开发的用于多GPU互联的AI通信加速库,能够无感地加速基于NCCL通信算子调用的分布式训练或多卡推理等任务。本文主要介绍在Ubuntu或CentOS操作系统的GPU实例上安装和使用Deepnccl的操作方法。
|
3月前
|
弹性计算 并行计算 UED
带你读《弹性计算技术指导及场景应用》——4. 自动安装NVIDIA GPU驱动和CUDA组件
带你读《弹性计算技术指导及场景应用》——4. 自动安装NVIDIA GPU驱动和CUDA组件
|
3月前
|
并行计算 PyTorch 算法框架/工具
NumPy 高级教程——GPU 加速
NumPy 高级教程——GPU 加速【1月更文挑战第4篇】
192 1
|
4月前
|
并行计算 Linux 计算机视觉
DeepFace【部署 04】轻量级人脸识别和面部属性分析框架deepface使用Docker部署CPU+GPU两个版本及cuDNN安装
DeepFace【部署 04】轻量级人脸识别和面部属性分析框架deepface使用Docker部署CPU+GPU两个版本及cuDNN安装
212 0
|
4月前
|
并行计算 Linux Docker
Docker【部署 05】docker使用tensorflow-gpu安装及调用GPU踩坑记录
Docker【部署 05】docker使用tensorflow-gpu安装及调用GPU踩坑记录
127 0
|
4月前
|
弹性计算 并行计算 UED
GPU实例使用--自动安装NVIDIA GPU驱动和CUDA组件
GPU 云服务器正常工作需提前安装正确的基础设施软件,对于搭载了 NVIDIA 系列 GPU卡的实例而言,如果把 NVIDIA GPU 用作通用计算,则需安装 NVIDIA GPU 驱动、 CUDA、cuDNN等软件。
100958 3
|
4月前
|
机器学习/深度学习 IDE TensorFlow
进入DSW后,如何把工作环境切换为GPU状态
进入DSW后,如何把工作环境切换为GPU状态
103 2
|
4月前
|
缓存 并行计算 Ubuntu
科研GPU环境配置-快让师兄弟们优雅地享受共享环境吧!
以下列举我对实验室4090的操作,目的是为了让实验室所有人都有隔离的沙盒环境,节省硬盘以及更方便 一听说老师买了24G 4090,真的超级兴奋!!!
87 0
科研GPU环境配置-快让师兄弟们优雅地享受共享环境吧!

热门文章

最新文章