pytorch_installation
This is an old revision of the document!
Table of Contents
Instalación de PyTorch
UPDATE
En un enviroment, realizar:
python3.9 -m pip install torch==2.7.0 torchvision==0.22.0 torchaudio==2.7.0 --index-url https://download.pytorch.org/whl/xpu
OLD
Realizamos la instalación utilizando pip utilizando un reverse tunnel de ssh para proveer al login node de conexión a red.
Partimos de las instrucciones que se encuentran en la Intel® Extension for PyTorch* Installation Guide.
Paso 1: Setear enviroment
Utilizar la versión de Python que se encuentra en el paquete OneAPI. El mismo es Python 3.9.
source /opt/intel/oneapi/setvars.sh
$ python --version Python 3.9.19 :: Intel Corporation $ which python /opt/intel/oneapi/intelpython/python3.9/bin/python
Configurar túnel SSH. Instalar PySocks chequear que las variables $http_proxy y $https_proxy estén correctamente seteadas..
Crear un enviroment:
python -m venv venv_pytorch
Paso 2: Correr script de instalación
Guardar el siguiente script como pytorch_install.sh.
#!/bin/bash
source venv_pytorch/bin/activate
# 1. Actualizar pip y instalar typing-extensions primero
pip install --upgrade pip && \
pip install typing-extensions==4.12.2 --no-deps
# 2. Descargar e instalar triton-xpu
curl -LO https://download.pytorch.org/whl/pytorch_triton_xpu-3.3.0-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl && \
pip install pytorch_triton_xpu-3.3.0-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
# 3. Instalar dependencias
pip install filelock fsspec jinja2 networkx sympy>=1.13.3 pillow!=9.3.*,>=5.3.0
# 4. Instalar dependencias XPU
pip install --no-deps \
intel-sycl-rt==2025.0.4 \
intel-cmplr-lib-ur==2025.0.4 \
intel-pti==0.10.1 \
umf==0.9.1 \
--extra-index-url https://download.pytorch.org/whl/pytorch-triton-xpu/
# 5. Instalar paquetes principales de PyTorch XPU
pip install --no-deps \
torch==2.7.0+xpu \
torchvision==0.22.0+xpu \
torchaudio==2.7.0+xpu \
--extra-index-url https://download.pytorch.org/whl/xpu
# 6. Instalar Intel Extension y oneCCL
pip install \
intel-extension-for-pytorch==2.7.10+xpu \
oneccl_bind_pt==2.7.0+xpu \
--extra-index-url https://pytorch-extension.intel.com/release-whl/stable/xpu/us/
Lanzar script:
chmod +X pytorch_install.sh ./pytorch_install.sh
Paso 3: Sanity Check
srun --nodes=1 --ntasks-per-node=1 --partition=gpunode bash -c '
source venv_pytorch/bin/activate && \
python <<EOF
import torch
import intel_extension_for_pytorch as ipex
print(f"PyTorch: {torch.__version__}")
print(f"IPEX: {ipex.__version__}")
[print(f"Device [{i}]: {torch.xpu.get_device_properties(i)}") for i in range(torch.xpu.device_count())]
EOF'
El output debería mostrar algo así:
Device [0]: _XpuDeviceProperties(name='Intel(R) Data Center GPU Max 1550', platform_name='Intel(R) oneAPI Unified Runtime over Level-Zero', type='gpu', driver_version='1.3.27642', total_memory=65536MB, max_compute_units=512, gpu_eu_count=512, gpu_subslice_count=64, max_work_group_size=1024, max_num_sub_groups=64, sub_group_sizes=[16 32], has_fp16=1, has_fp64=1, has_atomic64=1) Device [1]: _XpuDeviceProperties(name='Intel(R) Data Center GPU Max 1550', platform_name='Intel(R) oneAPI Unified Runtime over Level-Zero', type='gpu', driver_version='1.3.27642', total_memory=65536MB, max_compute_units=512, gpu_eu_count=512, gpu_subslice_count=64, max_work_group_size=1024, max_num_sub_groups=64, sub_group_sizes=[16 32], has_fp16=1, has_fp64=1, has_atomic64=1) Device [2]: _XpuDeviceProperties(name='Intel(R) Data Center GPU Max 1550', platform_name='Intel(R) oneAPI Unified Runtime over Level-Zero', type='gpu', driver_version='1.3.27642', total_memory=65536MB, max_compute_units=512, gpu_eu_count=512, gpu_subslice_count=64, max_work_group_size=1024, max_num_sub_groups=64, sub_group_sizes=[16 32], has_fp16=1, has_fp64=1, has_atomic64=1) Device [3]: _XpuDeviceProperties(name='Intel(R) Data Center GPU Max 1550', platform_name='Intel(R) oneAPI Unified Runtime over Level-Zero', type='gpu', driver_version='1.3.27642', total_memory=65536MB, max_compute_units=512, gpu_eu_count=512, gpu_subslice_count=64, max_work_group_size=1024, max_num_sub_groups=64, sub_group_sizes=[16 32], has_fp16=1, has_fp64=1, has_atomic64=1) Device [4]: _XpuDeviceProperties(name='Intel(R) Data Center GPU Max 1550', platform_name='Intel(R) oneAPI Unified Runtime over Level-Zero', type='gpu', driver_version='1.3.27642', total_memory=65536MB, max_compute_units=512, gpu_eu_count=512, gpu_subslice_count=64, max_work_group_size=1024, max_num_sub_groups=64, sub_group_sizes=[16 32], has_fp16=1, has_fp64=1, has_atomic64=1) Device [5]: _XpuDeviceProperties(name='Intel(R) Data Center GPU Max 1550', platform_name='Intel(R) oneAPI Unified Runtime over Level-Zero', type='gpu', driver_version='1.3.27642', total_memory=65536MB, max_compute_units=512, gpu_eu_count=512, gpu_subslice_count=64, max_work_group_size=1024, max_num_sub_groups=64, sub_group_sizes=[16 32], has_fp16=1, has_fp64=1, has_atomic64=1) Device [6]: _XpuDeviceProperties(name='Intel(R) Data Center GPU Max 1550', platform_name='Intel(R) oneAPI Unified Runtime over Level-Zero', type='gpu', driver_version='1.3.27642', total_memory=65536MB, max_compute_units=512, gpu_eu_count=512, gpu_subslice_count=64, max_work_group_size=1024, max_num_sub_groups=64, sub_group_sizes=[16 32], has_fp16=1, has_fp64=1, has_atomic64=1) Device [7]: _XpuDeviceProperties(name='Intel(R) Data Center GPU Max 1550', platform_name='Intel(R) oneAPI Unified Runtime over Level-Zero', type='gpu', driver_version='1.3.27642', total_memory=65536MB, max_compute_units=512, gpu_eu_count=512, gpu_subslice_count=64, max_work_group_size=1024, max_num_sub_groups=64, sub_group_sizes=[16 32], has_fp16=1, has_fp64=1, has_atomic64=1)
pytorch_installation.1753211072.txt.gz · Last modified: by bbruzzo
