Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: add .devcontainer to standardize development environment setup #731

Open
wants to merge 3 commits into
base: main
Choose a base branch
from

Conversation

mattmazzola
Copy link
Contributor

@mattmazzola mattmazzola commented Jun 9, 2023

⚠️ This PR likely won't work directly but I wanted to share code from our fork that may be modified to integrate ⚠️

Issue

(This may not be 100% accurate, but was my understanding. @tupini07 Please add comments to clarify if the description below is incorrect)

Setting up the development environment for Metaseq is non-trivial. Requiring:

  • Installation of Apex, Megatron, and FairScale
  • Hardware that supports CUDA with drivers installed

For development and execution there is additional process of

Making this process easier improves environment stability for current devs and reduces barrier to entry for new contributors.

Solution

Use VSCode .devcontainer specification to standardize the steps above!

  • Automates manual "attaching to (metaseq) container" by using metaseq image as base of .devcontainer
  • Setting of non-secret environment variables
  • Mounts appropriate drives
  • Executes python installation

Testing steps

Did not test. Although these changes should not affect operation. Using .devcontainer is entirely opt-in

Related to #726

@@ -0,0 +1,44 @@
FROM metaseqopt.azurecr.io/metaseq-opt-singularity:latest
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You would likely have to change the base image.
I think this image is public, but there aren't guarantees about preserving it.
Also has some other code for private cluster that you would not need and adds extra complexity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants