Implementation:Intel Ipex llm Setup Package
| Knowledge Sources | |
|---|---|
| Domains | Package_Distribution, Build_System, Installation |
| Last Updated | 2026-02-09 04:00 GMT |
Overview
Concrete tool for building and distributing the ipex-llm Python package with platform-specific binary management and multi-backend dependency resolution.
Description
The setup_package() function orchestrates the complete package build process for ipex-llm. It downloads platform-specific pre-compiled shared libraries (Windows DLLs or Linux .so files with CPU instruction set variants: AVX, AVX2, AVX-VNNI, AVX512, AMX), resolves dependency groups for different backends (CPU, XPU 2.1, XPU 2.6, NPU), and configures setuptools with appropriate entry points and package metadata. The binary download fetches from SourceForge with date-based URL resolution.
Usage
This is the package build entry point invoked by pip install or python setup.py. Users do not call it directly but it determines which binaries and dependencies are installed based on the target platform and backend (cpu, xpu, npu).
Code Reference
Source Location
- Repository: Intel IPEX-LLM
- File: python/llm/setup.py
- Lines: 1-390
Signature
def setup_package():
"""Main setup orchestration for ipex-llm package."""
def get_llm_packages():
"""Discover Python packages in ipex_llm directory."""
def obtain_lib_urls():
"""Fetch binary library URLs from SourceForge."""
def download_libs(url, change_permission=True):
"""Download external shared libraries with optional permission changes."""
Import
from setuptools import setup
# This is the package build script; invoked by pip:
# pip install -e .
I/O Contract
Inputs
| Name | Type | Required | Description |
|---|---|---|---|
| Platform detection | auto | Yes | Automatically detects Windows/Linux |
| IPEX_LLM_VERSION | env var | No | Override package version |
| Backend selection | pip extras | No | Install extras: [xpu], [xpu_2.6], [npu], [serving], [cpp] |
Outputs
| Name | Type | Description |
|---|---|---|
| ipex-llm package | Python wheel | Installed package with binaries |
| Native libraries | .dll/.so files | Platform-specific inference backends |
| CLI entry points | Console scripts | llm-chat, llm-cli commands |
Usage Examples
Install CPU Version
pip install ipex-llm
Install XPU Version
pip install ipex-llm[xpu] --extra-index-url https://pytorch-extension.intel.com/release-whl/stable/xpu/us/
Install with Serving Dependencies
pip install ipex-llm[serving]