tensorchord / envd

🏕️ Reproducible development environment
https://envd.tensorchord.ai/
Apache License 2.0
1.95k stars 156 forks source link

feat: envd up with --gpu-set #1861

Closed arugal closed 6 months ago

arugal commented 6 months ago

Command help

[user@localhost test]$ envd up -h
NAME:
   envd up - Build and run the envd environment

USAGE:
   envd up [command options] [arguments...]

CATEGORY:
   Basic Commands

OPTIONS:
   --tag value, -t value                                                     Name and optionally a tag in the 'name:tag' format (default: PROJECT:dev)
   --name value                                                              environment name
   --path value, -p value                                                    Path to the directory containing the build.envd (default: ".")
   --volume value, -v value [ --volume value, -v value ]                     Mount host directory into container
   --from file:func, -f file:func                                            Function to execute, format file:func (default: "build.envd:build")
   --use-proxy, --proxy                                                      Use HTTPS_PROXY/HTTP_PROXY/NO_PROXY in the build process (default: false)
   --timeout value                                                           Timeout of container creation (default: 30s)
   --shm-size value                                                          Configure the shared memory size (megabyte) (default: 2048)
   --cpus value                                                              Request CPU resources (number of cores), such as 0.5, 1, 2
   --cpu-set 0-3                                                             Limit the specific CPUs or cores the environment can use, such as 0-3, `1,3`
   --memory value                                                            Request Memory, such as 512Mb, 2Gb
   --detach                                                                  Detach from the container (default: false)
   --no-gpu                                                                  Launch the CPU container even if it's a GPU image (default: false)
   --gpus config.gpu()                                                       Number of GPUs used in this environment, this will override the config.gpu() (default: 0)
   --gpu-set all                                                             GPU devices used in this environment, such as all, `'"device=1,3"'`, `count=2`(all to pass all GPUs). This will override the `--gpus`
   --force                                                                   Force rebuild and run the container although the previous container is running (default: false)
   --host value                                                              Assign the host address for the environment SSH access server listening (default: "127.0.0.1")
   --export-cache type=registry,ref=<image>, --ec type=registry,ref=<image>  Export the cache (e.g. type=registry,ref=<image>)
   --import-cache type=registry,ref=<image>, --ic type=registry,ref=<image>  Import the cache (e.g. type=registry,ref=<image>)
   --platform value                                                          Specify the target platform for the build output, (for example, windows/amd64, linux/amd64, or darwin/arm64) (default: linux/amd64)
   --help, -h                                                                show help

Use example

  1. envd up --gpu-set all

    image image
  2. envd up --gpu-set '"device=1,3"'

    image image
  3. envd up --gpu-set count=2

    image image
  4. envd up --gpu-set '"device=2,3"' --gpus 1

    image image
  5. envd up --gpts 4

    image image

Issues

Closes: #1810

kemingy commented 6 months ago

@all-contributors Please add @arugal for the code.

allcontributors[bot] commented 6 months ago

@kemingy

I've put up a pull request to add @arugal! :tada: