Releases: run-ai/genv
Releases · run-ai/genv
v0.10.0
Added
- Using global lock around critical sections instead of locking per module
- Enriched core entities with more fields
- Python package does not run executables in subprocesses anymore
- Supporting cleaning up entities in place with
.cleanup()
- Bug fix in serialization of
Report
objects
Changed
- Major restructure in project directory
- Renamed
Snapshot
entities - Renamed
genv.env
togenv.sdk
Removed
- Removed methods from
genv.envs
andgenv.devices
v0.9.0
Added
- Over-subscribe devices with new flag
-o --over-subscribe
togenv attach
- New Python SDK at
genv.env
- Control access to over-subscribed devices with
genv lock
andgenv.env.lock_devices()
- Added fields and actions to
genv.devices.Device
andgenv.devices.Snapshot
Changed
- Renamed previous command
genv-devices query
togenv-devices find
- Using
genv.devices.Snapshot
instead of plain JSON ingenv-devices
anddevices.json
(backwards compatible)
Removed
- Removed environment variable
GENV_ALLOW_DEVICE_OVER_ALLOCATION
v0.8.0
Added
- Introduced Genv container toolkit:
genv-docker
and the Genv container runtime - Flags
--count
and--index
are optional ingenv-devices attach
; if none passed,genv-devices attach
uses the configured device count if set - Added
genv.devices.attach()
- Added
genv.envs.gpus()
- Added
genv.envs.activate()
- Added
genv.envs.configure()
Changed
nvidia-smi
shim prints warning message when missing information about processesnvidia-smi
shim supports the case when environment variableCUDA_VISIBLE_DEVICES
is not setnvidia-smi
shim fails if no othernvidia-smi
executable found
v0.7.0
Added
- Added monitoring features with Prometheus and Grafana using
genv monitor
andgenv remote monitor
v0.6.0
Added
- Added enforcement rule
env-devices
- Added enforcement rule
env-memory
- Added command
genv remote query
- Added flag
-t --timeout
togenv remote
to set SSH connection timeout - Added flag
-e --exit-on-error
togenv remote
to exit on SSH connection issues - Added flag
-q --quiet
togenv remote
to ignore SSH connection issues - Added flag
--no-prompt
togenv remote activate
to not change shell prompt - Ignoring commented lines in hostfile used in
genv remote
- Added query
uid
togenv-envs query
- Set up Google Analytics for documentation site
Changed
genv remote
does not exit on SSH connection issues by default- Refactor entities and snapshots in
genv
Python package - Refactor remote capabilities in
genv.remote
Python subpackage - Combined enforcement rules code under
genv.enforce.rules
- Improved development setup and in particular
nvidia-smi
development shim and CPU-only setup for remote features
v0.5.0
Added
- Introduced local and remote enforcement features with two enforcement rules: non environment processes and max devices per user
- Added
genv-usage
executable for taking snapshots and executing enforcement reports - Supporting querying environment usernames
- Added flag
--quiet
togenv-devices detach
- Created
devel
directory andnvidia-smi
mock shim - Added environment variable
GENV_TERMINATE_PROCESSES
to allow not terminating processes - Added environment variable
GENV_MOCK_NVIDIA_SMI_PIDS
to set process identifiers in thenvidia-smi
mock shim
Changed
- Created Python package
genv
- Major refactor to Python code by adding logic layers (e.g.
genv.envs
) and entities (e.g.genv.envs.Env
) - Supporting encoding and decoding entities as JSON
- Supporting sending standard input to SSH commands
- Supporting running SSH commands with
sudo
v0.4.0
Added
- Listing active environments on remote hosts with
genv remote envs
- Showing device information on remote hosts with
genv remote devices
- Activating an environment on a remote host with
genv remote activate
Changed
- Formatting Python code with black
- Linting Python code with flake8
v0.3.0
Added
- Configuring environment GPU memory capacity
- GPU memory aware device provisioning
- Supporting device over allocation with multiple environments
- Documentation site
Changed
docker
shim injects environment variableGENV_ENVIRONMENT_ID
to containers- Renamed environment variable
GENV_DEVICES
toGENV_MOCK_DEVICE_COUNT
Fixed
nvidia-smi
shim supports environment variables with=
docker
shim supports the case when argument--gpus
is not passednvidia-smi
shim does not pass argument--id
in bypass mode
v0.2.0
Features
nvidia-smi
shim shows only information relevant to the environment (i.e. device memory, processes)- Added
docker
shim to expose containers to devices attached to the environment
v0.1.0
Added 'find' command to 'genv envs'