1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- //go:build darwin
- package gpu
- import "C"
- import (
- "runtime"
- "github.com/jmorganca/ollama/api"
- )
- // CheckVRAM returns the free VRAM in bytes on Linux machines with NVIDIA GPUs
- func CheckVRAM() (int64, error) {
- // TODO - assume metal, and return free memory?
- return 0, nil
- }
- func GetGPUInfo() GpuInfo {
- // TODO - Metal vs. x86 macs...
- mem, _ := getCPUMem()
- return GpuInfo{
- Library: "default",
- memInfo: mem,
- }
- }
- func getCPUMem() (memInfo, error) {
- return memInfo{
- TotalMemory: 0,
- FreeMemory: 0,
- }, nil
- }
- func NumGPU(numLayer, fileSizeBytes int64, opts api.Options) int {
- if opts.NumGPU != -1 {
- return opts.NumGPU
- }
- // metal only supported on arm64
- if runtime.GOARCH == "arm64" {
- return 1
- }
- return 0
- }
- func nativeInit() error {
- return nil
- }
|