Daniel Hiltgen
df54c723ae
Make CPU builds parallel and customizable AMD GPUs
...
The linux build now support parallel CPU builds to speed things up.
This also exposes AMD GPU targets as an optional setting for advaced
users who want to alter our default set.
2024-01-21 15:12:21 -08:00
Daniel Hiltgen
da72235ebf
Combine the 2 Dockerfiles and add ROCm
...
This renames Dockerfile.build to Dockerfile, and adds some new stages
to support 2 modes of building - the build_linux.sh script uses
intermediate stages to extract the artifacts for ./dist, and the default
build generates a container image usable by both cuda and rocm cards.
This required transitioniing the x86 base to the rocm image to avoid
layer bloat.
2024-01-21 11:37:11 -08:00
Jeffrey Morgan
dc88cc3981
use gzip
for runner embedding ( #2067 )
2024-01-19 13:23:03 -05:00
Michael Yang
e5da190bac
Merge pull request #2020 from jmorganca/mxyng/install-fedora
...
install: pin fedora to max 37
2024-01-18 14:23:42 -08:00
Daniel Hiltgen
1b249748ab
Add multiple CPU variants for Intel Mac
...
This also refines the build process for the ext_server build.
2024-01-17 15:08:54 -08:00
Michael Yang
d9bfb2f08f
install: pin fedora to max 37
...
repos for fedora 38 and newer do not exist as of this commit
```
$ dnf config-manager --add-repo https://developer.download.nvidia.com/compute/cuda/repos/fedora38/x86_64/cuda-fedora38.repo
Adding repo from: https://developer.download.nvidia.com/compute/cuda/repos/fedora38/x86_64/cuda-fedora38.repo
Status code: 404 for https://developer.download.nvidia.com/compute/cuda/repos/fedora38/x86_64/cuda-fedora38.repo (IP: 152.195.19.142)
Error: Configuration of repo failed
```
2024-01-16 11:45:21 -08:00
Daniel Hiltgen
d88c527be3
Build multiple CPU variants and pick the best
...
This reduces the built-in linux version to not use any vector extensions
which enables the resulting builds to run under Rosetta on MacOS in
Docker. Then at runtime it checks for the actual CPU vector
extensions and loads the best CPU library available
2024-01-11 08:42:47 -08:00
Daniel Hiltgen
052b33b81b
DRY out the Dockefile.build
2024-01-10 17:27:51 -08:00
Daniel Hiltgen
9754ae4c89
Support optional override of the target archictures
...
This can help speed up incremental builds when you're only testing one
archicture, like amd64. E.g.
BUILD_ARCH=amd64 ./scripts/build_linux.sh && scp ./dist/ollama-linux-amd64 test-system:
2024-01-10 14:43:24 -08:00
Jeffrey Morgan
34344d801c
clean up cmake build
directory when cross compiling macOS builds
2024-01-09 17:13:56 -05:00
Michael Yang
f9961c70ae
update build
2024-01-04 17:34:38 -08:00
Daniel Hiltgen
8bed487aba
Merge pull request #1778 from dhiltgen/wsl1
...
Fail fast on WSL1 while allowing on WSL2
2024-01-03 16:18:41 -08:00
Daniel Hiltgen
2fcd41ef81
Fail fast on WSL1 while allowing on WSL2
...
This prevents users from accidentally installing on WSL1 with instructions
guiding how to upgrade their WSL instance to version 2. Once running WSL2
if you have an NVIDIA card, you can follow their instructions to set up
GPU passthrough and run models on the GPU. This is not possible on WSL1.
2024-01-03 16:02:32 -08:00
Daniel Hiltgen
2588cb2daa
Add ollama user to render group for Radeon support
...
For the ROCm libraries to access the driver, we need to add the ollama user
to the render group.
2024-01-03 12:56:31 -08:00
Jeffrey Morgan
ec261422af
use docker build
in build scripts
2024-01-02 19:32:54 -05:00
Daniel Hiltgen
697bea6939
Guard integration tests with a tag
...
This should help CI avoid running the integration test logic in a
container where it's not currently possible.
2023-12-22 16:33:27 -08:00
Jeffrey Morgan
b80081022f
cache docker builds in build_linux.sh
2023-12-22 16:01:20 -05:00
Daniel Hiltgen
e5202eb687
Quiet down llama.cpp logging by default
...
By default builds will now produce non-debug and non-verbose binaries.
To enable verbose logs in llama.cpp and debug symbols in the
native code, set `CGO_CFLAGS=-g`
2023-12-22 08:47:18 -08:00
Daniel Hiltgen
fa24e73b82
Remove CPU build, fixup linux build script
2023-12-21 18:21:31 -08:00
Daniel Hiltgen
1b991d0ba9
Refine build to support CPU only
...
If someone checks out the ollama repo and doesn't install the CUDA
library, this will ensure they can build a CPU only version
2023-12-19 09:05:46 -08:00
Daniel Hiltgen
51082535e1
Add automated test for multimodal
...
A simple test case that verifies llava:7b can read text in an image
2023-12-19 09:05:46 -08:00
Daniel Hiltgen
35934b2e05
Adapted rocm support to cgo based llama.cpp
2023-12-19 09:05:46 -08:00
Daniel Hiltgen
d4cd695759
Add cgo implementation for llama.cpp
...
Run the server.cpp directly inside the Go runtime via cgo
while retaining the LLM Go abstractions.
2023-12-19 09:05:46 -08:00
Michael Yang
95cb38ae47
install: fix rocky kernel packages
2023-12-04 11:10:42 -08:00
jeremiahbuckley
39be7fdb98
fix rhel cuda install ( #1321 )
...
Co-authored-by: Cloud User <azureuser@testgpu2.hqzwom21okjenksna4y3c4ymjd.phxx.internal.cloudapp.net>
2023-11-29 14:55:15 -05:00
Jeffrey Morgan
927e3ba4a4
tag image with correct version when building with build_docker
script
2023-11-22 14:32:17 -05:00
Jeffrey Morgan
85e4441c6a
cache docker builds
2023-11-18 08:51:38 -05:00
Jeffrey Morgan
a185b29719
fix install script error on linux
2023-11-17 18:00:41 -05:00
Michael Yang
ad8659b980
Merge pull request #1161 from jmorganca/mxyng/systemd-placeholder
...
placeholder environment variables
2023-11-17 14:45:38 -08:00
Jeffrey Morgan
41434a7cdc
build intel mac with correct binary and compile flags
2023-11-16 22:14:51 -05:00
Michael Yang
32add8577d
placeholder environment variables
2023-11-16 16:57:39 -08:00
yanndegat
75295b9528
install: fix enable contrib on debian 12 ( #1151 )
...
On debian 12, sources definitions have moved from
/etc/apt/sources.list to /etc/apt/sources.list.d/debian.sources
2023-11-16 15:53:06 -05:00
thealhu
1359d6cf3b
Fix sudo variable in install.sh ( #1034 )
...
It was forgotten to replace sudo at one place with the variable for sudo.
2023-11-07 09:59:57 -08:00
Bruce MacDonald
1fb9288661
notify that the ollama api is available after linux install ( #954 )
2023-11-01 11:28:26 -04:00
Michael Yang
92119de9d8
update linux.md
2023-10-25 14:57:50 -07:00
Bruce MacDonald
c039432b5c
add current user to ollama group on install ( #772 )
2023-10-23 17:06:31 -04:00
Victor Vieux
6481b7f34c
Update install.sh, avoid ARCH: unbound variable
2023-10-16 14:40:24 -07:00
Jeffrey Morgan
598621afab
add push script for docker images
2023-10-14 14:24:39 -04:00
Jeffrey Morgan
4f25092dc1
fix build_docker.sh
permissions
2023-10-01 16:42:32 -07:00
Michael Yang
c0b1bf7537
Merge pull request #606 from jmorganca/mxyng/install.sh-2
...
ordered list of install locations
2023-09-29 11:30:46 -07:00
Michael Yang
92d454ec5f
update build_darwin.sh
2023-09-29 11:29:23 -07:00
Bruce MacDonald
958a5a8184
revert fedora cuda version check
2023-09-27 15:12:29 -04:00
Bruce MacDonald
a2b210130f
fedora install fixes ( #609 )
2023-09-27 11:43:47 -04:00
Michael Yang
29c056ea39
ordered list of install locations
2023-09-26 09:38:11 -07:00
Michael Yang
9fc3bba9cf
do no unload nouveau driver
2023-09-26 09:36:54 -07:00
Michael Yang
6e6b655956
update install.sh
2023-09-25 18:09:44 -07:00
Michael Yang
5e388f931e
check cuda installed before installing
2023-09-25 17:56:43 -07:00
Michael Yang
d5ad41dd7b
fix path for wsl user
2023-09-25 17:56:25 -07:00
Michael Yang
d294a11bc9
start service on exit instead of immediately
2023-09-25 17:54:02 -07:00
Michael Yang
1b9dcab3ab
ignore systemctl is-system-running exit code
2023-09-25 15:47:45 -07:00