跳到主要内容

Intel显卡运行AI配置教程


Intel显卡运行AI配置教程

当前安装方式:PyTorch 原生 XPU

下面以 Windows 11 和 Arc A770 为例,使用 PyTorch 官方 XPU wheel。普通的预编译 wheel 不需要把旧版 IPEX 和 oneAPI setvars.bat 作为固定前置步骤;GPU 驱动仍需满足当前 PyTorch 的要求。Linux 的驱动与运行时安装应按对应发行版的官方说明处理。

创建环境与安装

使用独立环境,避免直接覆盖旧项目依赖:

conda create -n intel-xpu python=3.11
conda activate intel-xpu
python -m pip install --upgrade pip
python -m pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/xpu
python -m pip check

默认使用稳定版索引;只有项目明确要求测试版时才选 nightly,并记录对应版本。

验证 GPU 与实际计算

将下面代码保存为 check_xpu.py,在刚创建的环境中执行 python check_xpu.py:

import torch

print("PyTorch:", torch.__version__)
print("XPU available:", torch.xpu.is_available())
if not torch.xpu.is_available():
    raise RuntimeError("当前环境没有可用XPU,请检查wheel、驱动与Python路径")

print("Device:", torch.xpu.get_device_name(0))
x = torch.ones((64, 64), device="xpu")
y = x @ x
torch.xpu.synchronize()
print("Result:", y[0, 0].item())  # 应为64.0

is_available() 用来检查设备是否可用,张量计算再验证实际执行路径;原生流程无需导入 intel_extension_for_pytorch。需要 torch.compile 或编译自定义扩展时,再按对应功能的文档补充编译器,而不是默认安装全部开发工具。

训练示例使用 CIFAR-10,首次运行会下载数据,并在当前目录保存 checkpoint.pth;已有同名模型时先调整保存路径。先用上面的短计算示例检查设备,显存不足时继续减小 batch size。

import torch
import torchvision

if not torch.xpu.is_available():
    raise RuntimeError("先通过XPU设备检查,再运行训练示例")

LR = 0.001
DOWNLOAD = True
DATA = "datasets/cifar10/"

transform = torchvision.transforms.Compose(
    [
        torchvision.transforms.Resize((224, 224)),
        torchvision.transforms.ToTensor(),
        torchvision.transforms.Normalize((0.5, 0.5, 0.5), (0.5, 0.5, 0.5)),
    ]
)
train_dataset = torchvision.datasets.CIFAR10(
    root=DATA,
    train=True,
    transform=transform,
    download=DOWNLOAD,
)
train_loader = torch.utils.data.DataLoader(dataset=train_dataset, batch_size=32)
train_len = len(train_loader)

model = torchvision.models.resnet18(num_classes=10).to("xpu")
criterion = torch.nn.CrossEntropyLoss().to("xpu")
optimizer = torch.optim.SGD(model.parameters(), lr=LR, momentum=0.9)
model.train()

print(f"Initiating training")
for batch_idx, (data, target) in enumerate(train_loader):
    data = data.to("xpu")
    target = target.to("xpu")
    optimizer.zero_grad()
    output = model(data)
    loss = criterion(output, target)
    loss.backward()
    optimizer.step()
    if (batch_idx + 1) % 10 == 0:
         iteration_loss = loss.item()
         print(f"Iteration [{batch_idx+1}/{train_len}], Loss: {iteration_loss:.4f}")
torch.save(
    {
        "model_state_dict": model.state_dict(),
        "optimizer_state_dict": optimizer.state_dict(),
    },
    "checkpoint.pth",
)

print("Execution finished")

旧版 IPEX 环境记录

以下保留原先的安装与排错记录,涉及当时的驱动、oneAPI 和特定 PyTorch/IPEX 组合。它们不是前面原生 XPU 流程的后续步骤,也不应装进同一个环境。复现旧项目时,应按对应 release 的 wheel 平台、Python 版本与依赖矩阵核对。

2026-11-03 复核:Intel 已停止 IPEX 主动开发和季度版本发布,并建议直接使用 PyTorch 原生能力;官方给出的过渡维护期截至 2026 年 3 月。因此本节只用于复现旧环境,新项目不要再把 IPEX 作为默认方案。

原记录的平台与版本

  • Intel Arc系列显卡(如A770 16G)驱动为6559
  • win11
  • oneAPI==2025.0.1
  • PyTorch 与 IPEX:分别核对下文版本组合,不把 IPEX 版本号当作 PyTorch 版本号

1. 安装Miniconda并配置Python虚拟环境

可以参考这个conda安装及使用 | 逐梦

步骤说明

  1. 下载Miniconda
    • 访问 Miniconda官网,选择对应操作系统的安装包(建议Python 3.11版本)。
  2. 安装Miniconda
    • Windows:按安装器提示完成安装,通过 Miniconda Prompt 或 shell 初始化使用环境,不必把整个安装目录加入系统 PATH。
    • Linux/macOS:
      bash Miniconda3-latest-Linux-x86_64.sh  # 根据文件名调整  
  3. 创建Python 3.11虚拟环境
    conda create -n intel-ai python=3.11  
    conda activate intel-ai  

2. 更新Intel显卡驱动

关键操作

  1. 下载最新驱动
    • 访问 Intel驱动下载页,按当时系统与运行库的支持矩阵选择驱动;32.0.101.6559 是原记录版本,不是当前固定推荐值。
  2. 安装驱动
    • Windows:运行安装程序,按提示完成安装。
    • Linux:使用包管理器(如Ubuntu/Debian):
      sudo apt install intel-opencl-icd intel-level-zero-gpu level-zero  
  3. 验证驱动状态
    • Windows:按 Win + X > 设备管理器 > 显示适配器,确认显卡型号正确。
    • Linux:
      lspci | grep -i intel  # 确认显卡识别  
      clinfo  # 检查OpenCL支持  

3. 安装Visual Studio Build Tools(仅Windows)

操作步骤

  1. 下载Visual Studio 2022
  2. 安装C++桌面开发组件
    • 在安装界面勾选:
      • 使用C++的桌面开发
      • Windows 10/11 SDK
      • C++ CMake工具
      • 默认也行
  3. 验证安装
    • 打开对应 Visual Studio 的开发者命令提示符,运行 cl 检查编译器;普通终端未加载 MSVC 环境时找不到 cl,并不等于没有安装。

4. 安装Intel oneAPI工具包

步骤说明

  1. 下载oneAPI Base Toolkit

    • 访问 oneAPI官网,选择Base Toolkit->windows->offline installer,然后点击右边往下一点Continue as a Guest (download starts immediately) →下载
  2. 安装oneAPI

    • Windows:按对应 IPEX 版本的文档选择所需组件,不必默认安装全部工具包。
    • Linux:使用包管理器或脚本安装。
  3. 激活oneAPI环境变量

    以下调用仅用于这个旧 IPEX 环境;Windows 命令在已能使用 Conda 的 CMD 中执行,call 不是 PowerShell 语法。

    • Windows:
      call "C:\Program Files (x86)\Intel\oneAPI\setvars.bat"
    • Linux:
      source /opt/intel/oneapi/setvars.sh  

5. 安装Intel Extension for PyTorch (IPEX)

操作命令

  1. 激活虚拟环境与oneAPI
    在 CMD 中执行,工作目录按实际位置修改;已有 intel-ai 环境时跳过创建命令。
    cd /d "E:\AI"
    conda create -n intel-ai python=3.11
    conda activate intel-ai 
    conda install libjpeg-turbo
    conda install libpng 
    call "C:\Program Files (x86)\Intel\oneAPI\setvars.bat"
    conda activate intel-ai
    conda install pkg-config libuv
  2. 安装PyTorch与IPEX
    # 历史IPEX专用版本组合;需确认对应平台的wheel仍可获取  
    pip install torch==2.3.1.post0+cxx11.abi torchvision==0.18.1.post0+cxx11.abi torchaudio==2.3.1.post0+cxx11.abi intel-extension-for-pytorch==2.3.110.post0+xpu --extra-index-url https://pytorch-extension.intel.com/release-whl/stable/xpu/cn/ 
    pip install torch==2.5.1+cxx11.abi torchvision==0.20.1+cxx11.abi torchaudio==2.5.1+cxx11.abi intel-extension-for-pytorch==2.5.10+xpu --extra-index-url https://pytorch-extension.intel.com/release-whl/stable/xpu/cn/
    # 原记录的另一组历史版本,不代表当前最新版本

6. 验证IPEX安装与显卡识别

验证步骤

  1. 运行Python脚本检查GPU支持
    import torch  
    import intel_extension_for_pytorch as ipex  
    
    print(f"PyTorch版本: {torch.__version__}")  
    print(f"IPEX版本: {ipex.__version__}")  
    print(f"Intel GPU是否可用: {torch.xpu.is_available()}")  
    print(f"检测到的Intel GPU设备: {torch.xpu.get_device_name(0)}" if torch.xpu.is_available() else "未检测到可用XPU")  
    python -c "import torch; import intel_extension_for_pytorch as ipex; print('PyTorch版本:', torch.__version__); print('IPEX版本:', ipex.__version__); print('Intel GPU是否可用:', torch.xpu.is_available()); print('检测到的Intel GPU设备:', torch.xpu.get_device_name(0) if torch.xpu.is_available() else '未检测到可用XPU')"
    # 一键脚本
  2. 预期输出
    PyTorch版本: 2.1.0  
    IPEX版本: 2.1.0  
    Intel GPU是否可用: True  
    检测到的Intel GPU设备: Intel(R) Arc(TM) A770 Graphics  
    官方脚本
    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())];"
    以上输出仅是旧版示例格式,版本号应以实际安装结果为准;还需通过实际计算测试确认。

7. 常见问题解决

遇到问题大多数时候都是各种版本不匹配,例如raise err OSError: [WinError 126] 找不到指定的模块。,先区分原生 XPU 与旧 IPEX 环境,核对解释器路径和同一 release 支持的版本组合,不盲目在已有环境中反复升降级。

报错信息

E:\conda\envs\deepll\Lib\site-packages\torchvision\io\image.py:14: UserWarning: Failed to load image Python extension: 'Could not find module 'E:\conda\envs\deepll\Lib\site-packages\torchvision\image.pyd' (or one of its dependencies). Try using the full path with constructor syntax.'If you don't plan on using image functionality from `torchvision.io`, you can ignore this warning. Otherwise, there might be something wrong with your environment. Did you have `libjpeg` or `libpng` installed before building `torchvision` from source?
  warn(

解决方案

conda activate intel-ai
conda install libjpeg-turbo
conda install libpng

若有其他缺少库报错,安装对应库即可,可以参考文章python库报错汇总 | 逐梦


总结

新项目先验证 PyTorch 原生 XPU 路线;旧 IPEX 项目单独保留环境与版本记录。运行库相关环境变量应有具体的适用版本和测试依据,不把它们作为所有 Arc 工作负载的通用加速开关。

参考链接

获取英特尔® oneAPI Base Toolkit

Welcome to Intel® Extension for PyTorch* Documentation!

intel arc 显卡 ComfyUI 安装教程_哔哩哔哩_bilibili

AI绘画 | 只要10步让你在英特尔A770显卡下安装ComfyUI运行StableDiffusion3最新开源模型_arc a750 安装comfyui-CSDN博客

Getting Started on Intel GPU — PyTorch main documentation


文章作者: 0xdadream
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 0xdadream !
赏
评论

评论将在接近此处时加载,也可点击立即加载。

  目录