Skip to content

Allocate host memory based on available rather than total memory #998

@manopapad

Description

@manopapad

4446421 fixes this issue for device memory, as reported in nv-legate/cupynumeric#1160. This ticket is the same ask, but for host memory -- consider the current available host memory, rather than total host memory, when allocating memory pools at startup.

This should cover --sysmem and --numamem. For the latter we would need an API that can return memory occupancy per NUMA domain.

Consider this example from a user:

> free
              total        used        free      shared  buff/cache   available
Mem:       48379032    16648508     4545964      167504    27184560    29162624
Swap:       8388604     1266240     7122364

> legate --cpus=1 --gpus=0 --show-config ./cupynumeric_test1.py
Legate hardware configuration: --cpus=1 --gpus=0 --omps=0 --ompthreads=0 --utility=2 --sysmem=39631978496 --numamem=0 --fbmem=0 --zcmem=134217728 --regmem=0
...
[0 - 7f2bf6368740]    0.000000 {6}{malloc}: insufficient system memory: 39631978496 bytes needed (from -ll:csize)

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No fields configured for Bug.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions