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
364629b8
Unverified
Commit
364629b8
authored
Mar 17, 2025
by
Jeffrey Morgan
Committed by
GitHub
Mar 17, 2025
Browse files
ml/backend/ggml: allocate memory with malloc when loading model (#9822)
parent
108fe021
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
9 additions
and
7 deletions
+9
-7
ml/backend/ggml/ggml.go
ml/backend/ggml/ggml.go
+9
-7
No files found.
ml/backend/ggml/ggml.go
View file @
364629b8
...
@@ -312,17 +312,19 @@ func New(r *os.File, params ml.BackendParams) (ml.Backend, error) {
...
@@ -312,17 +312,19 @@ func New(r *os.File, params ml.BackendParams) (ml.Backend, error) {
return
fmt
.
Errorf
(
"unassigned tensor: %s"
,
t
.
Name
)
return
fmt
.
Errorf
(
"unassigned tensor: %s"
,
t
.
Name
)
}
}
bts
:=
make
([]
byte
,
t
.
Size
())
bts
:=
C
.
malloc
(
C
.
size_t
(
t
.
Size
()))
n
,
err
:=
io
.
ReadFull
(
io
.
NewSectionReader
(
sr
,
int64
(
t
.
Offset
),
int64
(
t
.
Size
())),
bts
)
if
bts
==
nil
{
if
err
!=
nil
{
return
errors
.
New
(
"failed to allocate tensor buffer"
)
return
err
}
}
defer
C
.
free
(
bts
)
if
n
!=
len
(
bts
)
{
buf
:=
unsafe
.
Slice
((
*
byte
)(
bts
),
t
.
Size
())
return
errors
.
New
(
"short read"
)
n
,
err
:=
io
.
ReadFull
(
io
.
NewSectionReader
(
sr
,
int64
(
t
.
Offset
),
int64
(
t
.
Size
())),
buf
)
if
err
!=
nil
||
n
!=
len
(
buf
)
{
return
errors
.
New
(
"read failed"
)
}
}
C
.
ggml_backend_tensor_set
(
tt
,
unsafe
.
Pointer
(
&
bts
[
0
])
,
0
,
C
.
size_t
(
t
.
Size
()))
C
.
ggml_backend_tensor_set
(
tt
,
bts
,
0
,
C
.
size_t
(
t
.
Size
()))
return
nil
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