abetlen / abetlen/llama-cpp-python
Steps to Build and Install llama-cpp-python 0.3.7 w/CUDA on Windows 11 [06/03/2025]
- Dominant language
- Python
- Stars
- 10.6k
- Forks
- 1.4k
- PR merge metrics
- PR metrics pending
Description
After reviewing multiple GitHub issues, forum discussions, and guides from other Python packages, I was able to successfully build and install `llama-cpp-python 0.3.7` with CUDA on Windows 11. Below are the exact steps I followed, which may help others facing similar build issues.
---
### Errors Encountered During Build
I encountered the following build errors even after installing the right build tools. The issue was resolved by updating the `llama.cpp` submodule.
```console
D:\llama-cpp-python\vendor\llama.cpp\common\log.cpp(28,79): error C2039: 'system_clock': is not a member of 'std::chrono' [%localappdata%\Temp\tmp0zkelev6\build\vendor\llama.cpp\common\common.vcxproj]
D:\llama-cpp-python\vendor\llama.cpp\common\log.cpp(28,79): error C3083: 'system_clock': the symbol to the left of a '::' must be a type [%localappdata%\Temp\tmp0zkelev6\build\vendor\llama.cpp\common\common.vcxproj]
D:\llama-cpp-python\vendor\llama.cpp\common\log.cpp(28,93): error C2039: 'now': is not a member of 'std::chrono' [%localappdata%\Temp\tmp0zkelev6\build\vendor\llama.cpp\common\common.vcxproj]
D:\llama-cpp-python\vendor\llama.cpp\common\log.cpp(28,93): error C3861: 'now': identifier not found [%localappdata%\Temp\tmp0zkelev6\build\vendor\llama.cpp\common\common.vcxproj]
D:\llama-cpp-python\vendor\llama.cpp\common\log.cpp(28,25): error C2672: 'std::chrono::duration_cast': no matching overloaded function found [%localappdata%\Temp\tmp0zkelev6\build\vendor\llama.cpp\common\common.vcxproj]
```
---
### **Hardware Setup**
- **OS:** Windows 11
- **CPU:** Intel i9-9900K
- **GPUs:** RTX 3080, RTX A4000
### **Software Setup**
- **Git Bash:** 2.48.1
- **Python:** 3.12.9 (likely works with 3.11 and 3.13)
- **CMake:** 4.0.0-rc3
- **Visual Studio 2022:** 17.13.2 with the following workloads installed -
- Python development
- Desktop development with C++
- Linux and embedded development with C++
- **CUDA Toolkit:** 12.8.0 (installed without modifying PhysX, Display, and HD Audio drivers, as they were already installed by the latest Studio Driver Package v572.60 that I'm using)
---
### **Installation Steps**
### **Make sure to use **Command Prompt** and not PowerShell, for the following steps.**
#### **1. Clone the Repository**
Navigate to the directory where you want to build the package and run:
```sh
git clone --recursive -j%NUMBER_OF_PROCESSORS% https://github.com/abetlen/llama-cpp-python.git
```
#### **2. Navigate to the Package Directory**
```sh
cd llama-cpp-python
```
#### **3. Update the `llama.cpp` Submodule**
```sh
git submodule update --remote vendor\llama.cpp
```
#### **4. Set Required Environment Variables**
Configure the necessary environment variables:
```sh
set FORCE_CMAKE=1
set CMAKE_ARGS=-DGGML_CUDA=ON
# Optional variables to speed up the build process
# set CMAKE_BUILD_PARALLEL_LEVEL=%NUMBER_OF_PROCESSORS%
# set MAKEFLAGS=-j%NUMBER_OF_PROCESSORS%
```
These are only temporary and will be unset when you exit the current CMD session.
#### **5. Build and Install**
Run the following command to build and install the package:
```sh
python -m pip install . --no-cache-dir --force-reinstall --upgrade
```
---
This setup worked for me, and I hope it helps others facing similar build issues.
Contributor guide
Assessment
This issue has not been assessed yet.