1234567891011121314151617181920212223 |
- package llama
- // extern const char *ggml_metallib_start;
- // extern const char *ggml_metallib_end;
- import "C"
- import (
- _ "embed"
- "strings"
- "unsafe"
- )
- //go:embed ggml-common.h
- var ggmlCommon string
- //go:embed ggml-metal.metal
- var ggmlMetal string
- func init() {
- metal := strings.ReplaceAll(ggmlMetal, `#include "ggml-common.h"`, ggmlCommon)
- cMetal := C.CString(metal)
- C.ggml_metallib_start = cMetal
- C.ggml_metallib_end = (*C.char)(unsafe.Pointer(uintptr(unsafe.Pointer(cMetal)) + uintptr(len(metal))))
- }
|