如何在英特尔显卡上使用NeuralForecast和 PyTorch Lightning(XPU / torch.xpu)?

人工智能 2026-07-10

PyTorch通过 torch.xpu 支持英特尔GPU,但PyTorch Lightning目前还没有内置的XPU加速支持。

因为NeuralForecast在内部使用Lightning,这也阻碍了它在原生XPU上的运行。

我想要一个最小可用的解决方案,适用于:

  • PyTorch Lightning Trainer
  • Nixtla NeuralForecast
  • native torch.xpu
  • 一块英特尔GPU / 单个XPU设备
  • 不使用IPEX

现在最小、最干净的可行变通方案是什么?

解决方案

对于单个英特尔GPU / 单个XPU设备,一个实际可行的变通方法是使用一个小型的自定义PyTorch Lightning XPU策略,并将该策略作为一个实例传入。

参考仓库:

https://github.com/MarekOzana/lightning-neuralforecast-xpu

最快的路径:从仓库中复制 xpu_lightning.py 并把它与脚本放在同一目录旁边:

https://github.com/MarekOzana/lightning-neuralforecast-xpu/blob/main/xpu_lightning.py

然后从该文件导入 SingleXPUStrategy,并将 SingleXPUStrategy(device_index=0) 传给Lightning或 NeuralForecast。

如果你想要完整的可运行示例,而不是逐个文件手动拷贝,同一仓库也包括 minimal_lightning_xpu.pyminimal_neuralforecast_xpu.py

关键思路是:

  • 使用原生 torch.xpu
  • SingleXPUStrategy(device_index=0) 作为一个实例传入
  • 不要使用 accelerator="xpu"
  • 不使用IPEX

最小化的Lightning用法:

import pytorch_lightning as L
from xpu_lightning import SingleXPUStrategy

trainer = L.Trainer(
    strategy=SingleXPUStrategy(device_index=0),
    devices=1,
)

最小化的NeuralForecast用法:

from neuralforecast import NeuralForecast
from neuralforecast.models import NHITS

from xpu_lightning import SingleXPUStrategy

model = NHITS(
    h=12,
    input_size=24,
    max_steps=20,
    strategy=SingleXPUStrategy(device_index=0),
    devices=1,
)
nf = NeuralForecast(models=[model], freq="1d")
nf.fit(df)

这是可行的原因在于PyTorch Lightning将 accelerator="xpu" 视为字符串拒绝,但它确实接受一个已就绪的包含已使用 torch.device("xpu", device_index) 的策略实例。

我在Windows 11和 Ubuntu 25.10上,使用 torch==2.11.0+xpupytorch-lightning==2.6.1neuralforecast==3.1.6 进行了测试。

注释:

  • 临时性变通方案,直到官方对Lightning XPU的支持出现
  • 仅支持单设备XPU
  • NeuralForecast之所以在这里可用,是因为它将相同的Lightning策略/设备设置转发给底层的Trainer
  • GPU available: False, used: False 仍然可以预期
  • 训练中的快速自检:torch.xpu.get_device_name(0)trainer.strategy.root_device == torch.device("xpu", 0)

我之所以发布这段内容,是因为我想让NeuralForecast在我的英特尔Arc Pro B50上运行。我猜测同样在寻找可用的Lightning / NeuralForecast XPU设置的其他人也会遇到同样的空白。我希望它能帮助那些现在在原生XPU上受阻的人。

站内所有文章版权归属LeftHeroAI导航站,无授权禁止任何主体转载、抄袭、复制内容,亦不得私自架设镜像站点。一经侵权,本站将通过法律途径追责。

相关文章