Skip to content

[ENH] - Include hardware requirements in the conda project file #175

@Adam-D-Lewis

Description

@Adam-D-Lewis

I'm thinking what it might be like to run an app on Nebari which a batteries included Jupyterhub designed to run on Kubernetes or Slurm. In that use case, hardware requirements would need to be specified for the apps to run along with the dependencies in the conda environment. Thinking of where that might fit into the conda project file, I think hardware requirements could be handled similarly to the conda environments. An example of the requirements I might see being useful for an ML focused conda project is below.

name: extended-conda-project

hardware_profiles:
  default:
    gpu:
      memory: 4Gi
    cpu: 2000mi
    memory: 8Gi
    storage: 10Gi
  
  training:
    gpu:
      memory: 16Gi
    cpu: 4000mi
    memory: 16Gi
    storage: 10Gi
  
  inference:
    gpu:
      memory: 4Gi
    cpu: 2000mi
    memory: 8Gi

environments:
  default:
    - environment.yml
  training;
   - training-environment.yml
  validation:
    - validation-environment.yml
variables:
  FOO: bar

commands:
  # Setup command
  setup:
    cmd: python download_datasets.py
    
  # Regular commands
  train_model:
    cmd: python train.py
    environment: default
    hardware_profile: training
  
  inference:
    cmd: python inference.py
    environment: default
    hardware_profile: inference

Would conda-project consider supporting hardware requirements or is that out of scope?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions