在带有Intel Arc GPU的Windows上安装IPEX-LLM

在带有Intel Arc GPU的Windows上安装IPEX-LLM

  • 在带有Intel Arc GPU的Windows上安装IPEX-LLM
    • 先决条件
    • 安装 GPU 驱动
    • 安装 Visual Studio 2022 社区版
    • 安装 Intel® oneAPI Base Toolkit
    • 安装 IPEX-LLM
      • 创建虚拟环境
      • 环境验证
    • 可能遇到的问题

在带有Intel Arc GPU的Windows上安装IPEX-LLM

本文将介绍在 Intel Arc GPU 环境下安装 IPEX-LLM。

先决条件

要使用 Intel GPU 加速,工具安装和环境准备有几个先决条件:

第 1 步:安装或更新到最新的 GPU 驱动程序。

第 2 步:安装 Visual Studio 2022 社区版并选择“使用 C++ 进行桌面开发”。

第 3 步:安装 Anaconda 以进行 Python 环境管理。

第 4 步:安装 Intel® oneAPI Base Toolkit。

本文主要介绍第 2 步和第 4 步的安装操作。

安装 GPU 驱动

从驱动程序和软件下载驱动程序。

安装 Visual Studio 2022 社区版

从Visual Studio 2022下载Visual Studio 2022 社区版安装程序,并双击安装程序开始进行安装。点击继续按钮进行下一步。

等待安装向导下载必需的Visual Studio 2022安装程序包。

所有必需的安装包都下载完成后,即将进入下一步。

在工作负荷界面,选择使用 C++ 的桌面程序开发,并确认安装详细信息、选择安装位置,默认是在 C:\\Program Files 目录下,然后点击安装按钮开始进行安装。

等待安装向导下载必需的安装包、进行安装。

所有必需的安装包都下载、安装完成后,在安装完毕提示框点击确定按钮退出安装程序。

这样,Visual Studio 2022 社区版使用 C++ 进行桌面开发就安装完成,安装完成以后建议重启一下电脑。

安装 Intel® oneAPI Base Toolkit

从Get the Intel® oneAPI Base Toolkit下载Intel® oneAPI Base Toolkit,并且双击安装程序进行文件提取及安装。首先需要指定将安装程序的文件提取到哪里,设置好路径后点击 Extract 按钮进行文件提取,即解压安装程序。

然后根据安装向导,点击 Continue 按钮继续安装。

等待安装向导准备完成。

在设置界面,勾选同意协议,并选择 Recommended Installation,然后点击 Continue 按钮开始进行安装。

如果需要自定义安装,可以在上一步选择 Custom Installation,然后在这个界面选择需要安装的组件,点击下一步进行安装。

IDE 这里会默认选择刚才安装的 Visual Studio 2022,直接点击下一步就好。

选择同意,点击 Install 按钮进行下一步。

安装完成需要重启的警告可以先不管,直接点击 Install 按钮开始安装。

等待安装程序完成所有组件的安装。

安装完成后,点击 Finish 按钮,结束程序安装。

这样,Intel® oneAPI Base Toolkit 就安装完成。

安装 IPEX-LLM

创建虚拟环境

我们需要创建一个用来安装 IPEX-LLM 的虚拟环境,Python 版本指定为 3.11。

conda create -n ipex-llm-xpu python=3.11 libuv -y
conda activate ipex-llm-xpu
pip install --pre --upgrade ipex-llm[xpu] --extra-index-url https://pytorch-extension.intel.com/release-whl/stable/xpu/us/
pip install --pre --upgrade ipex-llm[xpu] --extra-index-url https://pytorch-extension.intel.com/release-whl/stable/xpu/cn/ -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install --pre --upgrade ipex-llm[xpu] --extra-index-url https://pytorch-extension.intel.com/release-whl/stable/mtl/cn/ -i https://pypi.tuna.tsinghua.edu.cn/simple

如果在安装过程中遇到网络问题,还可以从源存档安装 Intel XPU 的 IPEX-LLM 依赖项。

首先,下载必要的 wheels。

wget https://intel-extension-for-pytorch.s3.amazonaws.com/ipex_stable/xpu/torch-2.1.0a0%2Bcxx11.abi-cp311-cp311-win_amd64.whl
wget https://intel-extension-for-pytorch.s3.amazonaws.com/ipex_stable/xpu/torchvision-0.16.0a0%2Bcxx11.abi-cp311-cp311-win_amd64.whl
wget https://intel-extension-for-pytorch.s3.amazonaws.com/ipex_stable/xpu/intel_extension_for_pytorch-2.1.10%2Bxpu-cp311-cp311-win_amd64.whl

然后执行以下命令进行安装。

pip install torch-2.1.0a0+cxx11.abi-cp311-cp311-win_amd64.whl -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install torchvision-0.16.0a0+cxx11.abi-cp311-cp311-win_amd64.whl -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install intel_extension_for_pytorch-2.1.10+xpu-cp311-cp311-win_amd64.whl -i https://pypi.tuna.tsinghua.edu.cn/simplepip install --pre --upgrade ipex-llm[xpu]pip install dpcpp-cpp-rt==2025.0.2 mkl-dpcpp==2025.0.0 onednn==2025.0.0 -i https://pypi.tuna.tsinghua.edu.cn/simple

环境验证

首先,需要设置一下变量信息。

call "C:\Program Files (x86)\Intel\oneAPI\setvars.bat"set SYCL_CACHE_PERSISTENT=1
set BIGDL_LLM_XMX_DISABLED=1

然后,可以编写代码进行验证。

import torch 
from ipex_llm.transformers import AutoModel,AutoModelForCausalLM    
tensor_1 = torch.randn(1, 1, 40, 128).to('xpu')
tensor_2 = torch.randn(1, 1, 128, 40).to('xpu')
print(torch.matmul(tensor_1, tensor_2).size())

执行代码,我们将得到如下输出:

torch.Size([1, 1, 40, 40])

并且可以看到GPU的资源利用情况。

可能遇到的问题

在环境安装过程中可能会遇到下面的问题。

OSError: [WinError 126] 找不到指定的模块。 Error loading "C:\Users\wux_l\anaconda3\envs\ipex-llm\Lib\site-packages\torch\lib\backend_with_compiler.dll" or one of its dependencies.

解决方案是安装相关的库。

conda install pkg-config libuv

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

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

相关文章

AWS上基于高德API验证Amazon Redshift里国内地址数据正确性的设计方案

该方案通过无服务架构实现高可扩展性,结合分页查询和批量更新确保高效处理海量数据,同时通过密钥托管和错误重试机制保障安全性及可靠性。 一、技术栈 组件技术选型说明计算层AWS Lambda无服务器执行,适合事件驱动、按需处理,成…

03-微服务01(服务拆分、RestTemplate,nacos、OpenFeign、日志)

之前我们学习的项目一是单体项目,可以满足小型项目或传统项目的开发。而在互联网时代,越来越多的一线互联网公司都在使用微服务技术。 从谷歌搜索指数来看,国内从自2016年底开始,微服务热度突然暴涨: 那么&#xff1…

SPSS—回归分析

一、如何选择 回归方法的选择是根据因变量的类型进行选择,无论自变量是哪种类型。 如果因变量,也就是目标变量是连续的数值型变量,当自变量也是连续数值型,研究自变量是否对因变量有影响。选择普通的线性回归即可,根…

2.SpringSecurity在mvc项目中的使用

SpringSecurity认证过程 参考 来源于黑马程序员: 手把手教你精通新版SpringSecurity 设置用户状态 用户认证业务里,我们封装User对象时,选择了三个构造参数的构造方法,其实还有另一个构造方法: public User(Strin…

Java数组二:数组的使用

for-each循环 打印数组所有元素 public class Demo04 {public static void main(String[] args) {int[] num {1,5,2,3,4};for (int num1:num) {System.out.println(num1);}} }多维数组 多维数组可以看成是数组的数组,比如二维数组就是一个特殊的一维数组&#x…

JAVA EE初阶 - 预备知识(一)

一、管道 在计算机编程和操作系统环境中,输入、输出和错误管道是用于在不同进程或程序之间传递数据和信息的重要机制,下面分别对它们进行详细介绍: 输入管道(Standard Input,stdin) 定义:输入…

STM32HAL库快速入门教程——常用外设学习(2)

目录 一、STM32HAL库开发(8)——CubeMX配置DMA 1.1、什么是DMA? 1.2、内存内存之间的传输(单次) ​编辑 1.3、内存外设之间的传输(ADC) 二、STM32HAL库开发(9)——…

Spring Boot 整合 SSE(Server-Sent Events)

1、简述 SSE(Server-Sent Events)是一种基于HTTP协议的单向通信机制,允许服务器向浏览器持续发送实时更新。与WebSocket不同,SSE更简单,使用HTTP/1.1协议即可,不需要额外的协议升级。 SSE的特点&#xff…

汽车ECU实现数据安全存储的一种方案

一、 综述 在车辆ECU中总是有一些密钥或重要数据需进行机密性保护,但因产品选型、成本等考虑,导致一些ECU的芯片不支持硬件安全模块(例如HSM、TEE等)。此时,为保障数据的机密性,可考虑通过软件实现数据的安…

十进制数到十六进制数的转换

十进制数x,若能表示为,n为大于等于0的整数。ni4j。i取值为0、1、2和3。综合i和j,若i为0,则该16进制数为1后面加j个0;若i为1,则该16进制数为2后面加j个0;若i为2,则该16进制数为4后面加…

基于YoloV11+PaddleOCR的车牌检测系统

文章目录 一、CCPD数据集进行处理1.1 从文件夹构建txt格式数据集1.2 运行脚本按照8:2划分训练集,测试集 二 、YOLOV11训练模型2.1 编写car_plate.yaml文件2.2 编写train脚本:2.3 训练过程 三、PaddleOCR识别车牌号3.1 安装paddleocr&#xff…

2月12日鸿蒙生态日日新PLOG,多款应用上架

2月12日鸿蒙生态日日新PLOG :北京医院挂号通、有度、远光商旅等多款应用上架;钉钉、得到、航班管家等多款重点应用功能更新。 ​​​

Python----PyQt开发(PyQt高级:手搓一个简单的记事本)

一、效果展示 二、设计PyQt界面 2.1、设置图标 self.setWindowIcon(QIcon(./images/icon/1.png)) # 窗口图标 2.2、设置标题 self.file_name 无标题-新建文本文档 # 默认文件名 self.setWindowTitle(self.file_name) # 窗口标题 2.3、添加菜单栏、工具栏、状态栏 # 创…

Java 大视界 -- 大数据伦理与法律:Java 技术在合规中的作用与挑战(87)

💖亲爱的朋友们,热烈欢迎来到 青云交的博客!能与诸位在此相逢,我倍感荣幸。在这飞速更迭的时代,我们都渴望一方心灵净土,而 我的博客 正是这样温暖的所在。这里为你呈上趣味与实用兼具的知识,也…

什么是AI Agent、Chat、RAG、MoE

什么是AI Agent、Chat、RAG、MoE 目录 什么是AI Agent、Chat、RAG、MoE定义与原理功能特点应用场景AI Agent有哪些关键组成部分感知模块决策模块知识模块行动模块学习模块AI Agent、Chat、RAG、MoE是人工智能领域中不同的概念和技术,它们在功能、原理和应用等方面存在一些区别…

在 debian 12 上安装 mysqlclient 报错

报错如下 Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple Collecting mysqlclientUsing cached https://pypi.tuna.tsinghua.edu.cn/packages/61/68/810093cb579daae426794bbd9d88aa830fae296e85172d18cb0f0e5dd4bc/mysqlclient-2.2.7.tar.gz (91 kB)Installi…

自反馈与流量震荡:从 TCP/IP 路由到交通导航

为什么不能基于流量或时延做路由度量,而不仅仅基于跳数。原因在于这里存在一个自反馈: 路由决策导致流量变化;时延由流量变化而变化;流量时延影响路由决策。 当某条链路流量减少时,路由协议会将其度量调低&#xff0…

Jtti:centos主机如何搭建lnmp环境

在 CentOS 主机上搭建 LNMP(Linux Nginx MySQL/MariaDB PHP)环境是构建高性能 Web 服务器的常见选择。以下是搭建 LNMP 环境的详细步骤: 步骤 1: 更新系统 首先,更新系统的包列表和安装的包,以确保你的系统是最新的: sudo y…

如果需要保护多个域名怎么办?

随着企业和个人在网上的存在越来越重要,管理和保护多个域名变得尤为关键,那么如果需要保护这些域名,应该采取什么样的措施呢? 许多企业会选择注册与其品牌相关的不同后缀,或者与其产品、服务相关的域名。这不仅可以防…

从Sora到有言:3D视频生成技术的突破与应用

近年来,AIGC领域飞速发展,这个词也越来越高频地出现在了大家的生活中。AIGC 能完成的任务也越来越多,大模型的能力飞速增长 —— 从Deepseek生成文字,到StableDiffusion生成图像,再到Sora可以生成视频。 而现在&#x…