85 lines
		
	
	
	
		
			2.1 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			85 lines
		
	
	
	
		
			2.1 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
# IPEX-LLM Installation: CPU
 | 
						|
 | 
						|
## Quick Installation
 | 
						|
 | 
						|
Install IPEX-LLM for CPU supports using pip through:
 | 
						|
 | 
						|
- For **Linux users**:
 | 
						|
 | 
						|
  ```bash
 | 
						|
  pip install --pre --upgrade ipex-llm[all] --extra-index-url https://download.pytorch.org/whl/cpu
 | 
						|
  ```
 | 
						|
 | 
						|
- For **Windows users**:
 | 
						|
 | 
						|
  ```cmd
 | 
						|
  pip install --pre --upgrade ipex-llm[all]
 | 
						|
  ```
 | 
						|
 | 
						|
Please refer to [Environment Setup](#environment-setup) for more information.
 | 
						|
 | 
						|
> [!NOTE]
 | 
						|
> `all` option will trigger installation of all the dependencies for common LLM application development.
 | 
						|
 | 
						|
> [!IMPORTANT]
 | 
						|
> `ipex-llm` is tested with Python 3.9, 3.10 and 3.11; Python 3.11 is recommended for best practices.
 | 
						|
 | 
						|
 | 
						|
## Recommended Requirements
 | 
						|
 | 
						|
Here list the recommended hardware and OS for smooth IPEX-LLM optimization experiences on CPU:
 | 
						|
 | 
						|
* Hardware
 | 
						|
 | 
						|
  * PCs equipped with 12th Gen Intel® Core™ processor or higher, and at least 16GB RAM
 | 
						|
  * Servers equipped with Intel® Xeon® processors, at least 32G RAM.
 | 
						|
 | 
						|
* Operating System
 | 
						|
 | 
						|
  * Ubuntu 20.04 or later
 | 
						|
  * CentOS 7 or later
 | 
						|
  * Windows 10/11, with or without WSL
 | 
						|
 | 
						|
## Environment Setup
 | 
						|
 | 
						|
For optimal performance with LLM models using IPEX-LLM optimizations on Intel CPUs, here are some best practices for setting up environment:
 | 
						|
 | 
						|
First we recommend using [Conda](https://conda-forge.org/download/) to create a python 3.11 enviroment:
 | 
						|
 | 
						|
- For **Linux users**:
 | 
						|
 | 
						|
  ```bash
 | 
						|
  conda create -n llm python=3.11
 | 
						|
  conda activate llm
 | 
						|
 | 
						|
  pip install --pre --upgrade ipex-llm[all] --extra-index-url https://download.pytorch.org/whl/cpu
 | 
						|
  ```
 | 
						|
 | 
						|
- For **Windows users**:
 | 
						|
 | 
						|
  ```cmd
 | 
						|
  conda create -n llm python=3.11
 | 
						|
  conda activate llm
 | 
						|
 | 
						|
  pip install --pre --upgrade ipex-llm[all]
 | 
						|
  ```
 | 
						|
 | 
						|
Then for running a LLM model with IPEX-LLM optimizations (taking an `example.py` an example):
 | 
						|
 | 
						|
- For **running on Client**:
 | 
						|
 | 
						|
  It is recommended to run directly with full utilization of all CPU cores:
 | 
						|
 | 
						|
  ```bash
 | 
						|
  python example.py
 | 
						|
  ```
 | 
						|
 | 
						|
- For **running on Server**:
 | 
						|
 | 
						|
  It is recommended to run with all the physical cores of a single socket:
 | 
						|
 | 
						|
  ```bash
 | 
						|
  # e.g. for a server with 48 cores per socket
 | 
						|
  export OMP_NUM_THREADS=48
 | 
						|
  numactl -C 0-47 -m 0 python example.py
 | 
						|
  ```
 |