英特尔生态的深度学习科研环境配置-A770为例

2024-03-20 09:04

本文主要是介绍英特尔生态的深度学习科研环境配置-A770为例,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

之前发过在Intel A770 GPU安装oneAPI的教程,但那个方法是用于WSL上。总所周知,在WSL使用显卡会有性能损失的。而当初买这台机器的时候我不在场,所以我这几天刚好有空把机器给重装成Ubuntu了。本篇不限于安装oneAPI,因为在英特尔的生态之下,oneAPI只是一个基座。

本篇集大成者,为使用英特尔生态的人提供便利。

文章目录

    • U盘重装Ubuntu
    • 硬盘管理
    • 驱动
      • 加官方源
      • 优化桌面( Compute, Media, and Display runtimes)使用以及游戏效果
      • 安装开发包
      • 安装dkms和内核头文件
      • 验证
    • xpu-smi
    • oneAPI安装
    • Miniconda3
    • Intel版pytorch
    • frp内网穿透

U盘重装Ubuntu

如果大家也是重装,请大家注意备份资源。

首先从官网或者国内镜像,例如清华源下载最新的LTS,然后准备一个16G左右的U盘,使用Rufus把ISO格式的系统镜像文件制作成可引导的 USB 启动安装盘,启动软件后插入U盘会自动检测,你只需要把引导类型选择为你的ISO镜像位置即可。

当U盘启动安装盘制作完毕后,开始启动!进行BIOS(不知道自己机器是什么的,建议F1-F12,甚至Delete, Insert都按按,点击开机键后就疯狂点,我是没想到这是最麻烦的,我是经过百度查了很多快捷键进入都没有效果,然后我乱点上面的键之后才顺利进入BIOS,最后设置自己U盘为第一选择项[找找Boot选择或者首页,里面是可以鼠标和键盘移动的!!!]。Save启动,记住要保存,不然像我这种乱点进入BIOS的,又一次乱点了。)

关于Ubuntu的安装过程就略了…不是本篇的重点。

硬盘管理

安装之后的Ubuntu只有系统盘被格式化了,而其他盘却还是之前的windows盘,你需要重新挂载和格式化文件系统。

首先使用df -h看看你有什么盘,例如/dev/sda1,然后使用sudo mkfs -t ext4 /dev/sda1进行格式化,如果你在windows进行分区过,所以你会看到/dev/sda1/dev/sda2,这时候你可以使用sudo fdisk /dev/sda进行分区的合并,记得分区要保留1个,别都删完了。

data0提前mkdir好,最后使用mount /dev/sda1 /data0进行挂载

写入文件,以后重启也能自动挂载sudo vim /etc/fstab,写入例如:

/dev/sda1       /data0  ext4    defaults        0       0
/dev/sdb1       /data1  ext4    defaults        0       0

中间的空格,我建议直接按Tab键就行了。

驱动

在一篇文章中[https://www.jianshu.com/p/ae15e1cb6968]介绍了如何安装锐炫独立显卡的驱动程序,但是很奇怪的是,这篇文章上开机之后在About界面,Graphics是llvmpipe,可是我安装的Ubuntu 22.04.4 LTS之后,系统是可以正常显示出Intel A770 GPU的。

我当时也非常害怕,所以我还是按照文档重新安装了,这里我建议不要参考我刚刚发的文章进行安装了,并且我也建议大家别看官网,就看我这篇,因为看文档会有个疑惑点,我是试验出来了,不必根据文档走

加官方源

wget -qO - https://repositories.intel.com/gpu/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/gpu/ubuntu jammy client" | \sudo tee /etc/apt/sources.list.d/intel-gpu-jammy.list
sudo apt update

优化桌面( Compute, Media, and Display runtimes)使用以及游戏效果

sudo apt install -y \intel-opencl-icd intel-level-zero-gpu level-zero \intel-media-va-driver-non-free libmfx1 libmfxgen1 libvpl2 \libegl-mesa0 libegl1-mesa libegl1-mesa-dev libgbm1 libgl1-mesa-dev libgl1-mesa-dri \libglapi-mesa libgles2-mesa-dev libglx-mesa0 libigdgmm12 libxatracker2 mesa-va-drivers \mesa-vdpau-drivers mesa-vulkan-drivers va-driver-all vainfo hwinfo clinfo
sudo dpkg --add-architecture i386 
sudo apt update
sudo apt install  -y \udev mesa-va-drivers:i386 mesa-common-dev:i386 mesa-vulkan-drivers:i386 \libd3dadapter9-mesa-dev:i386 libegl1-mesa:i386 libegl1-mesa-dev:i386 \libgbm-dev:i386 libgl1-mesa-glx:i386 libgl1-mesa-dev:i386 \libgles2-mesa:i386 libgles2-mesa-dev:i386 libosmesa6:i386 \libosmesa6-dev:i386 libwayland-egl1-mesa:i386 libxatracker2:i386 \libxatracker-dev:i386 mesa-vdpau-drivers:i386 libva-x11-2:i386

i386 软件包不安装,别想在这里玩帕鲁了!

安装开发包

sudo apt install -y \libigc-dev intel-igc-cm libigdfcl-dev libigfxcmrt-dev level-zero-dev

安装dkms和内核头文件

这里官网文档以及上面的文章都要大家安装5.19 通用内核,实际上不用,我的内核是6.5.0-25-generic也能成功。

sudo apt updatesudo apt -y install \gawk \dkms \linux-headers-$(uname -r) \libc6-devsudo reboot

到这里,驱动都安装完了。

你可以使用下面步骤进行验证。

验证

hwinfo --display

hwinfo.png

xpu-smi

既然英伟达都有nvidia-smi,AMD有rocm-smi,英特尔也有自己的xpu-smi。

sudo apt-get install xpu-smi

  • 附使用文档

oneAPI安装

必须要安装Intel® oneAPI Base Toolkit,可以选择性安装HPC等套件。

  • 可以直接使用APT包进行安装:

    • wget -O- https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB \ | gpg --dearmor | sudo tee /usr/share/keyrings/oneapi-archive-keyring.gpg > /dev/null
      
    • echo "deb [signed-by=/usr/share/keyrings/oneapi-archive-keyring.gpg] https://apt.repos.intel.com/oneapi all main" | sudo tee /etc/apt/sources.list.d/oneAPI.list
      
    • sudo apt update

    • sudo apt install intel-basekit

  • 也可以直接下载安装包,例如:

wget https://registrationcenter-download.intel.com/akdlm/IRC_NAS/163da6e4-56eb-4948-aba3-debcec61c064/l_BaseKit_p_2024.0.1.46_offline.shsudo sh ./l_BaseKit_p_2024.0.1.46_offline.sh

安装步骤可以看我以前的文章,但在我安装的时候,在界面检测Ubuntu没有包的时候,我的确安装缺少的包进行更新了,但安装脚本没有检测到,因此只要你真的安装了缺少的部分,直接点下一步。

Miniconda3

这里我就不多介绍了:https://docs.conda.io/en/latest/miniconda.html

记得配置好国内源。(再此提醒:Ubuntu、python、conda国内源都要配置好)

Intel版pytorch

Github地址:https://github.com/intel/intel-extension-for-pytorch

也是有tensorflow的:https://github.com/intel/intel-extension-for-tensorflow

要想在intel生态上使用AI,就要安装intel-extension-for-pytorch了,你可以认为这是官方pytorch的一个插件。

  • python -m pip install torch==2.1.0a0 torchvision==0.16.0a0 torchaudio==2.1.0a0 intel-extension-for-pytorch==2.1.10+xpu --extra-index-url https://pytorch-extension.intel.com/release-whl/stable/xpu/cn/
  • 激活oneAPI环境:source /opt/intel/oneapi/setvars.sh,注意我的安装的是全套,还有位置如果你和我不同记得修改!使用pytorch必须安装了dpcpp和oneMKL
  • 最后进行测试:python -c "import torch; import intel_extension_for_pytorch as ipex; print(torch.__version__); print(ipex.__version__); [print(f'[{i}]: {torch.xpu.get_device_properties(i)}') for i in range(torch.xpu.device_count())];"不报错即可。

frp内网穿透

又来引用我之前写过的文章了~

  • https://blog.csdn.net/qq_28356373/article/details/127941404

这样就能使用一台电脑进行开发了!

这篇关于英特尔生态的深度学习科研环境配置-A770为例的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/828953

相关文章

Nginx 配置跨域的实现及常见问题解决

《Nginx配置跨域的实现及常见问题解决》本文主要介绍了Nginx配置跨域的实现及常见问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来... 目录1. 跨域1.1 同源策略1.2 跨域资源共享(CORS)2. Nginx 配置跨域的场景2.1

gitlab安装及邮箱配置和常用使用方式

《gitlab安装及邮箱配置和常用使用方式》:本文主要介绍gitlab安装及邮箱配置和常用使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1.安装GitLab2.配置GitLab邮件服务3.GitLab的账号注册邮箱验证及其分组4.gitlab分支和标签的

MySQL MCP 服务器安装配置最佳实践

《MySQLMCP服务器安装配置最佳实践》本文介绍MySQLMCP服务器的安装配置方法,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下... 目录mysql MCP 服务器安装配置指南简介功能特点安装方法数据库配置使用MCP Inspector进行调试开发指

python常见环境管理工具超全解析

《python常见环境管理工具超全解析》在Python开发中,管理多个项目及其依赖项通常是一个挑战,下面:本文主要介绍python常见环境管理工具的相关资料,文中通过代码介绍的非常详细,需要的朋友... 目录1. conda2. pip3. uvuv 工具自动创建和管理环境的特点4. setup.py5.

Redis Cluster模式配置

《RedisCluster模式配置》:本文主要介绍RedisCluster模式配置,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录分片 一、分片的本质与核心价值二、分片实现方案对比 ‌三、分片算法详解1. ‌范围分片(顺序分片)‌2. ‌哈希分片3. ‌虚

SpringBoot项目配置logback-spring.xml屏蔽特定路径的日志

《SpringBoot项目配置logback-spring.xml屏蔽特定路径的日志》在SpringBoot项目中,使用logback-spring.xml配置屏蔽特定路径的日志有两种常用方式,文中的... 目录方案一:基础配置(直接关闭目标路径日志)方案二:结合 Spring Profile 按环境屏蔽关

Python中使用uv创建环境及原理举例详解

《Python中使用uv创建环境及原理举例详解》uv是Astral团队开发的高性能Python工具,整合包管理、虚拟环境、Python版本控制等功能,:本文主要介绍Python中使用uv创建环境及... 目录一、uv工具简介核心特点:二、安装uv1. 通过pip安装2. 通过脚本安装验证安装:配置镜像源(可

Maven 配置中的 <mirror>绕过 HTTP 阻断机制的方法

《Maven配置中的<mirror>绕过HTTP阻断机制的方法》:本文主要介绍Maven配置中的<mirror>绕过HTTP阻断机制的方法,本文给大家分享问题原因及解决方案,感兴趣的朋友一... 目录一、问题场景:升级 Maven 后构建失败二、解决方案:通过 <mirror> 配置覆盖默认行为1. 配置示

Springboot3+将ID转为JSON字符串的详细配置方案

《Springboot3+将ID转为JSON字符串的详细配置方案》:本文主要介绍纯后端实现Long/BigIntegerID转为JSON字符串的详细配置方案,s基于SpringBoot3+和Spr... 目录1. 添加依赖2. 全局 Jackson 配置3. 精准控制(可选)4. OpenAPI (Spri

maven私服配置全过程

《maven私服配置全过程》:本文主要介绍maven私服配置全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录使用Nexus作为 公司maven私服maven 私服setttings配置maven项目 pom配置测试效果总结使用Nexus作为 公司maven私