docs: improve gpu not used

This commit is contained in:
Ho Duc Hieu 2024-01-06 12:52:38 +07:00
parent 9c617102e2
commit d8dd2e28f3

View File

@ -11,45 +11,57 @@ keywords: [
no-subscription fee, no-subscription fee,
large language model, large language model,
troubleshooting, troubleshooting,
using GPU,
] ]
--- ---
## Requirements for running Jan App in GPU mode on Windows and Linux This guide provides steps to troubleshoot and resolve issues when Jan app does not utilize the GPU on Windows and Linux systems.
## Requirements for Running Jan in Gpu Mode on Windows and Linux
- You must have an NVIDIA driver that supports CUDA 11.4 or higher. Refer [here](https://docs.nvidia.com/deploy/cuda-compatibility/index.html#binary-compatibility__table-toolkit-driver). - You must have an NVIDIA driver that supports CUDA 11.4 or higher. Refer [here](https://docs.nvidia.com/deploy/cuda-compatibility/index.html#binary-compatibility__table-toolkit-driver).
To check if the NVIDIA driver is installed, open PowerShell or Terminal and enter the following command: To check if the NVIDIA driver is installed, open PowerShell or Terminal and enter the following command:
```bash
nvidia-smi ```bash
``` nvidia-smi
If you see a result similar to the following, you have successfully installed the NVIDIA driver: ```
```bash
+-----------------------------------------------------------------------------+ If you see a result similar to the following, you have successfully installed the NVIDIA driver:
| NVIDIA-SMI 470.57.02 Driver Version: 470.57.02 CUDA Version: 11.4 |
|-------------------------------+----------------------+----------------------+ ```bash
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC | +-----------------------------------------------------------------------------+
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. | | NVIDIA-SMI 470.57.02 Driver Version: 470.57.02 CUDA Version: 11.4 |
| | | MIG M. | |-------------------------------+----------------------+----------------------+
|===============================+======================+======================| | GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| 0 NVIDIA GeForce ... Off | 00000000:01:00.0 On | N/A | | Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
| 0% 51C P8 10W / 170W | 364MiB / 7982MiB | 0% Default | | | | MIG M. |
| | | N/A | |===============================+======================+======================|
+-------------------------------+----------------------+----------------------+ | 0 NVIDIA GeForce ... Off | 00000000:01:00.0 On | N/A |
``` | 0% 51C P8 10W / 170W | 364MiB / 7982MiB | 0% Default |
| | | N/A |
+-------------------------------+----------------------+----------------------+
```
- You must have CUDA 11.4 or higher (refer [here](https://developer.nvidia.com/cuda-toolkit-archive)). - You must have CUDA 11.4 or higher (refer [here](https://developer.nvidia.com/cuda-toolkit-archive)).
To check if CUDA is installed, open PowerShell or Terminal and enter the following command: To check if CUDA is installed, open PowerShell or Terminal and enter the following command:
```bash
nvcc --version
```
If you see a result similar to the following, you have successfully installed CUDA:
```bash
nvcc: NVIDIA (R) Cuda compiler driver
Cuda compilation tools, release 11.4, V11.4.100 ```bash
Build cuda_11.4.r11.4/compiler.30033411_0 nvcc --version
``` ```
If you see a result similar to the following, you have successfully installed CUDA:
```bash
nvcc: NVIDIA (R) Cuda compiler driver
Cuda compilation tools, release 11.4, V11.4.100
Build cuda_11.4.r11.4/compiler.30033411_0
```
- Specifically for Linux: - Specifically for Linux:
- you must have `gcc-11`, `g++-11`, `cpp-11` or higher, refer [here](https://gcc.gnu.org/projects/cxx-status.html#cxx17). For Ubuntu, you can install g++ 11 by following the instructions [here](https://linuxconfig.org/how-to-switch-between-multiple-gcc-and-g-compiler-versions-on-ubuntu-20-04-lts-focal-fossa). - you must have `gcc-11`, `g++-11`, `cpp-11` or higher, refer [here](https://gcc.gnu.org/projects/cxx-status.html#cxx17). For Ubuntu, you can install g++ 11 by following the instructions [here](https://linuxconfig.org/how-to-switch-between-multiple-gcc-and-g-compiler-versions-on-ubuntu-20-04-lts-focal-fossa).
```bash ```bash
# Example for ubuntu # Example for ubuntu
# Add the following PPA repository # Add the following PPA repository
@ -69,7 +81,9 @@ keywords: [
# Check the default g++ version # Check the default g++ version
g++ --version g++ --version
``` ```
- You must add the `.so` libraries of CUDA to the `LD_LIBRARY_PATH` environment variable, refer [here](https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html#post-installation-actions). - You must add the `.so` libraries of CUDA to the `LD_LIBRARY_PATH` environment variable, refer [here](https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html#post-installation-actions).
```bash ```bash
# Example for ubuntu with CUDA 11.4 # Example for ubuntu with CUDA 11.4
sudo nano /etc/environment sudo nano /etc/environment
@ -80,7 +94,8 @@ keywords: [
# Save and exit # Save and exit
# Restart your computer or log out and log in again, the changes will take effect # Restart your computer or log out and log in again, the changes will take effect
``` ```
## How to switch mode CPU/GPU Jan app
## Switching Between CPU/GPU Modes in Jan
By default, Jan app will run in CPU mode. When starting Jan app, the program will automatically check if your computer meets the requirements to run in GPU mode. If it does, we will automatically enable GPU mode and pick the GPU has highest VGRAM for you (feature allowing users to select one or more GPU devices for use - currently in planning). You can check whether you are using CPU mode or GPU mode in the settings/advance section of Jan app. (see image below). ![](../../../static/img/usage/jan-gpu-enable-setting.png) By default, Jan app will run in CPU mode. When starting Jan app, the program will automatically check if your computer meets the requirements to run in GPU mode. If it does, we will automatically enable GPU mode and pick the GPU has highest VGRAM for you (feature allowing users to select one or more GPU devices for use - currently in planning). You can check whether you are using CPU mode or GPU mode in the settings/advance section of Jan app. (see image below). ![](../../../static/img/usage/jan-gpu-enable-setting.png)
@ -92,26 +107,65 @@ If you have GPU mode but it is not enabled by default, the following possibiliti
3. You have not installed a CUDA compatible driver, refer [here](https://docs.nvidia.com/deploy/cuda-compatibility/index.html#binary-compatibility__table-toolkit-driver), and you must add the `.so` libraries of CUDA and the CUDA compatible driver to the `LD_LIBRARY_PATH` environment variable, refer [here](https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html#post-installation-actions). For Windows, add the `.dll` libraries of CUDA and the CUDA compatible driver to the `PATH` environment variable. Usually, when installing CUDA on Windows, this environment variable is automatically added, but if you do not see it, you can add it manually by referring [here](https://docs.nvidia.com/cuda/cuda-installation-guide-microsoft-windows/index.html#environment-setup). 3. You have not installed a CUDA compatible driver, refer [here](https://docs.nvidia.com/deploy/cuda-compatibility/index.html#binary-compatibility__table-toolkit-driver), and you must add the `.so` libraries of CUDA and the CUDA compatible driver to the `LD_LIBRARY_PATH` environment variable, refer [here](https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html#post-installation-actions). For Windows, add the `.dll` libraries of CUDA and the CUDA compatible driver to the `PATH` environment variable. Usually, when installing CUDA on Windows, this environment variable is automatically added, but if you do not see it, you can add it manually by referring [here](https://docs.nvidia.com/cuda/cuda-installation-guide-microsoft-windows/index.html#environment-setup).
## To check the current GPU-related settings that Jan app has detected, you can go to the Settings/Advanced section as shown in the image below. ## Checking GPU Settings in Jan
![](../../../static/img/usage/jan-open-home-directory.png)
![](../../../static/img/usage/jan-open-settings-1.png)
![](../../../static/img/usage/jan-open-settings-2.png)
![](../../../static/img/usage/jan-open-settings-3.png)
When you have an issue with GPU mode, share the `settings.json` with us will help us to solve the problem faster. To verify the current GPU-related settings that Jan has detected, navigate to `Settings` > `Advanced` > `Open App Directory`
## Tested on ![OpenAppDirectory](../../../static/img/usage/jan-open-home-directory.png)
Then, open the `settings.json` file under the `settings` folder. The following is an example of the `settings.json` file:
```json title="~/jan/settings/settings.json"
{
"notify": true,
"run_mode": "gpu",
"nvidia_driver": {
"exist": true,
"version": "531.18"
},
"cuda": {
"exist": true,
"version": "12"
},
"gpus": [
{
"id": "0",
"vram": "12282"
},
{
"id": "1",
"vram": "6144"
},
{
"id": "2",
"vram": "6144"
}
],
"gpu_highest_vram": "0"
}
```
:::tip
Troubleshooting tips:
- Ensure `nvidia_driver` and `cuda` fields indicates that requirements software are installed.
- If `gpus` field is empty or does not list your GPU, verify the installation of the NVIDIA driver and CUDA toolkit.
- For futher assistance, please share the `settings.json` with us.
:::
## Tested Configurations
- Windows 11 Pro 64-bit, NVIDIA GeForce RTX 4070ti GPU, CUDA 12.2, NVIDIA driver 531.18 (Bare metal) - Windows 11 Pro 64-bit, NVIDIA GeForce RTX 4070ti GPU, CUDA 12.2, NVIDIA driver 531.18 (Bare metal)
- Ubuntu 22.04 LTS, NVIDIA GeForce RTX 4070ti GPU, CUDA 12.2, NVIDIA driver 545 (Bare metal) - Ubuntu 22.04 LTS, NVIDIA GeForce RTX 4070ti GPU, CUDA 12.2, NVIDIA driver 545 (Bare metal)
- Ubuntu 18.04 LTS, NVIDIA GeForce GTX 1660ti GPU, CUDA 12.1, NVIDIA driver 535 (Proxmox VM passthrough GPU) - Ubuntu 18.04 LTS, NVIDIA GeForce GTX 1660ti GPU, CUDA 12.1, NVIDIA driver 535 (Proxmox VM passthrough GPU)
- Ubuntu 20.04 LTS, NVIDIA GeForce GTX 1660ti GPU, CUDA 12.1, NVIDIA driver 535 (Proxmox VM passthrough GPU) - Ubuntu 20.04 LTS, NVIDIA GeForce GTX 1660ti GPU, CUDA 12.1, NVIDIA driver 535 (Proxmox VM passthrough GPU)
## Common Issues and Solutions
## If you are experiencing this issue
1. If the issue persists, please install the [Nightly version](/install/nightly) instead. 1. If the issue persists, please install the [Nightly version](/install/nightly) instead.
1. If the issue persists, ensure your (V)RAM is accessible by the application. Some folks have virtual RAM and needs additional configuration. 2. If the issue persists, ensure your (V)RAM is accessible by the application. Some folks have virtual RAM and need additional configuration.
1. Get help in [Jan Discord](https://discord.gg/mY69SZaMaC). 3. Get help in [Jan Discord](https://discord.gg/mY69SZaMaC).