====== 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
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 [[https://pytorch-extension.intel.com/installation?platform=gpu&version=v2.7.10%2Bxpu&os=linux%2Fwsl2&package=pip | 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
[[internet_over_ssh|Configurar túnel SSH]]. Instalar [[internet_over_ssh#pip| 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 <
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)