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
0e79e52d
Commit
0e79e52d
authored
Aug 02, 2023
by
Michael Yang
Browse files
override ggml-metal if the file is different
parent
6fbb3800
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
35 additions
and
8 deletions
+35
-8
llama/llama_darwin.go
llama/llama_darwin.go
+35
-8
No files found.
llama/llama_darwin.go
View file @
0e79e52d
package
llama
import
(
"bytes"
"crypto/sha256"
"errors"
"io"
"log"
...
...
@@ -27,26 +29,51 @@ func initBackend() error {
}
metal
:=
filepath
.
Join
(
filepath
.
Dir
(
exec
),
"ggml-metal.metal"
)
if
_
,
err
:=
os
.
Stat
(
metal
);
err
!=
nil
{
if
!
errors
.
Is
(
err
,
os
.
ErrNotExist
)
{
fi
,
err
:=
os
.
Stat
(
metal
)
if
err
!=
nil
&&
!
errors
.
Is
(
err
,
os
.
ErrNotExist
)
{
return
err
}
if
fi
!=
nil
{
actual
,
err
:=
os
.
Open
(
metal
)
if
err
!=
nil
{
return
err
}
dst
,
err
:=
os
.
Create
(
filepath
.
Join
(
filepath
.
Dir
(
exec
),
"ggml-metal.metal"
)
)
if
err
!=
nil
{
actualSum
:=
sha256
.
New
(
)
if
_
,
err
:=
io
.
Copy
(
actualSum
,
actual
);
err
!=
nil
{
return
err
}
defer
dst
.
Close
()
src
,
err
:=
fs
.
Open
(
"ggml-metal.metal"
)
expect
,
err
:=
fs
.
Open
(
"ggml-metal.metal"
)
if
err
!=
nil
{
return
err
}
defer
src
.
Close
()
if
_
,
err
:=
io
.
Copy
(
dst
,
src
);
err
!=
nil
{
expectSum
:=
sha256
.
New
()
if
_
,
err
:=
io
.
Copy
(
expectSum
,
expect
);
err
!=
nil
{
return
err
}
if
bytes
.
Equal
(
actualSum
.
Sum
(
nil
),
expectSum
.
Sum
(
nil
))
{
return
nil
}
}
dst
,
err
:=
os
.
Create
(
filepath
.
Join
(
filepath
.
Dir
(
exec
),
"ggml-metal.metal"
))
if
err
!=
nil
{
return
err
}
defer
dst
.
Close
()
src
,
err
:=
fs
.
Open
(
"ggml-metal.metal"
)
if
err
!=
nil
{
return
err
}
defer
src
.
Close
()
if
_
,
err
:=
io
.
Copy
(
dst
,
src
);
err
!=
nil
{
return
err
}
return
nil
...
...
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