clean up num_gpu calculation code (#673)
This commit is contained in:
parent
1fbf3585d6
commit
b1f7123301
|
@ -218,7 +218,6 @@ func NumGPU(numLayer, fileSizeBytes int64, opts api.Options) int {
|
||||||
if opts.NumGPU != -1 {
|
if opts.NumGPU != -1 {
|
||||||
return opts.NumGPU
|
return opts.NumGPU
|
||||||
}
|
}
|
||||||
n := 1 // default to enable metal on macOS
|
|
||||||
if runtime.GOOS == "linux" {
|
if runtime.GOOS == "linux" {
|
||||||
vramMib, err := CheckVRAM()
|
vramMib, err := CheckVRAM()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -235,10 +234,11 @@ func NumGPU(numLayer, fileSizeBytes int64, opts api.Options) int {
|
||||||
// TODO: this is a rough heuristic, better would be to calculate this based on number of layers and context size
|
// TODO: this is a rough heuristic, better would be to calculate this based on number of layers and context size
|
||||||
bytesPerLayer := fileSizeBytes / numLayer
|
bytesPerLayer := fileSizeBytes / numLayer
|
||||||
|
|
||||||
// set n to the max number of layers we can fit in VRAM
|
// max number of layers we can fit in VRAM
|
||||||
return int(totalVramBytes / bytesPerLayer)
|
layers := int(totalVramBytes / bytesPerLayer)
|
||||||
|
log.Printf("%d MiB VRAM available, loading up to %d GPU layers", vramMib, layers)
|
||||||
|
|
||||||
log.Printf("%d MiB VRAM available, loading up to %d GPU layers", vramMib, n)
|
return layers
|
||||||
}
|
}
|
||||||
// default to enable metal on macOS
|
// default to enable metal on macOS
|
||||||
return 1
|
return 1
|
||||||
|
|
Loading…
Reference in a new issue