Windows用户必看:如何在VMware-Ubuntu18中轻松安装oneAPI和oneDNN

简介: 导读:本文教大家如何安装oneAPI,推荐大家使用linux系统,因此windows/mac也可以使用VM虚拟机搭建linux环境。虚拟机的配置是根据oneAPI和oneDNN动态实验调整出来的,不要只按照网上独立的虚拟机安装教程本文包括:linux(ubuntu18)安装oneAPI安装oneDNN,使用最新的icx/icpx(DPC++编译器)最终离不开linux系统,所以入门linux不会错~PS:虚拟机方式不能使用GPU加速

导读:

本文教大家如何安装oneAPI,推荐大家使用linux系统,因此windows/mac也可以使用VM虚拟机搭建linux环境。

虚拟机的配置是根据oneAPI和oneDNN动态实验调整出来的,不要只按照网上独立的虚拟机安装教程

本文包括:

  1. linux(ubuntu18)安装oneAPI
  2. 安装oneDNN,使用最新的icx/icpx(DPC++编译器)

最终离不开linux系统,所以入门linux不会错~

PS:虚拟机方式不能使用GPU加速

如果你选择使用虚拟机,请看接下来的教程,否则可以直接跳过!

VM和Ubuntu的安装

安装VMware虚拟机

  1. 下载安装包
  2. 更改默认安装位置
  3. 按默认配置
  4. 输入密钥

下载Ubuntu镜像

如果网速慢,建议寻找国内镜像,各大高校的下载速度挺快的,选择离你最近的高校镜像加速速度更佳哟~

另外,我下载的是桌面版,讲解也以图像界面为主。

安装Ubuntu18

  1. 创建虚拟机
  2. 向导界面选择“自定义高级”
  3. 兼容性选择当前vmware版本
  4. 在安装程序光盘影像文件选择下载的镜像(iso)路径
  5. 输入全名(就是用户名),用户名(这里我写的始终没有发现在哪体现)和密码 (这里写不好,后期都能改,不要慌)虚拟机名称可以随便取;“位置”就是将来虚拟机文件所在的目录,因为虚拟机文件比较大,要选择一个磁盘空间比较大的目录。
  6. 下一步,设置要分配给虚拟机的CPU,电脑配置高的可以往上调,这样在后面使用make -jx带劲(4核以上)。
  7. 内存推荐8G以上
  8. 默认
  9. I/O控制器类型默认推荐
  10. 虚拟磁盘类型默认推荐
  11. 创建新虚拟磁盘
  12. 磁盘空间,因为后面要安装oneapi,建议60GB以上
  13. 磁盘文件名,没有什么影响
  14. 完成之后会自动安装
  15. 登录进去之后一般就会问你要不要升级到新版本,点取消,否则系统就白装了

更改国内源

我使用的Ubuntu18,因此使用

deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse

更新软件列表,换源完成

sudo apt-get update
sudo apt-get upgrade

卸载旧的vim,原来的不好用!

sudo apt-get remove vim-common

安装新的vim

sudo apt-get install vim

接下来是重点了!

oneapi的安装

在虚拟机打开浏览器下载Intel oneAPI Base Toolkit和Intel® oneAPI HPC Toolkit


https://www.intel.com/content/www/us/en/developer/tools/oneapi/toolkits.html?wapkw=toolkit#base-kit

安装包方式:

安装包方式:

  1. 打开下载目录,右键点击Properties复制目录
  2. 打开终端,输入pwd查找当前目录地址,以便更好的使用相对路径
  3. 输入sudo sh Downloads/l_BaseKit_p_2022.3.0.8767.sh(注意自己的目录)
  1. 输入sudo意思为所有用户安装,也可以不放

命令行方式:

  1. 在下载界面往下滑有个Command Line Download,复制这里的命令使用wget下载
  2. 例如
wget https://registrationcenter-download.intel.com/akdlm/irc_nas/18852/l_BaseKit_p_2022.3.0.8767.sh
sudo sh ./l_BaseKit_p_2022.3.0.8767.sh
  1. 下一步:
  2. 输入之后会弹出图形界面,接下来按照图形界面的指示进行安装即可 (虚拟机没有GPU,使用CPU就行,因此无视GPU错误),默认安装路径是/opt/intel/oneapi/
  3. Intel® oneAPI HPC Toolkit同操作
  4. Intel® oneAPI HPC Toolkit同操作
  5. 很多人说要设置环境变量,就看自己需不需要了
  6. 如果不需要,每次使用icx/icpx等时候,或者发现命令找不到时候,要使用source /opt/intel/oneapi/setvars.sh激活(新建一个新的terminal都要运行一次),而环境变量就是节省你输入的次数,但是会每次打开terminal运行
  7. 接下来开始设置环境变量,如果不需要可以跳过
  8. sudo gedit ~/.bashrc or sudo vim ~/.bashrc
  9. source /opt/intel/oneapi/setvars.sh > /dev/nulll写入最后一行,但我们仍需要优化。
  10. 运行这句后oneAPI会添加所有工具包,可能会污染你的工作环境,可以写一个 config.txt 文件自定义加载的环境,比如自带的python就有些问题。sudo vim /opt/intel/oneapi/config.txt # 在指定目录下新建了一个配置文件,内容如下排除了intelpython:intelpython=exclude

8.source /opt/intel/oneapi/setvars.sh --config="/opt/intel/oneapi/config.txt" > /dev/null最后写入这个去。

9.注意:官方说使用intel优化的python版本,不要使用图形界面,应去除python组件,使用Anaconda安装(2022.12.5更新)

oneDNN的部署-icx/icpx编译

oneAPI Base Tookit安装时候已经带上了oneDNN,但是版本不是最新的,如果你想要体验最新的oneDNN环境,请在oneAPI Base Toolkit卸载默认的oneDNN组件,然后继续看此节。

这里我不建议直接git clone,因为clone下来的是开发版不稳定,直接下载已经Releases的正式版!并且自己本地下载直接移动到虚拟机界面,速度更快!附Github地址

  1. 如果没有设置前面的环境变量,记得source /opt/intel/oneapi/setvars.sh
mkdir -p build
cd build
export CC=icx
export CXX=icpx
cmake .. \
          -DDNNL_CPU_RUNTIME=SYCL \
          -DDNNL_GPU_RUNTIME=SYCL

构建库,make -j

  1. 这里有个知识点,一般只有j效率太低了,就像这里的构建,很多次会使用系统奔溃重启!而make可以根据cpu总数进行合理利用
  2. 使用make -j后面跟一个数字,比如make -j4 make -j6 make -j14等。
  3. 含义是 让make最多允许n个编译命令同时执行,这样可以更有效的利用CPU资源。
  4. 并行的任务不宜太多,有时候能j8,j8就好了
cpu_num=`cat /proc/stat | grep cpu[0-9] -c`
echo "make -j${cpu_num}"
make -j${cpu_num}
  1. 因此建议make -j数字
  1. 使用ctest命令,如果检验是0%说明你没有启动source /opt/intel/oneapi/setvars.sh,因为我们使用虚拟机,它是没有CPU的,因此他是不可能100%,一般80%就是正确的
  2. 文档中说要构建文档,经过测试无法成功,并且自带的doc文件已经有了,感觉是官方的bug,再次可以直接跳过
  3. sudo cmake --build . --target install
  4. icpx getting_started.cpp -ldnnl测试

example_utils.hpp

如果使用的项目需要使用,需要将oneDNN目录里的example文件夹里的example_utils.hpp移动与项目文件同目录,例如这里取AlexNet.cpp为主文件

编译指令

icpx AlexNet.cpp -ldnnl


相关实践学习
在云上部署ChatGLM2-6B大模型(GPU版)
ChatGLM2-6B是由智谱AI及清华KEG实验室于2023年6月发布的中英双语对话开源大模型。通过本实验,可以学习如何配置AIGC开发环境,如何部署ChatGLM2-6B大模型。
目录
相关文章
|
12月前
|
人工智能 JavaScript 开发工具
极速上手!Claude Code 原生支持 Windows 免WSL安装教程
Claude Code 现已支持 Windows 原生运行,无需 WSL 配置。本文提供详细安装教程,涵盖 Node.js 环境验证、Git 安装及 Claude Code 配置步骤,助你快速上手这一强大 AI 编程工具。
13367 13
|
11月前
|
Ubuntu 安全 iOS开发
Nessus Professional 10.10 Auto Installer for Ubuntu 24.04 - Nessus 自动化安装程序
Nessus Professional 10.10 Auto Installer for Ubuntu 24.04 - Nessus 自动化安装程序
1327 5
|
11月前
|
安全 Ubuntu iOS开发
Nessus Professional 10.10 Auto Installer for Windows - Nessus 自动化安装程序
Nessus Professional 10.10 Auto Installer for Windows - Nessus 自动化安装程序
350 3
Nessus Professional 10.10 Auto Installer for Windows - Nessus 自动化安装程序
|
11月前
|
Linux 虚拟化 iOS开发
VMware Workstation Pro 25H2 Unlocker & OEM BIOS 2.7 - 在 Windows 和 Linux 上运行 macOS Tahoe
VMware Workstation Pro 25H2 Unlocker & OEM BIOS 2.7 - 在 Windows 和 Linux 上运行 macOS Tahoe
1980 3
VMware Workstation Pro 25H2 Unlocker & OEM BIOS 2.7 - 在 Windows 和 Linux 上运行 macOS Tahoe
|
11月前
|
NoSQL Ubuntu MongoDB
在Ubuntu 22.04上安装MongoDB 6.0的步骤
这些步骤应该可以在Ubuntu 22.04系统上安装MongoDB 6.0。安装过程中,如果遇到任何问题,可以查阅MongoDB的官方文档或者Ubuntu的相关帮助文档,这些资源通常提供了解决特定问题的详细指导。
1009 18
|
11月前
|
Ubuntu API C++
C++标准库、Windows API及Ubuntu API的综合应用
总之,C++标准库、Windows API和Ubuntu API的综合应用是一项挑战性较大的任务,需要开发者具备跨平台编程的深入知识和丰富经验。通过合理的架构设计和有效的工具选择,可以在不同的操作系统平台上高效地开发和部署应用程序。
376 11
|
11月前
|
Linux 虚拟化 iOS开发
VMware Remote Console 13.0.1 for macOS, Linux, Windows - vSphere 虚拟机控制台的桌面客户端
VMware Remote Console 13.0.1 for macOS, Linux, Windows - vSphere 虚拟机控制台的桌面客户端
2101 0
VMware Remote Console 13.0.1 for macOS, Linux, Windows - vSphere 虚拟机控制台的桌面客户端
|
12月前
|
Ubuntu 安全 关系型数据库
安装MariaDB服务器流程介绍在Ubuntu 22.04系统上
至此, 您已经在 Ubuntu 22.04 系统上成功地完成了 MariadB 的标准部署流程,并且对其进行基础但重要地初步配置加固工作。通过以上简洁明快且实用性强大地操作流程, 您现在拥有一个待定制与使用地强大 SQL 数据库管理系统。
529 18
|
11月前
|
Linux 虚拟化 iOS开发
VMware Fusion 25H2 OEM BIOS 2.7 - 在 macOS 中运行 Windows 虚拟机的最佳方式
VMware Fusion 25H2 OEM BIOS 2.7 - 在 macOS 中运行 Windows 虚拟机的最佳方式
1926 0
VMware Fusion 25H2 OEM BIOS 2.7 - 在 macOS 中运行 Windows 虚拟机的最佳方式