4747
4848VER_PARAM=" ${OLLAMA_VERSION: +?version=$OLLAMA_VERSION } "
4949
50+ # GitHub repository for MooreThreads Ollama MUSA
51+ GITHUB_REPO=" MooreThreads/ollama-musa"
52+ GITHUB_API_URL=" https://api.github.com/repos/${GITHUB_REPO} "
53+
54+ # Function to get the latest release version
55+ get_latest_version () {
56+ if [ -n " ${OLLAMA_VERSION:- } " ]; then
57+ echo " ${OLLAMA_VERSION} "
58+ else
59+ # Try to fetch the latest release from GitHub API
60+ status " Fetching latest release from GitHub..."
61+ LATEST_VERSION=$( curl -s --fail " ${GITHUB_API_URL} /releases/latest" 2> /dev/null | grep ' "tag_name":' | sed ' s/.*"tag_name": *"\([^"]*\)".*/\1/' | head -1)
62+ if [ -n " $LATEST_VERSION " ] && [ " $LATEST_VERSION " != " null" ]; then
63+ echo " $LATEST_VERSION "
64+ else
65+ # Fallback: try to get the latest tag
66+ status " Falling back to latest tag..."
67+ LATEST_VERSION=$( curl -s --fail " ${GITHUB_API_URL} /tags" 2> /dev/null | grep ' "name":' | head -1 | sed ' s/.*"name": *"\([^"]*\)".*/\1/' )
68+ if [ -n " $LATEST_VERSION " ] && [ " $LATEST_VERSION " != " null" ]; then
69+ echo " $LATEST_VERSION "
70+ else
71+ error " Failed to fetch latest version from GitHub API. Please set OLLAMA_VERSION environment variable."
72+ fi
73+ fi
74+ fi
75+ }
76+
77+ # Get the version to download
78+ VERSION=$( get_latest_version)
79+ status " Using version: $VERSION "
80+
81+ # Function to construct GitHub release download URL
82+ get_download_url () {
83+ local filename=" $1 "
84+ echo " https://github.com/${GITHUB_REPO} /releases/download/${VERSION} /${filename} "
85+ }
86+
5087SUDO=
5188if [ " $( id -u) " -ne 0 ]; then
5289 # Running as root, no need for sudo
78115status " Installing ollama to $OLLAMA_INSTALL_DIR "
79116$SUDO install -o0 -g0 -m755 -d $BINDIR
80117$SUDO install -o0 -g0 -m755 -d " $OLLAMA_INSTALL_DIR /lib/ollama"
81- status " Downloading Linux ${ARCH} bundle"
118+ status " Downloading Linux ${ARCH} MUSA bundle"
119+ DOWNLOAD_URL=$( get_download_url " ollama-linux-${ARCH} .tgz${VER_PARAM} " )
120+ status " Download URL: $DOWNLOAD_URL "
82121curl --fail --show-error --location --progress-bar \
83- " https://ollama.com/download/ollama-linux- ${ARCH} .tgz ${VER_PARAM} " | \
122+ " $DOWNLOAD_URL " | \
84123 $SUDO tar -xzf - -C " $OLLAMA_INSTALL_DIR "
85124
86125if [ " $OLLAMA_INSTALL_DIR /bin/ollama" != " $BINDIR /ollama" ] ; then
189228
190229# Install GPU dependencies on Linux
191230if ! available lspci && ! available lshw; then
192- warning " Unable to detect NVIDIA/AMD GPU. Install lspci or lshw to automatically detect and install GPU dependencies."
231+ warning " Unable to detect NVIDIA/AMD/MTHREADS GPU. Install lspci or lshw to automatically detect and install GPU dependencies."
193232 exit 0
194233fi
195234
196235check_gpu () {
197- # Look for devices based on vendor ID for NVIDIA and AMD
236+ # Look for devices based on vendor ID for NVIDIA, AMD and MTHREADS
198237 case $1 in
199238 lspci)
200239 case $2 in
@@ -205,8 +244,10 @@ check_gpu() {
205244 case $2 in
206245 nvidia) available lshw && $SUDO lshw -c display -numeric -disable network | grep -q ' vendor: .* \[10DE\]' || return 1 ;;
207246 amdgpu) available lshw && $SUDO lshw -c display -numeric -disable network | grep -q ' vendor: .* \[1002\]' || return 1 ;;
247+ mtgpu) available lshw && $SUDO lshw -c display -numeric -disable network | grep -q ' vendor: .* \[1ED5\]' || return 1 ;;
208248 esac ;;
209249 nvidia-smi) available nvidia-smi || return 1 ;;
250+ mthreads-gmi) available mthreads-gmi || return 1 ;;
210251 esac
211252}
212253
@@ -215,9 +256,14 @@ if check_gpu nvidia-smi; then
215256 exit 0
216257fi
217258
218- if ! check_gpu lspci nvidia && ! check_gpu lshw nvidia && ! check_gpu lspci amdgpu && ! check_gpu lshw amdgpu; then
259+ if check_gpu mthreads-gmi; then
260+ status " MTHREADS GPU installed."
261+ exit 0
262+ fi
263+
264+ if ! check_gpu lspci nvidia && ! check_gpu lshw nvidia && ! check_gpu lspci amdgpu && ! check_gpu lshw amdgpu && ! check_gpu lshw mtgpu; then
219265 install_success
220- warning " No NVIDIA/AMD GPU detected. Ollama will run in CPU-only mode."
266+ warning " No NVIDIA/AMD/MTHREADS GPU detected. Ollama will run in CPU-only mode."
221267 exit 0
222268fi
223269
@@ -239,7 +285,7 @@ CUDA_REPO_ERR_MSG="NVIDIA GPU detected, but your OS and Architecture are not sup
239285# ref: https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html#fedora
240286install_cuda_driver_yum () {
241287 status ' Installing NVIDIA repository...'
242-
288+
243289 case $PACKAGE_MANAGER in
244290 yum)
245291 $SUDO $PACKAGE_MANAGER -y install yum-utils
0 commit comments