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

news2025/2/26 18:44:48

之前发过在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 update

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

sudo 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.sh

sudo 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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1528648.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

nginx 报Too many open files

nginx 异常报 Too many open files 上周时,nginx已经报 Too many open files 当时把 配置文件调整最大连接65535了,reload 重新加载nginx后不报错了。 cat /proc/14921/limits |grep "Max open file" * soft nofile 65535 * hard nof…

【01】htmlcssgit网络基础知识

一、html&css 防脱发神器 一图胜千言 使用border-box控制尺寸更加直观,因此,很多网站都会加入下面的代码 * {margin: 0;padding: 0;box-sizing: border-box; }颜色的 alpha 通道 颜色的 alpha 通道标识了色彩的透明度,它是一个 0~1 之间的取值,0 标识完全透明,1…

vue2(vue3也可以使用)移动端h5网页实现扫一扫功能

一、效果 可以看调起了我们的摄像头&#xff0c;点击允许过后就打开了扫码界面 二、实现过程 1.安装包 zxing/library 2.构建页面 <template><div class"scan"><div class"video-container"><div class"scan-box">&…

图论03-所有可能路径(Java)

3.所有可能路径 题目描述 给你一个有 n 个节点的 有向无环图&#xff08;DAG&#xff09;&#xff0c;请你找出所有从节点 0 到节点 n-1 的路径并输出&#xff08;不要求按特定顺序&#xff09; graph[i] 是一个从节点 i 可以访问的所有节点的列表&#xff08;即从节点 i 到…

TypeScript(六)条件类型,函数,装饰器

条件类型 TypeScript 中的条件类型是一种高级类型&#xff0c;它使我们根据不同的条件创建更复杂的类型。 TS中的条件类型就是在类型中添加条件分支&#xff0c;以支持更加灵活的泛型 条件类型允许我们根据某个类型的属性是否满足某个条件&#xff0c;来确定最终的类型。 type…

【海贼王的数据航海】排序——冒泡|快速|归并排序|总结

目录 1 -> 交换排序 1.1 -> 冒泡排序 1.1.1 -> 代码实现 1.2 -> 快速排序 1.2.1 -> hoare版本 1.2.2 -> 挖坑法 1.2.3 -> 前后指针法 1.2.4 -> 快速排序(递归版) 1.2.5 -> 快速排序(非递归版) 2 -> 归并排序 2.1 -> 归并排序 2.…

泛微 OA - 根据流程 requestid 获取流程中的附件

泛微 OA - 根据流程 requestid 获取流程中的附件 在泛微 OA 流程中&#xff0c;附件是通过加密上传的&#xff0c;如果在第三方系统想要调用 OA 系统获取 OA 附件&#xff0c;暂时没有很好的方法实现。但是可以在本地进行调用&#xff0c;得到附件 url 地址、附件 id、附件上传…

蓝桥杯练习02随机数生成器

随机数生成器 介绍 实际工作中随机数的使用特别多&#xff0c;比如随机抽奖、随机翻牌。通过随机数还能实现很多有趣的效果&#xff0c;比如随机改变元素的位置或颜色。 本题需要在已提供的基础项目中使用JS知识封装一个函数&#xff0c;该函数可以根据需要&#xff0c;生成指…

01. 【Android教程】系统背景及结构概述

1. Android 的历史 Android 一词的本意指“人形机器人”&#xff0c;安迪•鲁宾 (Andy Rubin) 在 2003 年以此名创办了 Android 公司并开始召集团队研发 Android 系统。后于 2005 年被 Google 收购&#xff0c;安迪•鲁宾随后任 Google 工程部副总裁&#xff0c;继续负责 Andr…

数据可信流通:从运维信任到技术信任

1.数据可信流通概念 "数据可信流通"通常指的是确保数据在不同系统、应用程序或者组织之间的传输和交换过程中的可信性、完整性和安全性。在数据流通的过程中&#xff0c;确保数据的真实性、完整性和保密性是非常重要的&#xff0c;尤其是涉及到敏感信息或者重要数据…

大数据开发--01.初步认识了解

一.环境准备 1.使用虚拟机构建至少三台linux服务器 2.使用公有云来部署服务器 二.大数据相关概念 大数据是指处理和分析大规模数据集的一系列技术、工具和方法。这些数据集通常涉及海量的数据&#xff0c;包括结构化数据&#xff08;如关系型数据库中的表格&#xff09;以及…

Verdaccio部署及基础使用

1. Verdaccio 简介 Verdaccio&#xff0c;是一个轻量级的 npm 私有仓库的开源解决方案。npm是一个基于http的协议&#xff0c;用来存放软件包并且维护版本和依赖&#xff0c;利用 http 提供的 url路径 来对软件包进行增删改查。所以 Verdaccio 这款软件的核心就是实现 npm协议…

机器人路径规划:基于双向A*算法(bidirectional a star)的机器人路径规划(提供Python代码)

一、双向A*算法简介 传统A*算法是一种静态路网中求解最短路径最有效的方法&#xff0c; 它结合了BFS 算法和迪杰斯特拉算法(Dijkstra)的优点。 和迪杰斯特拉算法(Dijkstra)一样&#xff0c; A*算法能够用于 搜索最短路径&#xff1b; 和BFS 算法一样&#xff0c; A*算法可以用…

从头手搓一台ros2复合机器人(带机械臂)

一.前言 大家好呀&#xff0c;从本小节开始我们就步入了仿真篇&#xff0c;主要对机器人仿真进行介绍与操作&#xff0c;当然仿真有优点也有缺陷&#xff0c;基于对此学习&#xff0c;我们可以对上几小节创建的小车模型模拟硬件的特性&#xff0c; 比如&#xff1a; 有多重…

打开磁盘清理工具的9种方法,总有一种适合你

前言 你可以在Windows 10和11上使用许多第三方磁盘清理工具来进行清理。但是,别忘了Windows包含自己的磁盘清理工具,你可以使用该工具释放硬盘存储空间。一些第三方替代方案可能有更广泛的清理选项和功能,但磁盘清理仍然是消除多余文件的完美工具。 每个用户都应该不时地进…

vue 部署 abap BSP

How to Create a Vue.Js App with VS Code and Deploy... - SAP Community 详情见上面这个教程连接 Open VS Code and open a terminal window and run npm install -g vue/cli restart vscode. Open a terminal window again and go to your workspace folder to create the…

使用echart绘制拓扑图,树类型,自定义tooltip和label样式,可收缩

效果如图&#xff1a; 鼠标移上显示 vue3 - ts文件 “echarts”: “^5.4.3”, import { EChartsOption } from echarts import * as echarts from echarts/core import { TooltipComponent } from echarts/components import { TreeChart } from echarts/charts import { C…

VR历史建筑漫游介绍|虚拟现实体验店|VR设备购买

VR历史建筑漫游是一种利用虚拟现实技术&#xff0c;让用户可以身临其境地参观和探索历史建筑的体验。通过VR头显和相关设备&#xff0c;用户可以在虚拟环境中自由移动和互动&#xff0c;感受历史建筑的真实氛围和文化内涵。 在VR历史建筑漫游中&#xff0c;您可以选择不同的历史…

拿捏指针(三)

✨✨欢迎&#x1f44d;&#x1f44d;点赞☕️☕️收藏✍✍评论 个人主页&#xff1a;秋邱博客 所属栏目&#xff1a;C语言 &#xff08;感谢您的光临&#xff0c;您的光临蓬荜生辉&#xff09; 前言 在这之前我们学习了《拿捏指针&#xff08;一&#xff09;》&#xff0c;《拿…

Centos7部署使用TELEMAC-MASCARET

Background TELEMAC-MASCARET是一款研究水动力学和水文学领域的高性能数值仿真开源软件。MASCARET&#xff08;1980&#xff09;和 TELEMAC&#xff08;1987&#xff09;最初是由法电集团所属的法国国立水利与环境实验室开发&#xff0c;随后整合为TELEMAC-MASCARET并由法英德三…