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

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions