User Tools

Site Tools


pytorch_installation

This is an old revision of the document!


Instalación de Pytorch

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

Asegurarse de tener instalado PySocks y correctamente seteadas las variables $http_proxy y $https_proxy.

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.1751235281.txt.gz · Last modified: by bbruzzo