Skip to content

Commit c09c3dc

Browse files
initial commit
0 parents  commit c09c3dc

File tree

193 files changed

+27395
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

193 files changed

+27395
-0
lines changed

.devcontainer/devcontainer.json

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
{
2+
"name": "BioNeMo2 Development Container",
3+
"runArgs": [
4+
"--gpus=all",
5+
"--shm-size=4g"
6+
],
7+
"build": {
8+
"context": "${localWorkspaceFolder}",
9+
"dockerfile": "${localWorkspaceFolder}/Dockerfile",
10+
"target": "dev"
11+
},
12+
"mounts": [
13+
// Mount the local ~/.aws config to pass along AWS credentials for PBSS.
14+
"source=${localEnv:HOME}/.aws,target=/home/ubuntu/.aws,type=bind,consistency=cached",
15+
"source=${localEnv:HOME}/.ngc,target=/home/ubuntu/.ngc,type=bind,consistency=cached",
16+
"source=${localEnv:HOME}/.cache,target=/home/ubuntu/.cache,type=bind,consistency=cached",
17+
"source=${localEnv:HOME}/.ssh,target=/home/ubuntu/.ssh,readonly,type=bind,consistency=cached",
18+
"source=${localEnv:HOME}/.netrc,target=/home/ubuntu/.netrc,readonly,type=bind,consistency=cached",
19+
"source=/data,target=/home/ubuntu/data,type=bind,consistency=cached",
20+
// Mount bash history file for persistence. Created if it doesn't exist in initializeCommand.sh
21+
"source=${localEnv:HOME}/.bash_history_devcontainer,target=/home/ubuntu/.bash_history,type=bind,consistency=cached"
22+
],
23+
"containerEnv": {
24+
"TMPDIR": "/tmp",
25+
"NUMBA_CACHE_DIR": "/tmp/"
26+
},
27+
"postCreateCommand": "./.devcontainer/postCreateCommand.sh",
28+
"initializeCommand": "./.devcontainer/initializeCommand.sh",
29+
"remoteUser": "ubuntu",
30+
"customizations": {
31+
"vscode": {
32+
"extensions": [
33+
"ms-python.python",
34+
"ms-python.vscode-pylance",
35+
"eamodio.gitlens",
36+
"streetsidesoftware.code-spell-checker",
37+
"ms-azuretools.vscode-docker",
38+
"charliermarsh.ruff",
39+
"njpwerner.autodocstring",
40+
"ms-toolsai.jupyter",
41+
"tamasfe.even-better-toml"
42+
],
43+
"settings": {
44+
"python.analysis.extraPaths": [
45+
"./sub-packages/bionemo-core/src",
46+
"./sub-packages/bionemo-maxtoki/src",
47+
"./sub-packages/bionemo-llm/src",
48+
"./sub-packages/bionemo-testing/src",
49+
"./3rdparty/Megatron-LM"
50+
],
51+
"python.defaultInterpreterPath": "/usr/bin/python",
52+
"python.testing.pytestEnabled": true,
53+
"python.testing.pytestArgs": [
54+
"sub-packages/",
55+
"scripts/"
56+
],
57+
"python.analysis.typeCheckingMode": "standard"
58+
}
59+
}
60+
}
61+
}

.devcontainer/initializeCommand.sh

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
#!/bin/bash
2+
# Create the mounted config directories if they don't already exist
3+
4+
mkdir -p ~/.aws
5+
mkdir -p ~/.ngc
6+
mkdir -p ~/.cache
7+
mkdir -p ~/.ssh
8+
[ ! -f ~/.netrc ] && touch ~/.netrc
9+
10+
# Create the ~/.bash_history_devcontainer file if it doesn't exist
11+
[ ! -f ~/.bash_history_devcontainer ] && touch ~/.bash_history_devcontainer
12+
13+
exit 0

.devcontainer/postCreateCommand.sh

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
#!/bin/bash
2+
3+
for sub in ./3rdparty/*/; do
4+
pip install --break-system-packages --no-deps --no-build-isolation --editable $sub
5+
done
6+
7+
for sub in ./sub-packages/bionemo-*/; do
8+
uv pip install --system --break-system-packages --link-mode=copy --no-deps --no-build-isolation --editable $sub
9+
done

.dockerignore

Lines changed: 204 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,204 @@
1+
# -- Docker-specific ignores --
2+
3+
# bionemo related
4+
results/
5+
hf_reference_outputs.pt
6+
results_hf_init_test
7+
predictions-biollama-generate
8+
dummy_hf_llama
9+
10+
# we copy over docs/ into the image for notebook testing, but can skip the images for space
11+
docs/docs/assets
12+
13+
# -- .gitignore settings --
14+
docs/site/
15+
16+
# Local configs
17+
.gitconfig
18+
.bash_history
19+
.vscode-server
20+
.gnupg
21+
22+
# Lightning and project output files
23+
lightning_logs
24+
25+
# Byte-compiled / optimized / DLL files
26+
__pycache__/
27+
*.py[cod]
28+
*$py.class
29+
30+
# C extensions
31+
*.so
32+
33+
# Distribution / packaging
34+
.Python
35+
build/
36+
develop-eggs/
37+
dist/
38+
downloads/
39+
eggs/
40+
.eggs/
41+
lib/
42+
lib64/
43+
parts/
44+
sdist/
45+
var/
46+
*.egg-info/
47+
.installed.cfg
48+
*.egg
49+
50+
# PyInstaller
51+
# Usually these files are written by a python script from a template
52+
# before PyInstaller builds the exe, so as to inject date/other infos into it.
53+
*.manifest
54+
*.spec
55+
56+
# Installer logs
57+
pip-log.txt
58+
pip-delete-this-directory.txt
59+
60+
# Unit test / coverage reports
61+
htmlcov/
62+
.tox/
63+
.nox/
64+
.coverage
65+
.coverage.*
66+
.cache
67+
.dotnet
68+
.local
69+
nosetests.xml
70+
coverage.xml
71+
*.cover
72+
*.py,cover
73+
.hypothesis/
74+
.pytest_cache/
75+
MNISTCustom/
76+
77+
# Python debugging
78+
.pdbhistory
79+
80+
# Translations
81+
*.mo
82+
*.pot
83+
84+
# Django stuff:
85+
*.log
86+
local_settings.py
87+
db.sqlite3
88+
89+
# Flask stuff:
90+
instance/
91+
.webassets-cache
92+
93+
# Scrapy stuff:
94+
.scrapy
95+
96+
# Sphinx documentation
97+
docs/_build/
98+
docs/_static/
99+
100+
# PyBuilder
101+
target/
102+
103+
# Jupyter Notebook
104+
.ipynb_checkpoints
105+
106+
# IPython
107+
profile_default/
108+
ipython_config.py
109+
110+
# pyenv
111+
.python-version
112+
113+
# celery beat schedule file
114+
celerybeat-schedule
115+
116+
# dotenv
117+
.env
118+
.env.*
119+
.ssh
120+
.ssh/*
121+
.triton
122+
.triton/*
123+
124+
# virtualenv
125+
venv/
126+
ENV/
127+
env/
128+
.env/
129+
.venv/
130+
.ENV/
131+
.envrc
132+
python_env/
133+
venv.bak/
134+
venv.bak2/
135+
136+
# Spyder project settings
137+
.spyderproject
138+
.spyproject
139+
140+
# Rope project settings
141+
.ropeproject
142+
143+
# mkdocs documentation
144+
/site
145+
146+
# mypy
147+
.mypy_cache/
148+
.dmypy.json
149+
dmypy.json
150+
151+
# Pyre type checker
152+
.pyre/
153+
154+
# PyCharm
155+
.idea/
156+
*.iml
157+
*.ipr
158+
*.iws
159+
160+
# Temporary files
161+
*.swp
162+
*.swo
163+
*~
164+
*#
165+
.viminfo
166+
.lesshst
167+
168+
# macOS
169+
.DS_Store
170+
171+
# Build system
172+
.pytest_cache/
173+
__pycache__/
174+
*.pyc
175+
176+
# Ignore local directories
177+
local/
178+
179+
# Logs
180+
*.log
181+
182+
# Tests
183+
tests/__pycache__/
184+
185+
# Generated files
186+
*.egg-info/
187+
.eggs/
188+
189+
# Build files
190+
build/
191+
dist/
192+
193+
# Coverage reports
194+
.coverage
195+
coverage.xml
196+
197+
# Jupyter Notebook
198+
.ipynb_checkpoints
199+
200+
# System files
201+
.DS_Store
202+
Thumbs.db
203+
204+
.python_history

0 commit comments

Comments
 (0)