Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
OpenDAS
ollama
Commits
6459377a
Unverified
Commit
6459377a
authored
Mar 14, 2024
by
Daniel Hiltgen
Committed by
GitHub
Mar 14, 2024
Browse files
Add ROCm support to linux install script (#2966)
parent
8546dd3d
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
43 additions
and
11 deletions
+43
-11
docs/troubleshooting.md
docs/troubleshooting.md
+5
-4
scripts/install.sh
scripts/install.sh
+38
-7
No files found.
docs/troubleshooting.md
View file @
6459377a
...
@@ -101,11 +101,12 @@ future release which should increase support for more GPUs.
...
@@ -101,11 +101,12 @@ future release which should increase support for more GPUs.
Reach out on
[
Discord
](
https://discord.gg/ollama
)
or file an
Reach out on
[
Discord
](
https://discord.gg/ollama
)
or file an
[
issue
](
https://github.com/ollama/ollama/issues
)
for additional help.
[
issue
](
https://github.com/ollama/ollama/issues
)
for additional help.
## Installing older versions on Linux
## Installing older
or pre-release
versions on Linux
If you run into problems on Linux and want to install an older version you can tell the install script
If you run into problems on Linux and want to install an older version, or you'd
which version to install.
like to try out a pre-release before it's officially released, you can tell the
install script which version to install.
```
sh
```
sh
curl
-fsSL
https://ollama.com/install.sh |
OLLAMA_VERSION
=
"0.1.2
7
"
sh
curl
-fsSL
https://ollama.com/install.sh |
OLLAMA_VERSION
=
"0.1.2
9
"
sh
```
```
scripts/install.sh
View file @
6459377a
...
@@ -40,6 +40,7 @@ case "$KERN" in
...
@@ -40,6 +40,7 @@ case "$KERN" in
*
)
;;
*
)
;;
esac
esac
VER_PARAM
=
"
${
OLLAMA_VERSION
:+?version
=
$OLLAMA_VERSION
}
"
SUDO
=
SUDO
=
if
[
"
$(
id
-u
)
"
-ne
0
]
;
then
if
[
"
$(
id
-u
)
"
-ne
0
]
;
then
...
@@ -61,7 +62,7 @@ if [ -n "$NEEDS" ]; then
...
@@ -61,7 +62,7 @@ if [ -n "$NEEDS" ]; then
fi
fi
status
"Downloading ollama..."
status
"Downloading ollama..."
curl
--fail
--show-error
--location
--progress-bar
-o
$TEMP_DIR
/ollama
"https://ollama.com/download/ollama-linux-
$ARCH
"
curl
--fail
--show-error
--location
--progress-bar
-o
$TEMP_DIR
/ollama
"https://ollama.com/download/ollama-linux-
$
{
ARCH
}${
VER_PARAM
}
"
for
BINDIR
in
/usr/local/bin /usr/bin /bin
;
do
for
BINDIR
in
/usr/local/bin /usr/bin /bin
;
do
echo
$PATH
|
grep
-q
$BINDIR
&&
break
||
continue
echo
$PATH
|
grep
-q
$BINDIR
&&
break
||
continue
...
@@ -82,7 +83,7 @@ trap install_success EXIT
...
@@ -82,7 +83,7 @@ trap install_success EXIT
configure_systemd
()
{
configure_systemd
()
{
if
!
id
ollama
>
/dev/null 2>&1
;
then
if
!
id
ollama
>
/dev/null 2>&1
;
then
status
"Creating ollama user..."
status
"Creating ollama user..."
$SUDO
useradd
-r
-s
/bin/false
-m
-d
/usr/share/ollama ollama
$SUDO
useradd
-r
-s
/bin/false
-U
-m
-d
/usr/share/ollama ollama
fi
fi
if
getent group render
>
/dev/null 2>&1
;
then
if
getent group render
>
/dev/null 2>&1
;
then
status
"Adding ollama user to render group..."
status
"Adding ollama user to render group..."
...
@@ -131,14 +132,23 @@ if available systemctl; then
...
@@ -131,14 +132,23 @@ if available systemctl; then
fi
fi
if
!
available lspci
&&
!
available lshw
;
then
if
!
available lspci
&&
!
available lshw
;
then
warning
"Unable to detect NVIDIA GPU. Install lspci or lshw to automatically detect and install
NVIDIA CUDA driver
s."
warning
"Unable to detect NVIDIA
/AMD
GPU. Install lspci or lshw to automatically detect and install
GPU dependencie
s."
exit
0
exit
0
fi
fi
check_gpu
()
{
check_gpu
()
{
# Look for devices based on vendor ID for NVIDIA and AMD
case
$1
in
case
$1
in
lspci
)
available lspci
&&
lspci
-d
'10de:'
|
grep
-q
'NVIDIA'
||
return
1
;;
lspci
)
lshw
)
available lshw
&&
$SUDO
lshw
-c
display
-numeric
|
grep
-q
'vendor: .* \[10DE\]'
||
return
1
;;
case
$2
in
nvidia
)
available lspci
&&
lspci
-d
'10de:'
|
grep
-q
'NVIDIA'
||
return
1
;;
amdgpu
)
available lspci
&&
lspci
-d
'1002:'
|
grep
-q
'AMD'
||
return
1
;;
esac
;;
lshw
)
case
$2
in
nvidia
)
available lshw
&&
$SUDO
lshw
-c
display
-numeric
|
grep
-q
'vendor: .* \[10DE\]'
||
return
1
;;
amdgpu
)
available lshw
&&
$SUDO
lshw
-c
display
-numeric
|
grep
-q
'vendor: .* \[1002\]'
||
return
1
;;
esac
;;
nvidia-smi
)
available nvidia-smi
||
return
1
;;
nvidia-smi
)
available nvidia-smi
||
return
1
;;
esac
esac
}
}
...
@@ -148,9 +158,30 @@ if check_gpu nvidia-smi; then
...
@@ -148,9 +158,30 @@ if check_gpu nvidia-smi; then
exit
0
exit
0
fi
fi
if
!
check_gpu lspci
&&
!
check_gpu lshw
;
then
if
!
check_gpu lspci
nvidia
&&
!
check_gpu lshw
nvidia
&&
!
check_gpu lspci amdgpu
&&
!
check_gpu lshw amdgpu
;
then
install_success
install_success
warning
"No NVIDIA GPU detected. Ollama will run in CPU-only mode."
warning
"No NVIDIA/AMD GPU detected. Ollama will run in CPU-only mode."
exit
0
fi
if
check_gpu lspci amdgpu
||
check_gpu lshw amdgpu
;
then
# Look for pre-existing ROCm v6 before downloading the dependencies
for
search
in
"
${
HIP_PATH
:-
''
}
"
"
${
ROCM_PATH
:-
''
}
"
"/opt/rocm"
;
do
if
[
-n
"
${
search
}
"
]
&&
[
-e
"
${
search
}
/lib/libhipblas.so.2"
]
;
then
status
"Compatible AMD GPU ROCm library detected at
${
search
}
"
install_success
exit
0
fi
done
status
"Downloading AMD GPU dependencies..."
$SUDO
rm
-rf
/usr/share/ollama/lib
$SUDO
chmod
o+x /usr/share/ollama
$SUDO
install
-o
ollama
-g
ollama
-m
755
-d
/usr/share/ollama/lib/rocm
curl
--fail
--show-error
--location
--progress-bar
"https://ollama.com/download/ollama-linux-amd64-rocm.tgz
${
VER_PARAM
}
"
\
|
$SUDO
tar
zx
--owner
ollama
--group
ollama
-C
/usr/share/ollama/lib/rocm
.
install_success
status
"AMD GPU dependencies installed."
exit
0
exit
0
fi
fi
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment