Impose a GPU memory limit on any process.
Utility was originally designed to provide a workaround for absence of GPU memory limit in nvidia-docker
but works for any
process on Linux.
GML runs any command and monitors its GPU memory usage. If the limit is exceded GML sends a signal (default: SIGKILL) to the process and waits until it returns.
Pre-compiled binary is available for Linux / x86_64. Install it with following commands:
curl -L -o gml https://github.com/tna0y/gml/releases/download/v0.1/gml-linux-x86_64
chmod +x gml && sudo cp gml /usr/local/bin/gml
Usage: gml [--limit LIMIT] [--signal SIGNUM] -- COMMAND
--help show help message
-l, --limit string total GPU memory limit for the command (default "1MB")
-s, --signal string signal that will be sent to the process if the memory exceeds the limit (default "SIGKILL")
gml --limit 1GB --signal SIGINT -- ./my-gpu-app arg1 arg2