[GH-ISSUE #3037] Disable AMD GPU support or support more AMD GPUs like gfx90c #1867

Closed
opened 2026-04-12 11:56:15 -05:00 by GiteaMirror · 5 comments
Owner

Originally created by @James4Ever0 on GitHub (Mar 10, 2024).
Original GitHub issue: https://github.com/ollama/ollama/issues/3037

I have one integrated AMD GPU "AMD ATI 05:00.0 Lucienne" of CPU "AMD Ryzen 7 5700U with Radeon Graphics (16) @ 4.315GHz", codename gfx90c.

I updated to latest ollama version 0.1.28 and found it unable to run any models.

I want to know if it is possible to add support to gfx90c or simply disable it by passing some commandline arguments like DISABLE_AMDGPU=1? Otherwise I have to roll back to historical versions and cannot use latest models.

The log of ollama serve is pasted below:

time=2024-03-10T16:17:45.895+08:00 level=INFO source=images.go:710 msg="total blobs: 11"
time=2024-03-10T16:17:45.895+08:00 level=INFO source=images.go:717 msg="total unused blobs removed: 0"
time=2024-03-10T16:17:45.895+08:00 level=INFO source=routes.go:1021 msg="Listening on 127.0.0.1:11434 (version 0.1.28)"
time=2024-03-10T16:17:45.895+08:00 level=INFO source=payload_common.go:107 msg="Extracting dynamic libraries..."
time=2024-03-10T16:17:48.136+08:00 level=INFO source=payload_common.go:146 msg="Dynamic LLM libraries [cuda_v11 cpu_avx cpu_avx2 rocm_v6 rocm_v5 cpu]"
time=2024-03-10T16:17:48.136+08:00 level=INFO source=gpu.go:94 msg="Detecting GPU type"
time=2024-03-10T16:17:48.136+08:00 level=INFO source=gpu.go:265 msg="Searching for GPU management library libnvidia-ml.so"
time=2024-03-10T16:17:48.139+08:00 level=INFO source=gpu.go:311 msg="Discovered GPU libraries: []"
time=2024-03-10T16:17:48.139+08:00 level=INFO source=gpu.go:265 msg="Searching for GPU management library librocm_smi64.so"
time=2024-03-10T16:17:48.139+08:00 level=INFO source=gpu.go:311 msg="Discovered GPU libraries: [/opt/rocm/lib/librocm_smi64.so.5.0.50700 /opt/rocm-5.7.0/lib/librocm_smi64.so.5.0.50700]"
time=2024-03-10T16:17:48.140+08:00 level=INFO source=gpu.go:109 msg="Radeon GPU detected"
time=2024-03-10T16:17:48.140+08:00 level=INFO source=cpu_common.go:11 msg="CPU has AVX2"
time=2024-03-10T16:17:48.140+08:00 level=INFO source=gpu.go:155 msg="AMD Driver: 6.2.4"
[GIN] 2024/03/10 - 16:17:51 | 200 |       48.46µs |       127.0.0.1 | HEAD     "/"
[GIN] 2024/03/10 - 16:17:51 | 200 |     662.802µs |       127.0.0.1 | POST     "/api/show"
[GIN] 2024/03/10 - 16:17:51 | 200 |     243.984µs |       127.0.0.1 | POST     "/api/show"
time=2024-03-10T16:17:51.451+08:00 level=INFO source=cpu_common.go:11 msg="CPU has AVX2"
time=2024-03-10T16:17:51.451+08:00 level=INFO source=gpu.go:155 msg="AMD Driver: 6.2.4"
time=2024-03-10T16:17:51.451+08:00 level=INFO source=cpu_common.go:11 msg="CPU has AVX2"
time=2024-03-10T16:17:51.451+08:00 level=INFO source=gpu.go:155 msg="AMD Driver: 6.2.4"
time=2024-03-10T16:17:51.451+08:00 level=INFO source=cpu_common.go:11 msg="CPU has AVX2"
loading library /tmp/ollama657470951/rocm_v5/libext_server.so
time=2024-03-10T16:17:51.484+08:00 level=INFO source=dyn_ext_server.go:90 msg="Loading Dynamic llm server: /tmp/ollama657470951/rocm_v5/libext_server.so"
time=2024-03-10T16:17:51.484+08:00 level=INFO source=dyn_ext_server.go:150 msg="Initializing llama server"

rocBLAS error: Cannot read /opt/rocm/lib/rocblas/library/TensileLibrary.dat: Illegal seek for GPU arch : gfx90c
free(): invalid pointer
SIGABRT: abort
PC=0x7f503ea969fc m=9 sigcode=18446744073709551610
signal arrived during cgo execution

goroutine 25 [syscall]:
runtime.cgocall(0x9bd7f0, 0xc00030c6c8)
        /usr/local/go/src/runtime/cgocall.go:157 +0x4b fp=0xc00030c6a0 sp=0xc00030c668 pc=0x409b0b
github.com/jmorganca/ollama/llm._Cfunc_dyn_llama_server_init({0x7f4fd0001620, 0x7f4f9e67a7c0, 0x7f4f9e67aff0, 0x7f4f9e67b080, 0x7f4f9e67b2f0, 0x7f4f9e67b530, 0x7f4f9e67be90, 0x7f4f9e67be70, 0x7f4f9e67bfa0, 0x7f4f9e67c5b0, ...}, ...)
        _cgo_gotypes.go:282 +0x45 fp=0xc00030c6c8 sp=0xc00030c6a0 pc=0x7c5c05
github.com/jmorganca/ollama/llm.newDynExtServer.func7(0xaf2e55?, 0xc?)
        /go/src/github.com/jmorganca/ollama/llm/dyn_ext_server.go:153 +0xef fp=0xc00030c7b8 sp=0xc00030c6c8 pc=0x7c714f
github.com/jmorganca/ollama/llm.newDynExtServer({0xc0001580f0, 0x2d}, {0xc000316150, _}, {_, _, _}, {0x0, 0x0, 0x0}, ...)
        /go/src/github.com/jmorganca/ollama/llm/dyn_ext_server.go:153 +0xa65 fp=0xc00030ca58 sp=0xc00030c7b8 pc=0x7c6de5
github.com/jmorganca/ollama/llm.newLlmServer({{_, _, _}, {_, _}, {_, _}}, {_, _}, {0xc000316150, ...}, ...)
        /go/src/github.com/jmorganca/ollama/llm/llm.go:158 +0x425 fp=0xc00030cc18 sp=0xc00030ca58 pc=0x7c3545
github.com/jmorganca/ollama/llm.New({0xc0002ecae0, 0x14}, {0xc000316150, _}, {_, _, _}, {0x0, 0x0, 0x0}, ...)
        /go/src/github.com/jmorganca/ollama/llm/llm.go:123 +0x713 fp=0xc00030ce98 sp=0xc00030cc18 pc=0x7c2eb3
github.com/jmorganca/ollama/server.load(0xc000354000?, 0xc000354000, {{0x0, 0x800, 0x200, 0x1, 0xffffffffffffffff, 0x0, 0x0, 0x1, ...}, ...}, ...)
        /go/src/github.com/jmorganca/ollama/server/routes.go:85 +0x3a5 fp=0xc00030d018 sp=0xc00030ce98 pc=0x9971e5
github.com/jmorganca/ollama/server.ChatHandler(0xc000302100)
        /go/src/github.com/jmorganca/ollama/server/routes.go:1175 +0xa37 fp=0xc00030d748 sp=0xc00030d018 pc=0x9a2977
github.com/gin-gonic/gin.(*Context).Next(...)
        /root/go/pkg/mod/github.com/gin-gonic/gin@v1.9.1/context.go:174
github.com/jmorganca/ollama/server.(*Server).GenerateRoutes.func1(0xc000302100)
        /go/src/github.com/jmorganca/ollama/server/routes.go:945 +0x68 fp=0xc00030d780 sp=0xc00030d748 pc=0x9a11a8
github.com/gin-gonic/gin.(*Context).Next(...)
        /root/go/pkg/mod/github.com/gin-gonic/gin@v1.9.1/context.go:174
github.com/gin-gonic/gin.CustomRecoveryWithWriter.func1(0xc000302100)
        /root/go/pkg/mod/github.com/gin-gonic/gin@v1.9.1/recovery.go:102 +0x7a fp=0xc00030d7d0 sp=0xc00030d780 pc=0x9787ba
github.com/gin-gonic/gin.(*Context).Next(...)
        /root/go/pkg/mod/github.com/gin-gonic/gin@v1.9.1/context.go:174
github.com/gin-gonic/gin.LoggerWithConfig.func1(0xc000302100)
        /root/go/pkg/mod/github.com/gin-gonic/gin@v1.9.1/logger.go:240 +0xde fp=0xc00030d980 sp=0xc00030d7d0 pc=0x97795e
github.com/gin-gonic/gin.(*Context).Next(...)
        /root/go/pkg/mod/github.com/gin-gonic/gin@v1.9.1/context.go:174
github.com/gin-gonic/gin.(*Engine).handleHTTPRequest(0xc0000e1a00, 0xc000302100)
        /root/go/pkg/mod/github.com/gin-gonic/gin@v1.9.1/gin.go:620 +0x65b fp=0xc00030db08 sp=0xc00030d980 pc=0x976a1b
github.com/gin-gonic/gin.(*Engine).ServeHTTP(0xc0000e1a00, {0x11720f80?, 0xc000318000}, 0xc000302000)
        /root/go/pkg/mod/github.com/gin-gonic/gin@v1.9.1/gin.go:576 +0x1dd fp=0xc00030db48 sp=0xc00030db08 pc=0x9761dd
net/http.serverHandler.ServeHTTP({0x1171f2a0?}, {0x11720f80?, 0xc000318000?}, 0x6?)
        /usr/local/go/src/net/http/server.go:2938 +0x8e fp=0xc00030db78 sp=0xc00030db48 pc=0x6ced4e
net/http.(*conn).serve(0xc0000f4240, {0x117225e8, 0xc000390c00})
        /usr/local/go/src/net/http/server.go:2009 +0x5f4 fp=0xc00030dfb8 sp=0xc00030db78 pc=0x6cac34
net/http.(*Server).Serve.func3()
        /usr/local/go/src/net/http/server.go:3086 +0x28 fp=0xc00030dfe0 sp=0xc00030dfb8 pc=0x6cf568
runtime.goexit()
        /usr/local/go/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc00030dfe8 sp=0xc00030dfe0 pc=0x46e2c1
created by net/http.(*Server).Serve in goroutine 1
        /usr/local/go/src/net/http/server.go:3086 +0x5cb

goroutine 1 [IO wait]:
runtime.gopark(0x480f10?, 0xc0000db850?, 0xa0?, 0xb8?, 0x4f711d?)
        /usr/local/go/src/runtime/proc.go:398 +0xce fp=0xc0000db830 sp=0xc0000db810 pc=0x43e7ee
runtime.netpollblock(0x46c332?, 0x4092a6?, 0x0?)
        /usr/local/go/src/runtime/netpoll.go:564 +0xf7 fp=0xc0000db868 sp=0xc0000db830 pc=0x437277
internal/poll.runtime_pollWait(0x7f503ec2de80, 0x72)
        /usr/local/go/src/runtime/netpoll.go:343 +0x85 fp=0xc0000db888 sp=0xc0000db868 pc=0x468a05
internal/poll.(*pollDesc).wait(0xc000480080?, 0x4?, 0x0)
        /usr/local/go/src/internal/poll/fd_poll_runtime.go:84 +0x27 fp=0xc0000db8b0 sp=0xc0000db888 pc=0x4efd67
internal/poll.(*pollDesc).waitRead(...)
        /usr/local/go/src/internal/poll/fd_poll_runtime.go:89
internal/poll.(*FD).Accept(0xc000480080)
        /usr/local/go/src/internal/poll/fd_unix.go:611 +0x2ac fp=0xc0000db958 sp=0xc0000db8b0 pc=0x4f524c
net.(*netFD).accept(0xc000480080)
        /usr/local/go/src/net/fd_unix.go:172 +0x29 fp=0xc0000dba10 sp=0xc0000db958 pc=0x56be29
net.(*TCPListener).accept(0xc0004575a0)
        /usr/local/go/src/net/tcpsock_posix.go:152 +0x1e fp=0xc0000dba38 sp=0xc0000dba10 pc=0x580c3e
net.(*TCPListener).Accept(0xc0004575a0)
        /usr/local/go/src/net/tcpsock.go:315 +0x30 fp=0xc0000dba68 sp=0xc0000dba38 pc=0x57fdf0
net/http.(*onceCloseListener).Accept(0xc0000f4240?)
        <autogenerated>:1 +0x24 fp=0xc0000dba80 sp=0xc0000dba68 pc=0x6f1ae4
net/http.(*Server).Serve(0xc000392ff0, {0x11720d70, 0xc0004575a0})
        /usr/local/go/src/net/http/server.go:3056 +0x364 fp=0xc0000dbbb0 sp=0xc0000dba80 pc=0x6cf1a4
github.com/jmorganca/ollama/server.Serve({0x11720d70, 0xc0004575a0})
        /go/src/github.com/jmorganca/ollama/server/routes.go:1048 +0x454 fp=0xc0000dbc98 sp=0xc0000dbbb0 pc=0x9a1654
github.com/jmorganca/ollama/cmd.RunServer(0xc00047e300?, {0x11b698c0?, 0x4?, 0xadab0a?})
        /go/src/github.com/jmorganca/ollama/cmd/cmd.go:706 +0x1b9 fp=0xc0000dbd30 sp=0xc0000dbc98 pc=0x9b4799
github.com/spf13/cobra.(*Command).execute(0xc000423800, {0x11b698c0, 0x0, 0x0})
        /root/go/pkg/mod/github.com/spf13/cobra@v1.7.0/command.go:940 +0x87c fp=0xc0000dbe68 sp=0xc0000dbd30 pc=0x764d9c
github.com/spf13/cobra.(*Command).ExecuteC(0xc000422c00)
        /root/go/pkg/mod/github.com/spf13/cobra@v1.7.0/command.go:1068 +0x3a5 fp=0xc0000dbf20 sp=0xc0000dbe68 pc=0x7655c5
github.com/spf13/cobra.(*Command).Execute(...)
        /root/go/pkg/mod/github.com/spf13/cobra@v1.7.0/command.go:992
github.com/spf13/cobra.(*Command).ExecuteContext(...)
        /root/go/pkg/mod/github.com/spf13/cobra@v1.7.0/command.go:985
main.main()
        /go/src/github.com/jmorganca/ollama/main.go:11 +0x4d fp=0xc0000dbf40 sp=0xc0000dbf20 pc=0x9bc90d
runtime.main()
        /usr/local/go/src/runtime/proc.go:267 +0x2bb fp=0xc0000dbfe0 sp=0xc0000dbf40 pc=0x43e39b
runtime.goexit()
        /usr/local/go/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc0000dbfe8 sp=0xc0000dbfe0 pc=0x46e2c1

goroutine 2 [force gc (idle)]:
runtime.gopark(0x0?, 0x0?, 0x0?, 0x0?, 0x0?)
        /usr/local/go/src/runtime/proc.go:398 +0xce fp=0xc000064fa8 sp=0xc000064f88 pc=0x43e7ee
runtime.goparkunlock(...)
        /usr/local/go/src/runtime/proc.go:404
runtime.forcegchelper()
        /usr/local/go/src/runtime/proc.go:322 +0xb3 fp=0xc000064fe0 sp=0xc000064fa8 pc=0x43e673
runtime.goexit()
        /usr/local/go/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc000064fe8 sp=0xc000064fe0 pc=0x46e2c1
created by runtime.init.6 in goroutine 1
        /usr/local/go/src/runtime/proc.go:310 +0x1a

goroutine 3 [GC sweep wait]:
runtime.gopark(0x1?, 0x0?, 0x0?, 0x0?, 0x0?)
        /usr/local/go/src/runtime/proc.go:398 +0xce fp=0xc000065778 sp=0xc000065758 pc=0x43e7ee
runtime.goparkunlock(...)
        /usr/local/go/src/runtime/proc.go:404
runtime.bgsweep(0x0?)
        /usr/local/go/src/runtime/mgcsweep.go:321 +0xdf fp=0xc0000657c8 sp=0xc000065778 pc=0x42a73f
runtime.gcenable.func1()
        /usr/local/go/src/runtime/mgc.go:200 +0x25 fp=0xc0000657e0 sp=0xc0000657c8 pc=0x41f865
runtime.goexit()
        /usr/local/go/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc0000657e8 sp=0xc0000657e0 pc=0x46e2c1
created by runtime.gcenable in goroutine 1
        /usr/local/go/src/runtime/mgc.go:200 +0x66

goroutine 4 [GC scavenge wait]:
runtime.gopark(0x8fbc3a?, 0xcc794f?, 0x0?, 0x0?, 0x0?)
        /usr/local/go/src/runtime/proc.go:398 +0xce fp=0xc000065f70 sp=0xc000065f50 pc=0x43e7ee
runtime.goparkunlock(...)
        /usr/local/go/src/runtime/proc.go:404
runtime.(*scavengerState).park(0x11b39c40)
        /usr/local/go/src/runtime/mgcscavenge.go:425 +0x49 fp=0xc000065fa0 sp=0xc000065f70 pc=0x427f69
runtime.bgscavenge(0x0?)
        /usr/local/go/src/runtime/mgcscavenge.go:658 +0x59 fp=0xc000065fc8 sp=0xc000065fa0 pc=0x428519
runtime.gcenable.func2()
        /usr/local/go/src/runtime/mgc.go:201 +0x25 fp=0xc000065fe0 sp=0xc000065fc8 pc=0x41f805
runtime.goexit()
        /usr/local/go/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc000065fe8 sp=0xc000065fe0 pc=0x46e2c1
created by runtime.gcenable in goroutine 1
        /usr/local/go/src/runtime/mgc.go:201 +0xa5

goroutine 5 [finalizer wait]:
runtime.gopark(0xad3ac0?, 0x10043f901?, 0x0?, 0x0?, 0x4469a5?)
        /usr/local/go/src/runtime/proc.go:398 +0xce fp=0xc000064628 sp=0xc000064608 pc=0x43e7ee
runtime.runfinq()
        /usr/local/go/src/runtime/mfinal.go:193 +0x107 fp=0xc0000647e0 sp=0xc000064628 pc=0x41e8e7
runtime.goexit()
        /usr/local/go/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc0000647e8 sp=0xc0000647e0 pc=0x46e2c1
created by runtime.createfing in goroutine 1
        /usr/local/go/src/runtime/mfinal.go:163 +0x3d

goroutine 6 [select, locked to thread]:
runtime.gopark(0xc0000667a8?, 0x2?, 0x89?, 0xea?, 0xc0000667a4?)
        /usr/local/go/src/runtime/proc.go:398 +0xce fp=0xc000066638 sp=0xc000066618 pc=0x43e7ee
runtime.selectgo(0xc0000667a8, 0xc0000667a0, 0x0?, 0x0, 0x0?, 0x1)
        /usr/local/go/src/runtime/select.go:327 +0x725 fp=0xc000066758 sp=0xc000066638 pc=0x44e325
runtime.ensureSigM.func1()
        /usr/local/go/src/runtime/signal_unix.go:1014 +0x19f fp=0xc0000667e0 sp=0xc000066758 pc=0x46535f
runtime.goexit()
        /usr/local/go/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc0000667e8 sp=0xc0000667e0 pc=0x46e2c1
created by runtime.ensureSigM in goroutine 1
        /usr/local/go/src/runtime/signal_unix.go:997 +0xc8

goroutine 18 [syscall]:
runtime.notetsleepg(0x0?, 0x0?)
        /usr/local/go/src/runtime/lock_futex.go:236 +0x29 fp=0xc0000607a0 sp=0xc000060768 pc=0x411349
os/signal.signal_recv()
        /usr/local/go/src/runtime/sigqueue.go:152 +0x29 fp=0xc0000607c0 sp=0xc0000607a0 pc=0x46ac89
os/signal.loop()
        /usr/local/go/src/os/signal/signal_unix.go:23 +0x13 fp=0xc0000607e0 sp=0xc0000607c0 pc=0x6f4513
runtime.goexit()
        /usr/local/go/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc0000607e8 sp=0xc0000607e0 pc=0x46e2c1
created by os/signal.Notify.func1.1 in goroutine 1
        /usr/local/go/src/os/signal/signal.go:151 +0x1f

goroutine 19 [chan receive]:
runtime.gopark(0x0?, 0x0?, 0x0?, 0x0?, 0x0?)
        /usr/local/go/src/runtime/proc.go:398 +0xce fp=0xc000060f18 sp=0xc000060ef8 pc=0x43e7ee
runtime.chanrecv(0xc00019f860, 0x0, 0x1)
        /usr/local/go/src/runtime/chan.go:583 +0x3cd fp=0xc000060f90 sp=0xc000060f18 pc=0x40beed
runtime.chanrecv1(0x0?, 0x0?)
        /usr/local/go/src/runtime/chan.go:442 +0x12 fp=0xc000060fb8 sp=0xc000060f90 pc=0x40baf2
github.com/jmorganca/ollama/server.Serve.func2()
        /go/src/github.com/jmorganca/ollama/server/routes.go:1030 +0x25 fp=0xc000060fe0 sp=0xc000060fb8 pc=0x9a16e5
runtime.goexit()
        /usr/local/go/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc000060fe8 sp=0xc000060fe0 pc=0x46e2c1
created by github.com/jmorganca/ollama/server.Serve in goroutine 1
        /go/src/github.com/jmorganca/ollama/server/routes.go:1029 +0x3c7

goroutine 20 [GC worker (idle)]:
runtime.gopark(0xc435092fd32?, 0x3?, 0xd0?, 0xd?, 0x0?)
        /usr/local/go/src/runtime/proc.go:398 +0xce fp=0xc000061750 sp=0xc000061730 pc=0x43e7ee
runtime.gcBgMarkWorker()
        /usr/local/go/src/runtime/mgc.go:1293 +0xe5 fp=0xc0000617e0 sp=0xc000061750 pc=0x4213e5
runtime.goexit()
        /usr/local/go/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc0000617e8 sp=0xc0000617e0 pc=0x46e2c1
created by runtime.gcBgMarkStartWorkers in goroutine 1
        /usr/local/go/src/runtime/mgc.go:1217 +0x1c

goroutine 34 [GC worker (idle)]:
runtime.gopark(0xc43508efb44?, 0x1?, 0x42?, 0x13?, 0x0?)
        /usr/local/go/src/runtime/proc.go:398 +0xce fp=0xc000512750 sp=0xc000512730 pc=0x43e7ee
runtime.gcBgMarkWorker()
        /usr/local/go/src/runtime/mgc.go:1293 +0xe5 fp=0xc0005127e0 sp=0xc000512750 pc=0x4213e5
runtime.goexit()
        /usr/local/go/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc0005127e8 sp=0xc0005127e0 pc=0x46e2c1
created by runtime.gcBgMarkStartWorkers in goroutine 1
        /usr/local/go/src/runtime/mgc.go:1217 +0x1c

goroutine 50 [GC worker (idle)]:
runtime.gopark(0xc43508ef6a5?, 0x3?, 0x49?, 0x89?, 0x0?)
        /usr/local/go/src/runtime/proc.go:398 +0xce fp=0xc00050e750 sp=0xc00050e730 pc=0x43e7ee
runtime.gcBgMarkWorker()
        /usr/local/go/src/runtime/mgc.go:1293 +0xe5 fp=0xc00050e7e0 sp=0xc00050e750 pc=0x4213e5
runtime.goexit()
        /usr/local/go/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc00050e7e8 sp=0xc00050e7e0 pc=0x46e2c1
created by runtime.gcBgMarkStartWorkers in goroutine 1
        /usr/local/go/src/runtime/mgc.go:1217 +0x1c

goroutine 35 [GC worker (idle)]:
runtime.gopark(0xc43508efcd4?, 0x1?, 0x32?, 0xac?, 0x0?)
        /usr/local/go/src/runtime/proc.go:398 +0xce fp=0xc000512f50 sp=0xc000512f30 pc=0x43e7ee
runtime.gcBgMarkWorker()
        /usr/local/go/src/runtime/mgc.go:1293 +0xe5 fp=0xc000512fe0 sp=0xc000512f50 pc=0x4213e5
runtime.goexit()
        /usr/local/go/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc000512fe8 sp=0xc000512fe0 pc=0x46e2c1
created by runtime.gcBgMarkStartWorkers in goroutine 1
        /usr/local/go/src/runtime/mgc.go:1217 +0x1c

goroutine 21 [GC worker (idle)]:
runtime.gopark(0x11b6b5e0?, 0x1?, 0xa9?, 0x7d?, 0x0?)
        /usr/local/go/src/runtime/proc.go:398 +0xce fp=0xc000061f50 sp=0xc000061f30 pc=0x43e7ee
runtime.gcBgMarkWorker()
        /usr/local/go/src/runtime/mgc.go:1293 +0xe5 fp=0xc000061fe0 sp=0xc000061f50 pc=0x4213e5
runtime.goexit()
        /usr/local/go/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc000061fe8 sp=0xc000061fe0 pc=0x46e2c1
created by runtime.gcBgMarkStartWorkers in goroutine 1
        /usr/local/go/src/runtime/mgc.go:1217 +0x1c

goroutine 22 [GC worker (idle)]:
runtime.gopark(0xc43508ffcb2?, 0x1?, 0x7a?, 0x69?, 0x0?)
        /usr/local/go/src/runtime/proc.go:398 +0xce fp=0xc000062750 sp=0xc000062730 pc=0x43e7ee
runtime.gcBgMarkWorker()
        /usr/local/go/src/runtime/mgc.go:1293 +0xe5 fp=0xc0000627e0 sp=0xc000062750 pc=0x4213e5
runtime.goexit()
        /usr/local/go/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc0000627e8 sp=0xc0000627e0 pc=0x46e2c1
created by runtime.gcBgMarkStartWorkers in goroutine 1
        /usr/local/go/src/runtime/mgc.go:1217 +0x1c

goroutine 7 [GC worker (idle)]:
runtime.gopark(0xc43508ef637?, 0x3?, 0x54?, 0xe7?, 0x0?)
        /usr/local/go/src/runtime/proc.go:398 +0xce fp=0xc000066f50 sp=0xc000066f30 pc=0x43e7ee
runtime.gcBgMarkWorker()
        /usr/local/go/src/runtime/mgc.go:1293 +0xe5 fp=0xc000066fe0 sp=0xc000066f50 pc=0x4213e5
runtime.goexit()
        /usr/local/go/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc000066fe8 sp=0xc000066fe0 pc=0x46e2c1
created by runtime.gcBgMarkStartWorkers in goroutine 1
        /usr/local/go/src/runtime/mgc.go:1217 +0x1c

goroutine 23 [GC worker (idle)]:
runtime.gopark(0x11b6b5e0?, 0x3?, 0x84?, 0xd1?, 0x0?)
        /usr/local/go/src/runtime/proc.go:398 +0xce fp=0xc000062f50 sp=0xc000062f30 pc=0x43e7ee
runtime.gcBgMarkWorker()
        /usr/local/go/src/runtime/mgc.go:1293 +0xe5 fp=0xc000062fe0 sp=0xc000062f50 pc=0x4213e5
runtime.goexit()
        /usr/local/go/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc000062fe8 sp=0xc000062fe0 pc=0x46e2c1
created by runtime.gcBgMarkStartWorkers in goroutine 1
        /usr/local/go/src/runtime/mgc.go:1217 +0x1c

goroutine 36 [GC worker (idle)]:
runtime.gopark(0xc43485971ab?, 0x3?, 0x49?, 0x29?, 0x0?)
        /usr/local/go/src/runtime/proc.go:398 +0xce fp=0xc000513750 sp=0xc000513730 pc=0x43e7ee
runtime.gcBgMarkWorker()
        /usr/local/go/src/runtime/mgc.go:1293 +0xe5 fp=0xc0005137e0 sp=0xc000513750 pc=0x4213e5
runtime.goexit()
        /usr/local/go/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc0005137e8 sp=0xc0005137e0 pc=0x46e2c1
created by runtime.gcBgMarkStartWorkers in goroutine 1
        /usr/local/go/src/runtime/mgc.go:1217 +0x1c

goroutine 37 [GC worker (idle)]:
runtime.gopark(0xc43508efd4d?, 0x1?, 0x3a?, 0xa4?, 0x0?)
        /usr/local/go/src/runtime/proc.go:398 +0xce fp=0xc000513f50 sp=0xc000513f30 pc=0x43e7ee
runtime.gcBgMarkWorker()
        /usr/local/go/src/runtime/mgc.go:1293 +0xe5 fp=0xc000513fe0 sp=0xc000513f50 pc=0x4213e5
runtime.goexit()
        /usr/local/go/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc000513fe8 sp=0xc000513fe0 pc=0x46e2c1
created by runtime.gcBgMarkStartWorkers in goroutine 1
        /usr/local/go/src/runtime/mgc.go:1217 +0x1c

goroutine 8 [GC worker (idle)]:
runtime.gopark(0xc43508ef89a?, 0x3?, 0xec?, 0x42?, 0x0?)
        /usr/local/go/src/runtime/proc.go:398 +0xce fp=0xc000067750 sp=0xc000067730 pc=0x43e7ee
runtime.gcBgMarkWorker()
        /usr/local/go/src/runtime/mgc.go:1293 +0xe5 fp=0xc0000677e0 sp=0xc000067750 pc=0x4213e5
runtime.goexit()
        /usr/local/go/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc0000677e8 sp=0xc0000677e0 pc=0x46e2c1
created by runtime.gcBgMarkStartWorkers in goroutine 1
        /usr/local/go/src/runtime/mgc.go:1217 +0x1c

goroutine 24 [GC worker (idle)]:
runtime.gopark(0xc43508ef320?, 0x3?, 0x99?, 0x3?, 0x0?)
        /usr/local/go/src/runtime/proc.go:398 +0xce fp=0xc000063750 sp=0xc000063730 pc=0x43e7ee
runtime.gcBgMarkWorker()
        /usr/local/go/src/runtime/mgc.go:1293 +0xe5 fp=0xc0000637e0 sp=0xc000063750 pc=0x4213e5
runtime.goexit()
        /usr/local/go/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc0000637e8 sp=0xc0000637e0 pc=0x46e2c1
created by runtime.gcBgMarkStartWorkers in goroutine 1
        /usr/local/go/src/runtime/mgc.go:1217 +0x1c

goroutine 9 [GC worker (idle)]:
runtime.gopark(0xc43508f04f8?, 0x3?, 0xa8?, 0x10?, 0x0?)
        /usr/local/go/src/runtime/proc.go:398 +0xce fp=0xc000067f50 sp=0xc000067f30 pc=0x43e7ee
runtime.gcBgMarkWorker()
        /usr/local/go/src/runtime/mgc.go:1293 +0xe5 fp=0xc000067fe0 sp=0xc000067f50 pc=0x4213e5
runtime.goexit()
        /usr/local/go/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc000067fe8 sp=0xc000067fe0 pc=0x46e2c1
created by runtime.gcBgMarkStartWorkers in goroutine 1
        /usr/local/go/src/runtime/mgc.go:1217 +0x1c

goroutine 10 [GC worker (idle)]:
runtime.gopark(0xc43508ef488?, 0x3?, 0xb2?, 0xb0?, 0x0?)
        /usr/local/go/src/runtime/proc.go:398 +0xce fp=0xc0004a8750 sp=0xc0004a8730 pc=0x43e7ee
runtime.gcBgMarkWorker()
        /usr/local/go/src/runtime/mgc.go:1293 +0xe5 fp=0xc0004a87e0 sp=0xc0004a8750 pc=0x4213e5
runtime.goexit()
        /usr/local/go/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc0004a87e8 sp=0xc0004a87e0 pc=0x46e2c1
created by runtime.gcBgMarkStartWorkers in goroutine 1
        /usr/local/go/src/runtime/mgc.go:1217 +0x1c

goroutine 38 [GC worker (idle)]:
runtime.gopark(0xc43509311f0?, 0x3?, 0x86?, 0x8?, 0x0?)
        /usr/local/go/src/runtime/proc.go:398 +0xce fp=0xc000514750 sp=0xc000514730 pc=0x43e7ee
runtime.gcBgMarkWorker()
        /usr/local/go/src/runtime/mgc.go:1293 +0xe5 fp=0xc0005147e0 sp=0xc000514750 pc=0x4213e5
runtime.goexit()
        /usr/local/go/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc0005147e8 sp=0xc0005147e0 pc=0x46e2c1
created by runtime.gcBgMarkStartWorkers in goroutine 1
        /usr/local/go/src/runtime/mgc.go:1217 +0x1c

goroutine 39 [GC worker (idle)]:
runtime.gopark(0x11b6b5e0?, 0x3?, 0xe9?, 0xa6?, 0x0?)
        /usr/local/go/src/runtime/proc.go:398 +0xce fp=0xc000514f50 sp=0xc000514f30 pc=0x43e7ee
runtime.gcBgMarkWorker()
        /usr/local/go/src/runtime/mgc.go:1293 +0xe5 fp=0xc000514fe0 sp=0xc000514f50 pc=0x4213e5
runtime.goexit()
        /usr/local/go/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc000514fe8 sp=0xc000514fe0 pc=0x46e2c1
created by runtime.gcBgMarkStartWorkers in goroutine 1
        /usr/local/go/src/runtime/mgc.go:1217 +0x1c

goroutine 11 [IO wait]:
runtime.gopark(0x0?, 0xb?, 0x0?, 0x0?, 0xa?)
        /usr/local/go/src/runtime/proc.go:398 +0xce fp=0xc0004a95a0 sp=0xc0004a9580 pc=0x43e7ee
runtime.netpollblock(0x47f078?, 0x4092a6?, 0x0?)
        /usr/local/go/src/runtime/netpoll.go:564 +0xf7 fp=0xc0004a95d8 sp=0xc0004a95a0 pc=0x437277
internal/poll.runtime_pollWait(0x7f503ec2dd88, 0x72)
        /usr/local/go/src/runtime/netpoll.go:343 +0x85 fp=0xc0004a95f8 sp=0xc0004a95d8 pc=0x468a05
internal/poll.(*pollDesc).wait(0xc000480b80?, 0xc0000a6401?, 0x0)
        /usr/local/go/src/internal/poll/fd_poll_runtime.go:84 +0x27 fp=0xc0004a9620 sp=0xc0004a95f8 pc=0x4efd67
internal/poll.(*pollDesc).waitRead(...)
        /usr/local/go/src/internal/poll/fd_poll_runtime.go:89
internal/poll.(*FD).Read(0xc000480b80, {0xc0000a6401, 0x1, 0x1})
        /usr/local/go/src/internal/poll/fd_unix.go:164 +0x27a fp=0xc0004a96b8 sp=0xc0004a9620 pc=0x4f105a
net.(*netFD).Read(0xc000480b80, {0xc0000a6401?, 0x0?, 0x0?})
        /usr/local/go/src/net/fd_posix.go:55 +0x25 fp=0xc0004a9700 sp=0xc0004a96b8 pc=0x569e05
net.(*conn).Read(0xc000068560, {0xc0000a6401?, 0x0?, 0x0?})
        /usr/local/go/src/net/net.go:179 +0x45 fp=0xc0004a9748 sp=0xc0004a9700 pc=0x5780a5
net.(*TCPConn).Read(0x0?, {0xc0000a6401?, 0x0?, 0x0?})
        <autogenerated>:1 +0x25 fp=0xc0004a9778 sp=0xc0004a9748 pc=0x589fa5
net/http.(*connReader).backgroundRead(0xc0000a63f0)
        /usr/local/go/src/net/http/server.go:683 +0x37 fp=0xc0004a97c8 sp=0xc0004a9778 pc=0x6c4ab7
net/http.(*connReader).startBackgroundRead.func2()
        /usr/local/go/src/net/http/server.go:679 +0x25 fp=0xc0004a97e0 sp=0xc0004a97c8 pc=0x6c49e5
runtime.goexit()
        /usr/local/go/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc0004a97e8 sp=0xc0004a97e0 pc=0x46e2c1
created by net/http.(*connReader).startBackgroundRead in goroutine 25
        /usr/local/go/src/net/http/server.go:679 +0xba

rax    0x0
rbx    0x7f4fd7fff640
rcx    0x7f503ea969fc
rdx    0x6
rdi    0x131e7
rsi    0x131ef
rbp    0x131ef
rsp    0x7f4fd7ffd780
r8     0x7f4fd7ffd850
r9     0x0
r10    0x8
r11    0x246
r12    0x6
r13    0x16
r14    0x1
r15    0x1
rip    0x7f503ea969fc
rflags 0x246
cs     0x33
fs     0x0
gs     0x0

Originally created by @James4Ever0 on GitHub (Mar 10, 2024). Original GitHub issue: https://github.com/ollama/ollama/issues/3037 I have one integrated AMD GPU "AMD ATI 05:00.0 Lucienne" of CPU "AMD Ryzen 7 5700U with Radeon Graphics (16) @ 4.315GHz", codename `gfx90c`. I updated to latest `ollama` version `0.1.28` and found it unable to run any models. I want to know if it is possible to add support to `gfx90c` or simply disable it by passing some commandline arguments like `DISABLE_AMDGPU=1`? Otherwise I have to roll back to historical versions and cannot use latest models. The log of `ollama serve` is pasted below: ``` time=2024-03-10T16:17:45.895+08:00 level=INFO source=images.go:710 msg="total blobs: 11" time=2024-03-10T16:17:45.895+08:00 level=INFO source=images.go:717 msg="total unused blobs removed: 0" time=2024-03-10T16:17:45.895+08:00 level=INFO source=routes.go:1021 msg="Listening on 127.0.0.1:11434 (version 0.1.28)" time=2024-03-10T16:17:45.895+08:00 level=INFO source=payload_common.go:107 msg="Extracting dynamic libraries..." time=2024-03-10T16:17:48.136+08:00 level=INFO source=payload_common.go:146 msg="Dynamic LLM libraries [cuda_v11 cpu_avx cpu_avx2 rocm_v6 rocm_v5 cpu]" time=2024-03-10T16:17:48.136+08:00 level=INFO source=gpu.go:94 msg="Detecting GPU type" time=2024-03-10T16:17:48.136+08:00 level=INFO source=gpu.go:265 msg="Searching for GPU management library libnvidia-ml.so" time=2024-03-10T16:17:48.139+08:00 level=INFO source=gpu.go:311 msg="Discovered GPU libraries: []" time=2024-03-10T16:17:48.139+08:00 level=INFO source=gpu.go:265 msg="Searching for GPU management library librocm_smi64.so" time=2024-03-10T16:17:48.139+08:00 level=INFO source=gpu.go:311 msg="Discovered GPU libraries: [/opt/rocm/lib/librocm_smi64.so.5.0.50700 /opt/rocm-5.7.0/lib/librocm_smi64.so.5.0.50700]" time=2024-03-10T16:17:48.140+08:00 level=INFO source=gpu.go:109 msg="Radeon GPU detected" time=2024-03-10T16:17:48.140+08:00 level=INFO source=cpu_common.go:11 msg="CPU has AVX2" time=2024-03-10T16:17:48.140+08:00 level=INFO source=gpu.go:155 msg="AMD Driver: 6.2.4" [GIN] 2024/03/10 - 16:17:51 | 200 | 48.46µs | 127.0.0.1 | HEAD "/" [GIN] 2024/03/10 - 16:17:51 | 200 | 662.802µs | 127.0.0.1 | POST "/api/show" [GIN] 2024/03/10 - 16:17:51 | 200 | 243.984µs | 127.0.0.1 | POST "/api/show" time=2024-03-10T16:17:51.451+08:00 level=INFO source=cpu_common.go:11 msg="CPU has AVX2" time=2024-03-10T16:17:51.451+08:00 level=INFO source=gpu.go:155 msg="AMD Driver: 6.2.4" time=2024-03-10T16:17:51.451+08:00 level=INFO source=cpu_common.go:11 msg="CPU has AVX2" time=2024-03-10T16:17:51.451+08:00 level=INFO source=gpu.go:155 msg="AMD Driver: 6.2.4" time=2024-03-10T16:17:51.451+08:00 level=INFO source=cpu_common.go:11 msg="CPU has AVX2" loading library /tmp/ollama657470951/rocm_v5/libext_server.so time=2024-03-10T16:17:51.484+08:00 level=INFO source=dyn_ext_server.go:90 msg="Loading Dynamic llm server: /tmp/ollama657470951/rocm_v5/libext_server.so" time=2024-03-10T16:17:51.484+08:00 level=INFO source=dyn_ext_server.go:150 msg="Initializing llama server" rocBLAS error: Cannot read /opt/rocm/lib/rocblas/library/TensileLibrary.dat: Illegal seek for GPU arch : gfx90c free(): invalid pointer SIGABRT: abort PC=0x7f503ea969fc m=9 sigcode=18446744073709551610 signal arrived during cgo execution goroutine 25 [syscall]: runtime.cgocall(0x9bd7f0, 0xc00030c6c8) /usr/local/go/src/runtime/cgocall.go:157 +0x4b fp=0xc00030c6a0 sp=0xc00030c668 pc=0x409b0b github.com/jmorganca/ollama/llm._Cfunc_dyn_llama_server_init({0x7f4fd0001620, 0x7f4f9e67a7c0, 0x7f4f9e67aff0, 0x7f4f9e67b080, 0x7f4f9e67b2f0, 0x7f4f9e67b530, 0x7f4f9e67be90, 0x7f4f9e67be70, 0x7f4f9e67bfa0, 0x7f4f9e67c5b0, ...}, ...) _cgo_gotypes.go:282 +0x45 fp=0xc00030c6c8 sp=0xc00030c6a0 pc=0x7c5c05 github.com/jmorganca/ollama/llm.newDynExtServer.func7(0xaf2e55?, 0xc?) /go/src/github.com/jmorganca/ollama/llm/dyn_ext_server.go:153 +0xef fp=0xc00030c7b8 sp=0xc00030c6c8 pc=0x7c714f github.com/jmorganca/ollama/llm.newDynExtServer({0xc0001580f0, 0x2d}, {0xc000316150, _}, {_, _, _}, {0x0, 0x0, 0x0}, ...) /go/src/github.com/jmorganca/ollama/llm/dyn_ext_server.go:153 +0xa65 fp=0xc00030ca58 sp=0xc00030c7b8 pc=0x7c6de5 github.com/jmorganca/ollama/llm.newLlmServer({{_, _, _}, {_, _}, {_, _}}, {_, _}, {0xc000316150, ...}, ...) /go/src/github.com/jmorganca/ollama/llm/llm.go:158 +0x425 fp=0xc00030cc18 sp=0xc00030ca58 pc=0x7c3545 github.com/jmorganca/ollama/llm.New({0xc0002ecae0, 0x14}, {0xc000316150, _}, {_, _, _}, {0x0, 0x0, 0x0}, ...) /go/src/github.com/jmorganca/ollama/llm/llm.go:123 +0x713 fp=0xc00030ce98 sp=0xc00030cc18 pc=0x7c2eb3 github.com/jmorganca/ollama/server.load(0xc000354000?, 0xc000354000, {{0x0, 0x800, 0x200, 0x1, 0xffffffffffffffff, 0x0, 0x0, 0x1, ...}, ...}, ...) /go/src/github.com/jmorganca/ollama/server/routes.go:85 +0x3a5 fp=0xc00030d018 sp=0xc00030ce98 pc=0x9971e5 github.com/jmorganca/ollama/server.ChatHandler(0xc000302100) /go/src/github.com/jmorganca/ollama/server/routes.go:1175 +0xa37 fp=0xc00030d748 sp=0xc00030d018 pc=0x9a2977 github.com/gin-gonic/gin.(*Context).Next(...) /root/go/pkg/mod/github.com/gin-gonic/gin@v1.9.1/context.go:174 github.com/jmorganca/ollama/server.(*Server).GenerateRoutes.func1(0xc000302100) /go/src/github.com/jmorganca/ollama/server/routes.go:945 +0x68 fp=0xc00030d780 sp=0xc00030d748 pc=0x9a11a8 github.com/gin-gonic/gin.(*Context).Next(...) /root/go/pkg/mod/github.com/gin-gonic/gin@v1.9.1/context.go:174 github.com/gin-gonic/gin.CustomRecoveryWithWriter.func1(0xc000302100) /root/go/pkg/mod/github.com/gin-gonic/gin@v1.9.1/recovery.go:102 +0x7a fp=0xc00030d7d0 sp=0xc00030d780 pc=0x9787ba github.com/gin-gonic/gin.(*Context).Next(...) /root/go/pkg/mod/github.com/gin-gonic/gin@v1.9.1/context.go:174 github.com/gin-gonic/gin.LoggerWithConfig.func1(0xc000302100) /root/go/pkg/mod/github.com/gin-gonic/gin@v1.9.1/logger.go:240 +0xde fp=0xc00030d980 sp=0xc00030d7d0 pc=0x97795e github.com/gin-gonic/gin.(*Context).Next(...) /root/go/pkg/mod/github.com/gin-gonic/gin@v1.9.1/context.go:174 github.com/gin-gonic/gin.(*Engine).handleHTTPRequest(0xc0000e1a00, 0xc000302100) /root/go/pkg/mod/github.com/gin-gonic/gin@v1.9.1/gin.go:620 +0x65b fp=0xc00030db08 sp=0xc00030d980 pc=0x976a1b github.com/gin-gonic/gin.(*Engine).ServeHTTP(0xc0000e1a00, {0x11720f80?, 0xc000318000}, 0xc000302000) /root/go/pkg/mod/github.com/gin-gonic/gin@v1.9.1/gin.go:576 +0x1dd fp=0xc00030db48 sp=0xc00030db08 pc=0x9761dd net/http.serverHandler.ServeHTTP({0x1171f2a0?}, {0x11720f80?, 0xc000318000?}, 0x6?) /usr/local/go/src/net/http/server.go:2938 +0x8e fp=0xc00030db78 sp=0xc00030db48 pc=0x6ced4e net/http.(*conn).serve(0xc0000f4240, {0x117225e8, 0xc000390c00}) /usr/local/go/src/net/http/server.go:2009 +0x5f4 fp=0xc00030dfb8 sp=0xc00030db78 pc=0x6cac34 net/http.(*Server).Serve.func3() /usr/local/go/src/net/http/server.go:3086 +0x28 fp=0xc00030dfe0 sp=0xc00030dfb8 pc=0x6cf568 runtime.goexit() /usr/local/go/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc00030dfe8 sp=0xc00030dfe0 pc=0x46e2c1 created by net/http.(*Server).Serve in goroutine 1 /usr/local/go/src/net/http/server.go:3086 +0x5cb goroutine 1 [IO wait]: runtime.gopark(0x480f10?, 0xc0000db850?, 0xa0?, 0xb8?, 0x4f711d?) /usr/local/go/src/runtime/proc.go:398 +0xce fp=0xc0000db830 sp=0xc0000db810 pc=0x43e7ee runtime.netpollblock(0x46c332?, 0x4092a6?, 0x0?) /usr/local/go/src/runtime/netpoll.go:564 +0xf7 fp=0xc0000db868 sp=0xc0000db830 pc=0x437277 internal/poll.runtime_pollWait(0x7f503ec2de80, 0x72) /usr/local/go/src/runtime/netpoll.go:343 +0x85 fp=0xc0000db888 sp=0xc0000db868 pc=0x468a05 internal/poll.(*pollDesc).wait(0xc000480080?, 0x4?, 0x0) /usr/local/go/src/internal/poll/fd_poll_runtime.go:84 +0x27 fp=0xc0000db8b0 sp=0xc0000db888 pc=0x4efd67 internal/poll.(*pollDesc).waitRead(...) /usr/local/go/src/internal/poll/fd_poll_runtime.go:89 internal/poll.(*FD).Accept(0xc000480080) /usr/local/go/src/internal/poll/fd_unix.go:611 +0x2ac fp=0xc0000db958 sp=0xc0000db8b0 pc=0x4f524c net.(*netFD).accept(0xc000480080) /usr/local/go/src/net/fd_unix.go:172 +0x29 fp=0xc0000dba10 sp=0xc0000db958 pc=0x56be29 net.(*TCPListener).accept(0xc0004575a0) /usr/local/go/src/net/tcpsock_posix.go:152 +0x1e fp=0xc0000dba38 sp=0xc0000dba10 pc=0x580c3e net.(*TCPListener).Accept(0xc0004575a0) /usr/local/go/src/net/tcpsock.go:315 +0x30 fp=0xc0000dba68 sp=0xc0000dba38 pc=0x57fdf0 net/http.(*onceCloseListener).Accept(0xc0000f4240?) <autogenerated>:1 +0x24 fp=0xc0000dba80 sp=0xc0000dba68 pc=0x6f1ae4 net/http.(*Server).Serve(0xc000392ff0, {0x11720d70, 0xc0004575a0}) /usr/local/go/src/net/http/server.go:3056 +0x364 fp=0xc0000dbbb0 sp=0xc0000dba80 pc=0x6cf1a4 github.com/jmorganca/ollama/server.Serve({0x11720d70, 0xc0004575a0}) /go/src/github.com/jmorganca/ollama/server/routes.go:1048 +0x454 fp=0xc0000dbc98 sp=0xc0000dbbb0 pc=0x9a1654 github.com/jmorganca/ollama/cmd.RunServer(0xc00047e300?, {0x11b698c0?, 0x4?, 0xadab0a?}) /go/src/github.com/jmorganca/ollama/cmd/cmd.go:706 +0x1b9 fp=0xc0000dbd30 sp=0xc0000dbc98 pc=0x9b4799 github.com/spf13/cobra.(*Command).execute(0xc000423800, {0x11b698c0, 0x0, 0x0}) /root/go/pkg/mod/github.com/spf13/cobra@v1.7.0/command.go:940 +0x87c fp=0xc0000dbe68 sp=0xc0000dbd30 pc=0x764d9c github.com/spf13/cobra.(*Command).ExecuteC(0xc000422c00) /root/go/pkg/mod/github.com/spf13/cobra@v1.7.0/command.go:1068 +0x3a5 fp=0xc0000dbf20 sp=0xc0000dbe68 pc=0x7655c5 github.com/spf13/cobra.(*Command).Execute(...) /root/go/pkg/mod/github.com/spf13/cobra@v1.7.0/command.go:992 github.com/spf13/cobra.(*Command).ExecuteContext(...) /root/go/pkg/mod/github.com/spf13/cobra@v1.7.0/command.go:985 main.main() /go/src/github.com/jmorganca/ollama/main.go:11 +0x4d fp=0xc0000dbf40 sp=0xc0000dbf20 pc=0x9bc90d runtime.main() /usr/local/go/src/runtime/proc.go:267 +0x2bb fp=0xc0000dbfe0 sp=0xc0000dbf40 pc=0x43e39b runtime.goexit() /usr/local/go/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc0000dbfe8 sp=0xc0000dbfe0 pc=0x46e2c1 goroutine 2 [force gc (idle)]: runtime.gopark(0x0?, 0x0?, 0x0?, 0x0?, 0x0?) /usr/local/go/src/runtime/proc.go:398 +0xce fp=0xc000064fa8 sp=0xc000064f88 pc=0x43e7ee runtime.goparkunlock(...) /usr/local/go/src/runtime/proc.go:404 runtime.forcegchelper() /usr/local/go/src/runtime/proc.go:322 +0xb3 fp=0xc000064fe0 sp=0xc000064fa8 pc=0x43e673 runtime.goexit() /usr/local/go/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc000064fe8 sp=0xc000064fe0 pc=0x46e2c1 created by runtime.init.6 in goroutine 1 /usr/local/go/src/runtime/proc.go:310 +0x1a goroutine 3 [GC sweep wait]: runtime.gopark(0x1?, 0x0?, 0x0?, 0x0?, 0x0?) /usr/local/go/src/runtime/proc.go:398 +0xce fp=0xc000065778 sp=0xc000065758 pc=0x43e7ee runtime.goparkunlock(...) /usr/local/go/src/runtime/proc.go:404 runtime.bgsweep(0x0?) /usr/local/go/src/runtime/mgcsweep.go:321 +0xdf fp=0xc0000657c8 sp=0xc000065778 pc=0x42a73f runtime.gcenable.func1() /usr/local/go/src/runtime/mgc.go:200 +0x25 fp=0xc0000657e0 sp=0xc0000657c8 pc=0x41f865 runtime.goexit() /usr/local/go/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc0000657e8 sp=0xc0000657e0 pc=0x46e2c1 created by runtime.gcenable in goroutine 1 /usr/local/go/src/runtime/mgc.go:200 +0x66 goroutine 4 [GC scavenge wait]: runtime.gopark(0x8fbc3a?, 0xcc794f?, 0x0?, 0x0?, 0x0?) /usr/local/go/src/runtime/proc.go:398 +0xce fp=0xc000065f70 sp=0xc000065f50 pc=0x43e7ee runtime.goparkunlock(...) /usr/local/go/src/runtime/proc.go:404 runtime.(*scavengerState).park(0x11b39c40) /usr/local/go/src/runtime/mgcscavenge.go:425 +0x49 fp=0xc000065fa0 sp=0xc000065f70 pc=0x427f69 runtime.bgscavenge(0x0?) /usr/local/go/src/runtime/mgcscavenge.go:658 +0x59 fp=0xc000065fc8 sp=0xc000065fa0 pc=0x428519 runtime.gcenable.func2() /usr/local/go/src/runtime/mgc.go:201 +0x25 fp=0xc000065fe0 sp=0xc000065fc8 pc=0x41f805 runtime.goexit() /usr/local/go/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc000065fe8 sp=0xc000065fe0 pc=0x46e2c1 created by runtime.gcenable in goroutine 1 /usr/local/go/src/runtime/mgc.go:201 +0xa5 goroutine 5 [finalizer wait]: runtime.gopark(0xad3ac0?, 0x10043f901?, 0x0?, 0x0?, 0x4469a5?) /usr/local/go/src/runtime/proc.go:398 +0xce fp=0xc000064628 sp=0xc000064608 pc=0x43e7ee runtime.runfinq() /usr/local/go/src/runtime/mfinal.go:193 +0x107 fp=0xc0000647e0 sp=0xc000064628 pc=0x41e8e7 runtime.goexit() /usr/local/go/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc0000647e8 sp=0xc0000647e0 pc=0x46e2c1 created by runtime.createfing in goroutine 1 /usr/local/go/src/runtime/mfinal.go:163 +0x3d goroutine 6 [select, locked to thread]: runtime.gopark(0xc0000667a8?, 0x2?, 0x89?, 0xea?, 0xc0000667a4?) /usr/local/go/src/runtime/proc.go:398 +0xce fp=0xc000066638 sp=0xc000066618 pc=0x43e7ee runtime.selectgo(0xc0000667a8, 0xc0000667a0, 0x0?, 0x0, 0x0?, 0x1) /usr/local/go/src/runtime/select.go:327 +0x725 fp=0xc000066758 sp=0xc000066638 pc=0x44e325 runtime.ensureSigM.func1() /usr/local/go/src/runtime/signal_unix.go:1014 +0x19f fp=0xc0000667e0 sp=0xc000066758 pc=0x46535f runtime.goexit() /usr/local/go/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc0000667e8 sp=0xc0000667e0 pc=0x46e2c1 created by runtime.ensureSigM in goroutine 1 /usr/local/go/src/runtime/signal_unix.go:997 +0xc8 goroutine 18 [syscall]: runtime.notetsleepg(0x0?, 0x0?) /usr/local/go/src/runtime/lock_futex.go:236 +0x29 fp=0xc0000607a0 sp=0xc000060768 pc=0x411349 os/signal.signal_recv() /usr/local/go/src/runtime/sigqueue.go:152 +0x29 fp=0xc0000607c0 sp=0xc0000607a0 pc=0x46ac89 os/signal.loop() /usr/local/go/src/os/signal/signal_unix.go:23 +0x13 fp=0xc0000607e0 sp=0xc0000607c0 pc=0x6f4513 runtime.goexit() /usr/local/go/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc0000607e8 sp=0xc0000607e0 pc=0x46e2c1 created by os/signal.Notify.func1.1 in goroutine 1 /usr/local/go/src/os/signal/signal.go:151 +0x1f goroutine 19 [chan receive]: runtime.gopark(0x0?, 0x0?, 0x0?, 0x0?, 0x0?) /usr/local/go/src/runtime/proc.go:398 +0xce fp=0xc000060f18 sp=0xc000060ef8 pc=0x43e7ee runtime.chanrecv(0xc00019f860, 0x0, 0x1) /usr/local/go/src/runtime/chan.go:583 +0x3cd fp=0xc000060f90 sp=0xc000060f18 pc=0x40beed runtime.chanrecv1(0x0?, 0x0?) /usr/local/go/src/runtime/chan.go:442 +0x12 fp=0xc000060fb8 sp=0xc000060f90 pc=0x40baf2 github.com/jmorganca/ollama/server.Serve.func2() /go/src/github.com/jmorganca/ollama/server/routes.go:1030 +0x25 fp=0xc000060fe0 sp=0xc000060fb8 pc=0x9a16e5 runtime.goexit() /usr/local/go/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc000060fe8 sp=0xc000060fe0 pc=0x46e2c1 created by github.com/jmorganca/ollama/server.Serve in goroutine 1 /go/src/github.com/jmorganca/ollama/server/routes.go:1029 +0x3c7 goroutine 20 [GC worker (idle)]: runtime.gopark(0xc435092fd32?, 0x3?, 0xd0?, 0xd?, 0x0?) /usr/local/go/src/runtime/proc.go:398 +0xce fp=0xc000061750 sp=0xc000061730 pc=0x43e7ee runtime.gcBgMarkWorker() /usr/local/go/src/runtime/mgc.go:1293 +0xe5 fp=0xc0000617e0 sp=0xc000061750 pc=0x4213e5 runtime.goexit() /usr/local/go/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc0000617e8 sp=0xc0000617e0 pc=0x46e2c1 created by runtime.gcBgMarkStartWorkers in goroutine 1 /usr/local/go/src/runtime/mgc.go:1217 +0x1c goroutine 34 [GC worker (idle)]: runtime.gopark(0xc43508efb44?, 0x1?, 0x42?, 0x13?, 0x0?) /usr/local/go/src/runtime/proc.go:398 +0xce fp=0xc000512750 sp=0xc000512730 pc=0x43e7ee runtime.gcBgMarkWorker() /usr/local/go/src/runtime/mgc.go:1293 +0xe5 fp=0xc0005127e0 sp=0xc000512750 pc=0x4213e5 runtime.goexit() /usr/local/go/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc0005127e8 sp=0xc0005127e0 pc=0x46e2c1 created by runtime.gcBgMarkStartWorkers in goroutine 1 /usr/local/go/src/runtime/mgc.go:1217 +0x1c goroutine 50 [GC worker (idle)]: runtime.gopark(0xc43508ef6a5?, 0x3?, 0x49?, 0x89?, 0x0?) /usr/local/go/src/runtime/proc.go:398 +0xce fp=0xc00050e750 sp=0xc00050e730 pc=0x43e7ee runtime.gcBgMarkWorker() /usr/local/go/src/runtime/mgc.go:1293 +0xe5 fp=0xc00050e7e0 sp=0xc00050e750 pc=0x4213e5 runtime.goexit() /usr/local/go/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc00050e7e8 sp=0xc00050e7e0 pc=0x46e2c1 created by runtime.gcBgMarkStartWorkers in goroutine 1 /usr/local/go/src/runtime/mgc.go:1217 +0x1c goroutine 35 [GC worker (idle)]: runtime.gopark(0xc43508efcd4?, 0x1?, 0x32?, 0xac?, 0x0?) /usr/local/go/src/runtime/proc.go:398 +0xce fp=0xc000512f50 sp=0xc000512f30 pc=0x43e7ee runtime.gcBgMarkWorker() /usr/local/go/src/runtime/mgc.go:1293 +0xe5 fp=0xc000512fe0 sp=0xc000512f50 pc=0x4213e5 runtime.goexit() /usr/local/go/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc000512fe8 sp=0xc000512fe0 pc=0x46e2c1 created by runtime.gcBgMarkStartWorkers in goroutine 1 /usr/local/go/src/runtime/mgc.go:1217 +0x1c goroutine 21 [GC worker (idle)]: runtime.gopark(0x11b6b5e0?, 0x1?, 0xa9?, 0x7d?, 0x0?) /usr/local/go/src/runtime/proc.go:398 +0xce fp=0xc000061f50 sp=0xc000061f30 pc=0x43e7ee runtime.gcBgMarkWorker() /usr/local/go/src/runtime/mgc.go:1293 +0xe5 fp=0xc000061fe0 sp=0xc000061f50 pc=0x4213e5 runtime.goexit() /usr/local/go/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc000061fe8 sp=0xc000061fe0 pc=0x46e2c1 created by runtime.gcBgMarkStartWorkers in goroutine 1 /usr/local/go/src/runtime/mgc.go:1217 +0x1c goroutine 22 [GC worker (idle)]: runtime.gopark(0xc43508ffcb2?, 0x1?, 0x7a?, 0x69?, 0x0?) /usr/local/go/src/runtime/proc.go:398 +0xce fp=0xc000062750 sp=0xc000062730 pc=0x43e7ee runtime.gcBgMarkWorker() /usr/local/go/src/runtime/mgc.go:1293 +0xe5 fp=0xc0000627e0 sp=0xc000062750 pc=0x4213e5 runtime.goexit() /usr/local/go/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc0000627e8 sp=0xc0000627e0 pc=0x46e2c1 created by runtime.gcBgMarkStartWorkers in goroutine 1 /usr/local/go/src/runtime/mgc.go:1217 +0x1c goroutine 7 [GC worker (idle)]: runtime.gopark(0xc43508ef637?, 0x3?, 0x54?, 0xe7?, 0x0?) /usr/local/go/src/runtime/proc.go:398 +0xce fp=0xc000066f50 sp=0xc000066f30 pc=0x43e7ee runtime.gcBgMarkWorker() /usr/local/go/src/runtime/mgc.go:1293 +0xe5 fp=0xc000066fe0 sp=0xc000066f50 pc=0x4213e5 runtime.goexit() /usr/local/go/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc000066fe8 sp=0xc000066fe0 pc=0x46e2c1 created by runtime.gcBgMarkStartWorkers in goroutine 1 /usr/local/go/src/runtime/mgc.go:1217 +0x1c goroutine 23 [GC worker (idle)]: runtime.gopark(0x11b6b5e0?, 0x3?, 0x84?, 0xd1?, 0x0?) /usr/local/go/src/runtime/proc.go:398 +0xce fp=0xc000062f50 sp=0xc000062f30 pc=0x43e7ee runtime.gcBgMarkWorker() /usr/local/go/src/runtime/mgc.go:1293 +0xe5 fp=0xc000062fe0 sp=0xc000062f50 pc=0x4213e5 runtime.goexit() /usr/local/go/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc000062fe8 sp=0xc000062fe0 pc=0x46e2c1 created by runtime.gcBgMarkStartWorkers in goroutine 1 /usr/local/go/src/runtime/mgc.go:1217 +0x1c goroutine 36 [GC worker (idle)]: runtime.gopark(0xc43485971ab?, 0x3?, 0x49?, 0x29?, 0x0?) /usr/local/go/src/runtime/proc.go:398 +0xce fp=0xc000513750 sp=0xc000513730 pc=0x43e7ee runtime.gcBgMarkWorker() /usr/local/go/src/runtime/mgc.go:1293 +0xe5 fp=0xc0005137e0 sp=0xc000513750 pc=0x4213e5 runtime.goexit() /usr/local/go/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc0005137e8 sp=0xc0005137e0 pc=0x46e2c1 created by runtime.gcBgMarkStartWorkers in goroutine 1 /usr/local/go/src/runtime/mgc.go:1217 +0x1c goroutine 37 [GC worker (idle)]: runtime.gopark(0xc43508efd4d?, 0x1?, 0x3a?, 0xa4?, 0x0?) /usr/local/go/src/runtime/proc.go:398 +0xce fp=0xc000513f50 sp=0xc000513f30 pc=0x43e7ee runtime.gcBgMarkWorker() /usr/local/go/src/runtime/mgc.go:1293 +0xe5 fp=0xc000513fe0 sp=0xc000513f50 pc=0x4213e5 runtime.goexit() /usr/local/go/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc000513fe8 sp=0xc000513fe0 pc=0x46e2c1 created by runtime.gcBgMarkStartWorkers in goroutine 1 /usr/local/go/src/runtime/mgc.go:1217 +0x1c goroutine 8 [GC worker (idle)]: runtime.gopark(0xc43508ef89a?, 0x3?, 0xec?, 0x42?, 0x0?) /usr/local/go/src/runtime/proc.go:398 +0xce fp=0xc000067750 sp=0xc000067730 pc=0x43e7ee runtime.gcBgMarkWorker() /usr/local/go/src/runtime/mgc.go:1293 +0xe5 fp=0xc0000677e0 sp=0xc000067750 pc=0x4213e5 runtime.goexit() /usr/local/go/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc0000677e8 sp=0xc0000677e0 pc=0x46e2c1 created by runtime.gcBgMarkStartWorkers in goroutine 1 /usr/local/go/src/runtime/mgc.go:1217 +0x1c goroutine 24 [GC worker (idle)]: runtime.gopark(0xc43508ef320?, 0x3?, 0x99?, 0x3?, 0x0?) /usr/local/go/src/runtime/proc.go:398 +0xce fp=0xc000063750 sp=0xc000063730 pc=0x43e7ee runtime.gcBgMarkWorker() /usr/local/go/src/runtime/mgc.go:1293 +0xe5 fp=0xc0000637e0 sp=0xc000063750 pc=0x4213e5 runtime.goexit() /usr/local/go/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc0000637e8 sp=0xc0000637e0 pc=0x46e2c1 created by runtime.gcBgMarkStartWorkers in goroutine 1 /usr/local/go/src/runtime/mgc.go:1217 +0x1c goroutine 9 [GC worker (idle)]: runtime.gopark(0xc43508f04f8?, 0x3?, 0xa8?, 0x10?, 0x0?) /usr/local/go/src/runtime/proc.go:398 +0xce fp=0xc000067f50 sp=0xc000067f30 pc=0x43e7ee runtime.gcBgMarkWorker() /usr/local/go/src/runtime/mgc.go:1293 +0xe5 fp=0xc000067fe0 sp=0xc000067f50 pc=0x4213e5 runtime.goexit() /usr/local/go/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc000067fe8 sp=0xc000067fe0 pc=0x46e2c1 created by runtime.gcBgMarkStartWorkers in goroutine 1 /usr/local/go/src/runtime/mgc.go:1217 +0x1c goroutine 10 [GC worker (idle)]: runtime.gopark(0xc43508ef488?, 0x3?, 0xb2?, 0xb0?, 0x0?) /usr/local/go/src/runtime/proc.go:398 +0xce fp=0xc0004a8750 sp=0xc0004a8730 pc=0x43e7ee runtime.gcBgMarkWorker() /usr/local/go/src/runtime/mgc.go:1293 +0xe5 fp=0xc0004a87e0 sp=0xc0004a8750 pc=0x4213e5 runtime.goexit() /usr/local/go/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc0004a87e8 sp=0xc0004a87e0 pc=0x46e2c1 created by runtime.gcBgMarkStartWorkers in goroutine 1 /usr/local/go/src/runtime/mgc.go:1217 +0x1c goroutine 38 [GC worker (idle)]: runtime.gopark(0xc43509311f0?, 0x3?, 0x86?, 0x8?, 0x0?) /usr/local/go/src/runtime/proc.go:398 +0xce fp=0xc000514750 sp=0xc000514730 pc=0x43e7ee runtime.gcBgMarkWorker() /usr/local/go/src/runtime/mgc.go:1293 +0xe5 fp=0xc0005147e0 sp=0xc000514750 pc=0x4213e5 runtime.goexit() /usr/local/go/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc0005147e8 sp=0xc0005147e0 pc=0x46e2c1 created by runtime.gcBgMarkStartWorkers in goroutine 1 /usr/local/go/src/runtime/mgc.go:1217 +0x1c goroutine 39 [GC worker (idle)]: runtime.gopark(0x11b6b5e0?, 0x3?, 0xe9?, 0xa6?, 0x0?) /usr/local/go/src/runtime/proc.go:398 +0xce fp=0xc000514f50 sp=0xc000514f30 pc=0x43e7ee runtime.gcBgMarkWorker() /usr/local/go/src/runtime/mgc.go:1293 +0xe5 fp=0xc000514fe0 sp=0xc000514f50 pc=0x4213e5 runtime.goexit() /usr/local/go/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc000514fe8 sp=0xc000514fe0 pc=0x46e2c1 created by runtime.gcBgMarkStartWorkers in goroutine 1 /usr/local/go/src/runtime/mgc.go:1217 +0x1c goroutine 11 [IO wait]: runtime.gopark(0x0?, 0xb?, 0x0?, 0x0?, 0xa?) /usr/local/go/src/runtime/proc.go:398 +0xce fp=0xc0004a95a0 sp=0xc0004a9580 pc=0x43e7ee runtime.netpollblock(0x47f078?, 0x4092a6?, 0x0?) /usr/local/go/src/runtime/netpoll.go:564 +0xf7 fp=0xc0004a95d8 sp=0xc0004a95a0 pc=0x437277 internal/poll.runtime_pollWait(0x7f503ec2dd88, 0x72) /usr/local/go/src/runtime/netpoll.go:343 +0x85 fp=0xc0004a95f8 sp=0xc0004a95d8 pc=0x468a05 internal/poll.(*pollDesc).wait(0xc000480b80?, 0xc0000a6401?, 0x0) /usr/local/go/src/internal/poll/fd_poll_runtime.go:84 +0x27 fp=0xc0004a9620 sp=0xc0004a95f8 pc=0x4efd67 internal/poll.(*pollDesc).waitRead(...) /usr/local/go/src/internal/poll/fd_poll_runtime.go:89 internal/poll.(*FD).Read(0xc000480b80, {0xc0000a6401, 0x1, 0x1}) /usr/local/go/src/internal/poll/fd_unix.go:164 +0x27a fp=0xc0004a96b8 sp=0xc0004a9620 pc=0x4f105a net.(*netFD).Read(0xc000480b80, {0xc0000a6401?, 0x0?, 0x0?}) /usr/local/go/src/net/fd_posix.go:55 +0x25 fp=0xc0004a9700 sp=0xc0004a96b8 pc=0x569e05 net.(*conn).Read(0xc000068560, {0xc0000a6401?, 0x0?, 0x0?}) /usr/local/go/src/net/net.go:179 +0x45 fp=0xc0004a9748 sp=0xc0004a9700 pc=0x5780a5 net.(*TCPConn).Read(0x0?, {0xc0000a6401?, 0x0?, 0x0?}) <autogenerated>:1 +0x25 fp=0xc0004a9778 sp=0xc0004a9748 pc=0x589fa5 net/http.(*connReader).backgroundRead(0xc0000a63f0) /usr/local/go/src/net/http/server.go:683 +0x37 fp=0xc0004a97c8 sp=0xc0004a9778 pc=0x6c4ab7 net/http.(*connReader).startBackgroundRead.func2() /usr/local/go/src/net/http/server.go:679 +0x25 fp=0xc0004a97e0 sp=0xc0004a97c8 pc=0x6c49e5 runtime.goexit() /usr/local/go/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc0004a97e8 sp=0xc0004a97e0 pc=0x46e2c1 created by net/http.(*connReader).startBackgroundRead in goroutine 25 /usr/local/go/src/net/http/server.go:679 +0xba rax 0x0 rbx 0x7f4fd7fff640 rcx 0x7f503ea969fc rdx 0x6 rdi 0x131e7 rsi 0x131ef rbp 0x131ef rsp 0x7f4fd7ffd780 r8 0x7f4fd7ffd850 r9 0x0 r10 0x8 r11 0x246 r12 0x6 r13 0x16 r14 0x1 r15 0x1 rip 0x7f503ea969fc rflags 0x246 cs 0x33 fs 0x0 gs 0x0 ```
Author
Owner

@James4Ever0 commented on GitHub (Mar 10, 2024):

I heard of some tweaks like export HSA_OVERRIDE_GFX_VERSION=9.0.0 for using gfx90c in latest Pytorch ROCm containers. however it does not enable the GPU when running ollama serve, only disable it.

To disable the GPU one can simply run export HSA_OVERRIDE_GFX_VERSION=1.

Hope anyone can look into this issue and enable support for gfx90c, which is an integrated GPU playing Cyberpunk 2077@1280x800 30FPS.

<!-- gh-comment-id:1987239515 --> @James4Ever0 commented on GitHub (Mar 10, 2024): I heard of some tweaks like `export HSA_OVERRIDE_GFX_VERSION=9.0.0` for using `gfx90c` in latest Pytorch ROCm containers. however it does not enable the GPU when running ollama serve, only disable it. To disable the GPU one can simply run `export HSA_OVERRIDE_GFX_VERSION=1`. Hope anyone can look into this issue and enable support for `gfx90c`, which is an integrated GPU playing Cyberpunk 2077@1280x800 30FPS.
Author
Owner

@James4Ever0 commented on GitHub (Mar 10, 2024):

Seems my ROCm version is to be blamed. I am running ROCm v5, which ollama requires v6.

I will check if upgrading ROCm helps.

dpkg -l | grep -i rocm shows:

ii  rocm-core                                        5.7.0.50700-63~22.04                       amd64        Radeon Open Compute (ROCm) Runtime software stack
ii  rocm-device-libs                                 1.0.0.50700-63~22.04                       amd64        Radeon Open Compute - device libraries
ii  rocm-hip-libraries                               5.7.0.50700-63~22.04                       amd64        Radeon Open Compute (ROCm) Runtime software stack
ii  rocm-hip-runtime                                 5.7.0.50700-63~22.04                       amd64        Radeon Open Compute (ROCm) Runtime software stack
ii  rocm-language-runtime                            5.7.0.50700-63~22.04                       amd64        Radeon Open Compute (ROCm) Runtime software stack
ii  rocm-llvm                                        17.0.0.23352.50700-63~22.04                amd64        ROCm compiler
ii  rocm-opencl                                      2.0.0.50700-63~22.04                       amd64        clr built using CMake
ii  rocm-opencl-dev                                  2.0.0.50700-63~22.04                       amd64        clr built using CMake
ii  rocm-smi-lib                                     5.0.0.50700-63~22.04                       amd64        AMD System Management libraries
ii  rocminfo                                         1.0.0.50700-63~22.04                       amd64        Radeon Open Compute (ROCm) Runtime rocminfo tool

<!-- gh-comment-id:1987242395 --> @James4Ever0 commented on GitHub (Mar 10, 2024): Seems my ROCm version is to be blamed. I am running ROCm v5, which ollama requires v6. I will check if upgrading ROCm helps. `dpkg -l | grep -i rocm` shows: ``` ii rocm-core 5.7.0.50700-63~22.04 amd64 Radeon Open Compute (ROCm) Runtime software stack ii rocm-device-libs 1.0.0.50700-63~22.04 amd64 Radeon Open Compute - device libraries ii rocm-hip-libraries 5.7.0.50700-63~22.04 amd64 Radeon Open Compute (ROCm) Runtime software stack ii rocm-hip-runtime 5.7.0.50700-63~22.04 amd64 Radeon Open Compute (ROCm) Runtime software stack ii rocm-language-runtime 5.7.0.50700-63~22.04 amd64 Radeon Open Compute (ROCm) Runtime software stack ii rocm-llvm 17.0.0.23352.50700-63~22.04 amd64 ROCm compiler ii rocm-opencl 2.0.0.50700-63~22.04 amd64 clr built using CMake ii rocm-opencl-dev 2.0.0.50700-63~22.04 amd64 clr built using CMake ii rocm-smi-lib 5.0.0.50700-63~22.04 amd64 AMD System Management libraries ii rocminfo 1.0.0.50700-63~22.04 amd64 Radeon Open Compute (ROCm) Runtime rocminfo tool ```
Author
Owner

@James4Ever0 commented on GitHub (Mar 10, 2024):

Can trick ollama to use GPU but loading model taking forever.

Logs:

time=2024-03-10T22:51:10.851+08:00 level=INFO source=images.go:806 msg="total blobs: 34"
time=2024-03-10T22:51:10.852+08:00 level=INFO source=images.go:813 msg="total unused blobs removed: 0"
time=2024-03-10T22:51:10.852+08:00 level=INFO source=routes.go:1082 msg="Listening on 127.0.0.1:11434 (version 0.1.29)"
time=2024-03-10T22:51:10.852+08:00 level=INFO source=payload_common.go:112 msg="Extracting dynamic libraries to /tmp/ollama1384499486 ..."
time=2024-03-10T22:51:13.122+08:00 level=INFO source=payload_common.go:139 msg="Dynamic LLM libraries [rocm_v60000 cuda_v11 cpu_avx cpu cpu_avx2]"
time=2024-03-10T22:51:13.122+08:00 level=INFO source=gpu.go:77 msg="Detecting GPU type"
time=2024-03-10T22:51:13.122+08:00 level=INFO source=gpu.go:191 msg="Searching for GPU management library libnvidia-ml.so"
time=2024-03-10T22:51:13.124+08:00 level=INFO source=gpu.go:237 msg="Discovered GPU libraries: []"
time=2024-03-10T22:51:13.124+08:00 level=INFO source=cpu_common.go:11 msg="CPU has AVX2"
time=2024-03-10T22:51:13.124+08:00 level=INFO source=amd_linux.go:47 msg="AMD Driver: 6.2.4"
time=2024-03-10T22:51:13.124+08:00 level=INFO source=amd_linux.go:85 msg="detected amdgpu versions [gfx9012]"
time=2024-03-10T22:51:13.125+08:00 level=INFO source=amd_linux.go:235 msg="[1] amdgpu totalMemory 8589934592"
time=2024-03-10T22:51:13.125+08:00 level=INFO source=amd_linux.go:236 msg="[1] amdgpu freeMemory  7956676608"
[GIN] 2024/03/10 - 22:51:24 | 200 |      30.317µs |       127.0.0.1 | HEAD     "/"
[GIN] 2024/03/10 - 22:51:24 | 200 |     657.471µs |       127.0.0.1 | POST     "/api/show"
[GIN] 2024/03/10 - 22:51:24 | 200 |       186.7µs |       127.0.0.1 | POST     "/api/show"
time=2024-03-10T22:51:24.548+08:00 level=INFO source=cpu_common.go:11 msg="CPU has AVX2"
time=2024-03-10T22:51:24.548+08:00 level=INFO source=amd_linux.go:47 msg="AMD Driver: 6.2.4"
time=2024-03-10T22:51:24.548+08:00 level=INFO source=amd_linux.go:85 msg="detected amdgpu versions [gfx9012]"
time=2024-03-10T22:51:24.548+08:00 level=INFO source=amd_linux.go:235 msg="[1] amdgpu totalMemory 8589934592"
time=2024-03-10T22:51:24.548+08:00 level=INFO source=amd_linux.go:236 msg="[1] amdgpu freeMemory  7954382848"
time=2024-03-10T22:51:24.548+08:00 level=INFO source=cpu_common.go:11 msg="CPU has AVX2"
time=2024-03-10T22:51:24.548+08:00 level=INFO source=amd_linux.go:47 msg="AMD Driver: 6.2.4"
time=2024-03-10T22:51:24.548+08:00 level=INFO source=amd_linux.go:85 msg="detected amdgpu versions [gfx9012]"
time=2024-03-10T22:51:24.549+08:00 level=INFO source=amd_linux.go:235 msg="[1] amdgpu totalMemory 8589934592"
time=2024-03-10T22:51:24.549+08:00 level=INFO source=amd_linux.go:236 msg="[1] amdgpu freeMemory  7954382848"
time=2024-03-10T22:51:24.549+08:00 level=INFO source=cpu_common.go:11 msg="CPU has AVX2"
loading library /tmp/ollama1384499486/rocm_v60000/libext_server.so
time=2024-03-10T22:51:24.581+08:00 level=INFO source=dyn_ext_server.go:90 msg="Loading Dynamic llm server: /tmp/ollama1384499486/rocm_v60000/libext_server.so"
time=2024-03-10T22:51:24.581+08:00 level=INFO source=dyn_ext_server.go:150 msg="Initializing llama server"
ggml_init_cublas: GGML_CUDA_FORCE_MMQ:   no
ggml_init_cublas: CUDA_USE_TENSOR_CORES: yes
ggml_init_cublas: found 1 ROCm devices:
  Device 0: AMD Radeon Graphics, compute capability 9.0, VMM: no
llama_model_loader: loaded meta data with 20 key-value pairs and 325 tensors from /root/.ollama/models/blobs/sha256:04778965089b91318ad61d0995b7e44fad4b9a9f4e049d7be90932bf8812e828 (version GGUF V3 (latest))
llama_model_loader: Dumping metadata keys/values. Note: KV overrides do not apply in this output.
llama_model_loader: - kv   0:                       general.architecture str              = phi2
llama_model_loader: - kv   1:                               general.name str              = Phi2
llama_model_loader: - kv   2:                        phi2.context_length u32              = 2048
llama_model_loader: - kv   3:                      phi2.embedding_length u32              = 2560
llama_model_loader: - kv   4:                   phi2.feed_forward_length u32              = 10240
llama_model_loader: - kv   5:                           phi2.block_count u32              = 32
llama_model_loader: - kv   6:                  phi2.attention.head_count u32              = 32
llama_model_loader: - kv   7:               phi2.attention.head_count_kv u32              = 32
llama_model_loader: - kv   8:          phi2.attention.layer_norm_epsilon f32              = 0.000010
llama_model_loader: - kv   9:                  phi2.rope.dimension_count u32              = 32
llama_model_loader: - kv  10:                          general.file_type u32              = 2
llama_model_loader: - kv  11:               tokenizer.ggml.add_bos_token bool             = false
llama_model_loader: - kv  12:                       tokenizer.ggml.model str              = gpt2
llama_model_loader: - kv  13:                      tokenizer.ggml.tokens arr[str,51200]   = ["!", "\"", "#", "$", "%", "&", "'", ...
llama_model_loader: - kv  14:                  tokenizer.ggml.token_type arr[i32,51200]   = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ...
llama_model_loader: - kv  15:                      tokenizer.ggml.merges arr[str,50000]   = ["Ġ t", "Ġ a", "h e", "i n", "r e",...
llama_model_loader: - kv  16:                tokenizer.ggml.bos_token_id u32              = 50256
llama_model_loader: - kv  17:                tokenizer.ggml.eos_token_id u32              = 50256
llama_model_loader: - kv  18:            tokenizer.ggml.unknown_token_id u32              = 50256
llama_model_loader: - kv  19:               general.quantization_version u32              = 2
llama_model_loader: - type  f32:  195 tensors
llama_model_loader: - type q4_0:  129 tensors
llama_model_loader: - type q6_K:    1 tensors
llm_load_vocab: mismatch in special tokens definition ( 910/51200 vs 944/51200 ).
llm_load_print_meta: format           = GGUF V3 (latest)
llm_load_print_meta: arch             = phi2
llm_load_print_meta: vocab type       = BPE
llm_load_print_meta: n_vocab          = 51200
llm_load_print_meta: n_merges         = 50000
llm_load_print_meta: n_ctx_train      = 2048
llm_load_print_meta: n_embd           = 2560
llm_load_print_meta: n_head           = 32
llm_load_print_meta: n_head_kv        = 32
llm_load_print_meta: n_layer          = 32
llm_load_print_meta: n_rot            = 32
llm_load_print_meta: n_embd_head_k    = 80
llm_load_print_meta: n_embd_head_v    = 80
llm_load_print_meta: n_gqa            = 1
llm_load_print_meta: n_embd_k_gqa     = 2560
llm_load_print_meta: n_embd_v_gqa     = 2560
llm_load_print_meta: f_norm_eps       = 1.0e-05
llm_load_print_meta: f_norm_rms_eps   = 0.0e+00
llm_load_print_meta: f_clamp_kqv      = 0.0e+00
llm_load_print_meta: f_max_alibi_bias = 0.0e+00
llm_load_print_meta: n_ff             = 10240
llm_load_print_meta: n_expert         = 0
llm_load_print_meta: n_expert_used    = 0
llm_load_print_meta: pooling type     = 0
llm_load_print_meta: rope type        = 2
llm_load_print_meta: rope scaling     = linear
llm_load_print_meta: freq_base_train  = 10000.0
llm_load_print_meta: freq_scale_train = 1
llm_load_print_meta: n_yarn_orig_ctx  = 2048
llm_load_print_meta: rope_finetuned   = unknown
llm_load_print_meta: ssm_d_conv       = 0
llm_load_print_meta: ssm_d_inner      = 0
llm_load_print_meta: ssm_d_state      = 0
llm_load_print_meta: ssm_dt_rank      = 0
llm_load_print_meta: model type       = 3B
llm_load_print_meta: model ftype      = Q4_0
llm_load_print_meta: model params     = 2.78 B
llm_load_print_meta: model size       = 1.49 GiB (4.61 BPW) 
llm_load_print_meta: general.name     = Phi2
llm_load_print_meta: BOS token        = 50256 '<|endoftext|>'
llm_load_print_meta: EOS token        = 50256 '<|endoftext|>'
llm_load_print_meta: UNK token        = 50256 '<|endoftext|>'
llm_load_print_meta: LF token         = 128 'Ä'
llm_load_tensors: ggml ctx size =    0.25 MiB
llm_load_tensors: offloading 32 repeating layers to GPU
llm_load_tensors: offloading non-repeating layers to GPU
llm_load_tensors: offloaded 33/33 layers to GPU
llm_load_tensors:      ROCm0 buffer size =  1456.19 MiB
llm_load_tensors:        CPU buffer size =    70.31 MiB


<!-- gh-comment-id:1987261808 --> @James4Ever0 commented on GitHub (Mar 10, 2024): Can trick ollama to use GPU but loading model taking forever. Logs: ``` time=2024-03-10T22:51:10.851+08:00 level=INFO source=images.go:806 msg="total blobs: 34" time=2024-03-10T22:51:10.852+08:00 level=INFO source=images.go:813 msg="total unused blobs removed: 0" time=2024-03-10T22:51:10.852+08:00 level=INFO source=routes.go:1082 msg="Listening on 127.0.0.1:11434 (version 0.1.29)" time=2024-03-10T22:51:10.852+08:00 level=INFO source=payload_common.go:112 msg="Extracting dynamic libraries to /tmp/ollama1384499486 ..." time=2024-03-10T22:51:13.122+08:00 level=INFO source=payload_common.go:139 msg="Dynamic LLM libraries [rocm_v60000 cuda_v11 cpu_avx cpu cpu_avx2]" time=2024-03-10T22:51:13.122+08:00 level=INFO source=gpu.go:77 msg="Detecting GPU type" time=2024-03-10T22:51:13.122+08:00 level=INFO source=gpu.go:191 msg="Searching for GPU management library libnvidia-ml.so" time=2024-03-10T22:51:13.124+08:00 level=INFO source=gpu.go:237 msg="Discovered GPU libraries: []" time=2024-03-10T22:51:13.124+08:00 level=INFO source=cpu_common.go:11 msg="CPU has AVX2" time=2024-03-10T22:51:13.124+08:00 level=INFO source=amd_linux.go:47 msg="AMD Driver: 6.2.4" time=2024-03-10T22:51:13.124+08:00 level=INFO source=amd_linux.go:85 msg="detected amdgpu versions [gfx9012]" time=2024-03-10T22:51:13.125+08:00 level=INFO source=amd_linux.go:235 msg="[1] amdgpu totalMemory 8589934592" time=2024-03-10T22:51:13.125+08:00 level=INFO source=amd_linux.go:236 msg="[1] amdgpu freeMemory 7956676608" [GIN] 2024/03/10 - 22:51:24 | 200 | 30.317µs | 127.0.0.1 | HEAD "/" [GIN] 2024/03/10 - 22:51:24 | 200 | 657.471µs | 127.0.0.1 | POST "/api/show" [GIN] 2024/03/10 - 22:51:24 | 200 | 186.7µs | 127.0.0.1 | POST "/api/show" time=2024-03-10T22:51:24.548+08:00 level=INFO source=cpu_common.go:11 msg="CPU has AVX2" time=2024-03-10T22:51:24.548+08:00 level=INFO source=amd_linux.go:47 msg="AMD Driver: 6.2.4" time=2024-03-10T22:51:24.548+08:00 level=INFO source=amd_linux.go:85 msg="detected amdgpu versions [gfx9012]" time=2024-03-10T22:51:24.548+08:00 level=INFO source=amd_linux.go:235 msg="[1] amdgpu totalMemory 8589934592" time=2024-03-10T22:51:24.548+08:00 level=INFO source=amd_linux.go:236 msg="[1] amdgpu freeMemory 7954382848" time=2024-03-10T22:51:24.548+08:00 level=INFO source=cpu_common.go:11 msg="CPU has AVX2" time=2024-03-10T22:51:24.548+08:00 level=INFO source=amd_linux.go:47 msg="AMD Driver: 6.2.4" time=2024-03-10T22:51:24.548+08:00 level=INFO source=amd_linux.go:85 msg="detected amdgpu versions [gfx9012]" time=2024-03-10T22:51:24.549+08:00 level=INFO source=amd_linux.go:235 msg="[1] amdgpu totalMemory 8589934592" time=2024-03-10T22:51:24.549+08:00 level=INFO source=amd_linux.go:236 msg="[1] amdgpu freeMemory 7954382848" time=2024-03-10T22:51:24.549+08:00 level=INFO source=cpu_common.go:11 msg="CPU has AVX2" loading library /tmp/ollama1384499486/rocm_v60000/libext_server.so time=2024-03-10T22:51:24.581+08:00 level=INFO source=dyn_ext_server.go:90 msg="Loading Dynamic llm server: /tmp/ollama1384499486/rocm_v60000/libext_server.so" time=2024-03-10T22:51:24.581+08:00 level=INFO source=dyn_ext_server.go:150 msg="Initializing llama server" ggml_init_cublas: GGML_CUDA_FORCE_MMQ: no ggml_init_cublas: CUDA_USE_TENSOR_CORES: yes ggml_init_cublas: found 1 ROCm devices: Device 0: AMD Radeon Graphics, compute capability 9.0, VMM: no llama_model_loader: loaded meta data with 20 key-value pairs and 325 tensors from /root/.ollama/models/blobs/sha256:04778965089b91318ad61d0995b7e44fad4b9a9f4e049d7be90932bf8812e828 (version GGUF V3 (latest)) llama_model_loader: Dumping metadata keys/values. Note: KV overrides do not apply in this output. llama_model_loader: - kv 0: general.architecture str = phi2 llama_model_loader: - kv 1: general.name str = Phi2 llama_model_loader: - kv 2: phi2.context_length u32 = 2048 llama_model_loader: - kv 3: phi2.embedding_length u32 = 2560 llama_model_loader: - kv 4: phi2.feed_forward_length u32 = 10240 llama_model_loader: - kv 5: phi2.block_count u32 = 32 llama_model_loader: - kv 6: phi2.attention.head_count u32 = 32 llama_model_loader: - kv 7: phi2.attention.head_count_kv u32 = 32 llama_model_loader: - kv 8: phi2.attention.layer_norm_epsilon f32 = 0.000010 llama_model_loader: - kv 9: phi2.rope.dimension_count u32 = 32 llama_model_loader: - kv 10: general.file_type u32 = 2 llama_model_loader: - kv 11: tokenizer.ggml.add_bos_token bool = false llama_model_loader: - kv 12: tokenizer.ggml.model str = gpt2 llama_model_loader: - kv 13: tokenizer.ggml.tokens arr[str,51200] = ["!", "\"", "#", "$", "%", "&", "'", ... llama_model_loader: - kv 14: tokenizer.ggml.token_type arr[i32,51200] = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ... llama_model_loader: - kv 15: tokenizer.ggml.merges arr[str,50000] = ["Ġ t", "Ġ a", "h e", "i n", "r e",... llama_model_loader: - kv 16: tokenizer.ggml.bos_token_id u32 = 50256 llama_model_loader: - kv 17: tokenizer.ggml.eos_token_id u32 = 50256 llama_model_loader: - kv 18: tokenizer.ggml.unknown_token_id u32 = 50256 llama_model_loader: - kv 19: general.quantization_version u32 = 2 llama_model_loader: - type f32: 195 tensors llama_model_loader: - type q4_0: 129 tensors llama_model_loader: - type q6_K: 1 tensors llm_load_vocab: mismatch in special tokens definition ( 910/51200 vs 944/51200 ). llm_load_print_meta: format = GGUF V3 (latest) llm_load_print_meta: arch = phi2 llm_load_print_meta: vocab type = BPE llm_load_print_meta: n_vocab = 51200 llm_load_print_meta: n_merges = 50000 llm_load_print_meta: n_ctx_train = 2048 llm_load_print_meta: n_embd = 2560 llm_load_print_meta: n_head = 32 llm_load_print_meta: n_head_kv = 32 llm_load_print_meta: n_layer = 32 llm_load_print_meta: n_rot = 32 llm_load_print_meta: n_embd_head_k = 80 llm_load_print_meta: n_embd_head_v = 80 llm_load_print_meta: n_gqa = 1 llm_load_print_meta: n_embd_k_gqa = 2560 llm_load_print_meta: n_embd_v_gqa = 2560 llm_load_print_meta: f_norm_eps = 1.0e-05 llm_load_print_meta: f_norm_rms_eps = 0.0e+00 llm_load_print_meta: f_clamp_kqv = 0.0e+00 llm_load_print_meta: f_max_alibi_bias = 0.0e+00 llm_load_print_meta: n_ff = 10240 llm_load_print_meta: n_expert = 0 llm_load_print_meta: n_expert_used = 0 llm_load_print_meta: pooling type = 0 llm_load_print_meta: rope type = 2 llm_load_print_meta: rope scaling = linear llm_load_print_meta: freq_base_train = 10000.0 llm_load_print_meta: freq_scale_train = 1 llm_load_print_meta: n_yarn_orig_ctx = 2048 llm_load_print_meta: rope_finetuned = unknown llm_load_print_meta: ssm_d_conv = 0 llm_load_print_meta: ssm_d_inner = 0 llm_load_print_meta: ssm_d_state = 0 llm_load_print_meta: ssm_dt_rank = 0 llm_load_print_meta: model type = 3B llm_load_print_meta: model ftype = Q4_0 llm_load_print_meta: model params = 2.78 B llm_load_print_meta: model size = 1.49 GiB (4.61 BPW) llm_load_print_meta: general.name = Phi2 llm_load_print_meta: BOS token = 50256 '<|endoftext|>' llm_load_print_meta: EOS token = 50256 '<|endoftext|>' llm_load_print_meta: UNK token = 50256 '<|endoftext|>' llm_load_print_meta: LF token = 128 'Ä' llm_load_tensors: ggml ctx size = 0.25 MiB llm_load_tensors: offloading 32 repeating layers to GPU llm_load_tensors: offloading non-repeating layers to GPU llm_load_tensors: offloaded 33/33 layers to GPU llm_load_tensors: ROCm0 buffer size = 1456.19 MiB llm_load_tensors: CPU buffer size = 70.31 MiB ```
Author
Owner

@jmorganca commented on GitHub (Mar 11, 2024):

Hi @James4Ever0, would it be possible to try the latest version of Ollama in pre-release: 0.1.29? This version should skip using unsupported versions of AMD devices.

In terms of supporting that GPU, it isn't officially supported by ROCm, however you can try running Ollama with export HSA_OVERRIDE_GFX_VERSION=9.0.0 by following this guide to set an environment variable. Otherwise Ollama 0.1.29 should use your CPU. Let me know if this helps!

<!-- gh-comment-id:1987672631 --> @jmorganca commented on GitHub (Mar 11, 2024): Hi @James4Ever0, would it be possible to try the latest version of Ollama in pre-release: [0.1.29](https://github.com/ollama/ollama/releases/tag/v0.1.29)? This version should skip using unsupported versions of AMD devices. In terms of supporting that GPU, it isn't officially supported by ROCm, however you can try running Ollama with `export HSA_OVERRIDE_GFX_VERSION=9.0.0` by following [this guide](https://github.com/ollama/ollama/blob/main/docs/faq.md#setting-environment-variables-on-linux) to set an environment variable. Otherwise Ollama 0.1.29 should use your CPU. Let me know if this helps!
Author
Owner

@James4Ever0 commented on GitHub (Mar 11, 2024):

Please consider reopen this issue. I know how to use CPU only and how to trick ollama to use GPU. But when using GPU it will get stuck.

I think it is some problem originated at llama.cpp.

<!-- gh-comment-id:1987685302 --> @James4Ever0 commented on GitHub (Mar 11, 2024): Please consider reopen this issue. I know how to use CPU only and how to trick ollama to use GPU. But when using GPU it will get stuck. I think it is some problem originated at [`llama.cpp`](https://github.com/ggerganov/llama.cpp/issues/6110).
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/ollama#1867