diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 3621d3542..358be944f 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -11,7 +11,7 @@ jobs: steps: - uses: actions/setup-python@v2 with: - python-version: 3.11 + python-version: 3.10 - uses: actions/checkout@master with: diff --git a/.github/workflows/tests_integration.yml b/.github/workflows/tests_integration.yml index 6ed7d42b8..40823fc10 100644 --- a/.github/workflows/tests_integration.yml +++ b/.github/workflows/tests_integration.yml @@ -47,7 +47,7 @@ jobs: steps: - uses: actions/setup-python@v4 with: - python-version: '3.11' + python-version: '3.10' - name: Check out repository code uses: actions/checkout@v3 diff --git a/.github/workflows/tests_run.yml b/.github/workflows/tests_run.yml index cd98468a7..dd38175eb 100644 --- a/.github/workflows/tests_run.yml +++ b/.github/workflows/tests_run.yml @@ -55,7 +55,7 @@ jobs: - uses: conda-incubator/setup-miniconda@v2 with: auto-activate-base: false - python-version: 3.11 + python-version: "3.10" miniconda-version: "latest" activate-environment: test diff --git a/.github/workflows/tests_unit.yml b/.github/workflows/tests_unit.yml index 59a92afaa..e4edde45c 100644 --- a/.github/workflows/tests_unit.yml +++ b/.github/workflows/tests_unit.yml @@ -31,13 +31,13 @@ jobs: - uses: actions/setup-python@v5 with: - python-version: '3.11' + python-version: '3.10' - name: dependencies run: | pip install -U pip pip install poetry - poetry env use python3.11 + poetry env use python3.10 source $(poetry env info -p)/bin/activate # # poetry doesnot work when installing those !? diff --git a/.gitignore b/.gitignore index f4ccd7a37..284d84773 100644 --- a/.gitignore +++ b/.gitignore @@ -52,3 +52,6 @@ base/ benchmarks/simple benchmarks/voir +benchmarks/*/base/ +benchmarks/lightning/lightning_logs/ + diff --git a/.pin/constraints-cuda-torch.txt b/.pin/constraints-cuda-torch.txt index a0c58eaae..4527b5fb9 100644 --- a/.pin/constraints-cuda-torch.txt +++ b/.pin/constraints-cuda-torch.txt @@ -1,8 +1,8 @@ # -# This file is autogenerated by pip-compile with Python 3.11 +# This file is autogenerated by pip-compile with Python 3.10 # by the following command: # -# pip-compile --output-file=.pin/constraints-cuda-torch.txt .pin/tmp-constraints.txt benchmarks/accelerate_opt/requirements.in benchmarks/brax/requirements.in benchmarks/dlrm/requirements.in benchmarks/flops/requirements.in benchmarks/huggingface/requirements.in benchmarks/llama/requirements.in benchmarks/stargan/requirements.in benchmarks/super-slomo/requirements.in benchmarks/timm/requirements.in benchmarks/torchvision/requirements.in benchmarks/torchvision_ddp/requirements.in +# pip-compile --output-file=.pin/constraints-cuda-torch.txt .pin/tmp-constraints.txt benchmarks/accelerate_opt/requirements.in benchmarks/brax/requirements.in benchmarks/diffusion/requirements.in benchmarks/dlrm/requirements.in benchmarks/flops/requirements.in benchmarks/huggingface/requirements.in benchmarks/lightning/requirements.in benchmarks/llama/requirements.in benchmarks/stargan/requirements.in benchmarks/super-slomo/requirements.in benchmarks/timm/requirements.in benchmarks/torchvision/requirements.in benchmarks/torchvision_ddp/requirements.in # --extra-index-url https://pypi.ngc.nvidia.com --extra-index-url https://download.pytorch.org/whl/cu121 @@ -20,8 +20,11 @@ absl-py==2.1.0 # optax # orbax-checkpoint # tensorboard -accelerate==0.31.0 - # via -r benchmarks/accelerate_opt/requirements.in +accelerate==0.32.1 + # via + # -r benchmarks/accelerate_opt/requirements.in + # -r benchmarks/diffusion/requirements.in + # diffusers aiohttp==3.9.5 # via # datasets @@ -32,15 +35,21 @@ annotated-types==0.7.0 # via pydantic antlr4-python3-runtime==4.9.3 # via omegaconf +argklass==1.4.4 + # via -r benchmarks/diffusion/requirements.in asttokens==2.4.1 # via giving +async-timeout==4.0.3 + # via aiohttp attrs==23.2.0 # via aiohttp +beautifulsoup4==4.12.3 + # via gdown blinker==1.8.2 # via flask brax==0.10.5 # via -r benchmarks/brax/requirements.in -certifi==2024.6.2 +certifi==2024.7.4 # via requests charset-normalizer==3.3.2 # via requests @@ -54,14 +63,17 @@ codefind==0.1.6 # via ptera contextlib2==21.6.0 # via ml-collections -datasets==2.14.7 +datasets==2.20.0 # via # -r benchmarks/accelerate_opt/requirements.in + # -r benchmarks/diffusion/requirements.in # -r benchmarks/llama/requirements.in # evaluate -deepspeed==0.14.2 +deepspeed==0.14.4 # via -r benchmarks/accelerate_opt/requirements.in -dill==0.3.7 +diffusers[torch]==0.29.2 + # via -r benchmarks/diffusion/requirements.in +dill==0.3.8 # via # datasets # evaluate @@ -74,11 +86,12 @@ docker==7.1.0 # via torchx docstring-parser==0.16 # via torchx -etils[epath,epy]==1.9.1 +etils[epath,epy]==1.7.0 # via # brax # mujoco # mujoco-mjx + # optax # orbax-checkpoint evaluate==0.4.2 # via -r benchmarks/accelerate_opt/requirements.in @@ -88,8 +101,11 @@ fairscale==0.4.13 # via -r benchmarks/llama/requirements.in fbgemm-gpu==0.7.0+cu121 # via torchrec -filelock==3.14.0 +filelock==3.15.4 # via + # datasets + # diffusers + # gdown # huggingface-hub # torch # torchx @@ -103,22 +119,26 @@ flask==3.0.3 # flask-cors flask-cors==4.0.1 # via brax -flax==0.8.4 +flax==0.8.5 # via brax frozenlist==1.4.1 # via # aiohttp # aiosignal -fsspec[http]==2023.1.0 +fsspec[http]==2024.5.0 # via # datasets # etils # evaluate # huggingface-hub + # lightning + # pytorch-lightning # torch # torchx future==1.0.0 # via -r benchmarks/dlrm/requirements.in +gdown==5.2.0 + # via -r benchmarks/stargan/requirements.in giving==0.4.2 # via # ptera @@ -127,7 +147,7 @@ glfw==2.7.0 # via mujoco graphviz==0.20.3 # via torchviz -grpcio==1.64.1 +grpcio==1.65.1 # via # brax # tensorboard @@ -136,12 +156,15 @@ gym==0.26.2 gym-notices==0.0.8 # via gym hjson==3.1.0 - # via deepspeed -huggingface-hub==0.17.3 + # via + # argklass + # deepspeed +huggingface-hub==0.24.0 # via # -r benchmarks/timm/requirements.in # accelerate # datasets + # diffusers # evaluate # tokenizers # transformers @@ -149,10 +172,13 @@ idna==3.7 # via # requests # yarl -importlib-metadata==7.1.0 - # via torchx +importlib-metadata==8.0.0 + # via + # diffusers + # torchx importlib-resources==6.4.0 # via + # argklass # etils # torchcompat itsdangerous==2.2.0 @@ -189,8 +215,13 @@ jinja2==3.1.4 # torch joblib==1.4.2 # via scikit-learn -lightning-utilities==0.11.2 - # via torchmetrics +lightning==2.3.3 + # via -r benchmarks/lightning/requirements.in +lightning-utilities==0.11.5 + # via + # lightning + # pytorch-lightning + # torchmetrics markdown==3.6 # via tensorboard markdown-it-py==3.0.0 @@ -214,17 +245,17 @@ msgpack==1.0.8 # via # flax # orbax-checkpoint -mujoco==3.1.6 +mujoco==3.2.0 # via # brax # mujoco-mjx -mujoco-mjx==3.1.6 +mujoco-mjx==3.2.0 # via brax multidict==6.0.5 # via # aiohttp # yarl -multiprocess==0.70.15 +multiprocess==0.70.16 # via # datasets # evaluate @@ -246,6 +277,7 @@ numpy==1.26.4 # chex # datasets # deepspeed + # diffusers # dm-env # evaluate # fairscale @@ -255,6 +287,7 @@ numpy==1.26.4 # jax # jaxlib # jaxopt + # lightning # ml-dtypes # mujoco # onnx @@ -264,6 +297,7 @@ numpy==1.26.4 # orbax-checkpoint # pandas # pyarrow + # pytorch-lightning # scikit-learn # scipy # tensorboard @@ -283,7 +317,7 @@ nvidia-cuda-cupti-cu12==12.1.105 # via # jax # torch -nvidia-cuda-nvcc-cu12==12.5.40 +nvidia-cuda-nvcc-cu12==12.5.82 # via jax nvidia-cuda-nvrtc-cu12==12.1.105 # via torch @@ -310,11 +344,13 @@ nvidia-cusparse-cu12==12.1.0.106 # jax # nvidia-cusolver-cu12 # torch +nvidia-ml-py==12.555.43 + # via deepspeed nvidia-nccl-cu12==2.20.5 # via # jax # torch -nvidia-nvjitlink-cu12==12.5.40 +nvidia-nvjitlink-cu12==12.5.82 # via # jax # nvidia-cusolver-cu12 @@ -325,15 +361,15 @@ omegaconf==2.3.0 # via voir onnx==1.16.1 # via -r benchmarks/dlrm/requirements.in -opencv-python==4.10.0.82 +opencv-python==4.10.0.84 # via -r benchmarks/super-slomo/requirements.in opt-einsum==3.3.0 # via jax -optax==0.2.2 +optax==0.2.3 # via # brax # flax -orbax-checkpoint==0.5.15 +orbax-checkpoint==0.5.22 # via # brax # flax @@ -346,7 +382,9 @@ packaging==24.1 # deepspeed # evaluate # huggingface-hub + # lightning # lightning-utilities + # pytorch-lightning # tensorboardx # torchmetrics # transformers @@ -354,9 +392,10 @@ pandas==2.2.2 # via # datasets # evaluate -pillow==10.3.0 +pillow==10.4.0 # via # brax + # diffusers # torchvision protobuf==4.25.3 # via @@ -373,32 +412,34 @@ ptera==1.4.1 # via voir py-cpuinfo==9.0.0 # via deepspeed -pyarrow==16.1.0 +pyarrow==17.0.0 # via datasets pyarrow-hotfix==0.6 # via datasets -pydantic==2.7.3 +pydantic==2.8.2 # via deepspeed -pydantic-core==2.18.4 +pydantic-core==2.20.1 # via pydantic -pydot==2.0.0 +pydot==3.0.1 # via -r benchmarks/dlrm/requirements.in pygments==2.18.0 # via rich -pynvml==11.5.0 - # via - # deepspeed - # voir +pynvml==11.5.3 + # via voir pyopengl==3.1.7 # via mujoco pyparsing==3.1.2 # via pydot pyre-extensions==0.0.30 # via torchx +pysocks==1.7.1 + # via requests python-dateutil==2.9.0.post0 # via pandas pytinyrenderer==0.0.14 # via brax +pytorch-lightning==2.3.3 + # via lightning pytz==2024.1 # via pandas pyyaml==6.0.1 @@ -408,21 +449,26 @@ pyyaml==6.0.1 # datasets # flax # huggingface-hub + # lightning # ml-collections # omegaconf # orbax-checkpoint + # pytorch-lightning # torchx # transformers reactivex==4.0.4 # via giving regex==2024.5.15 - # via transformers -requests==2.32.3 + # via + # diffusers + # transformers +requests[socks]==2.32.3 # via # datasets + # diffusers # docker # evaluate - # fsspec + # gdown # huggingface-hub # transformers rich==13.7.1 @@ -434,10 +480,11 @@ safetensors==0.4.3 # via # -r benchmarks/timm/requirements.in # accelerate + # diffusers # transformers -scikit-learn==1.5.0 +scikit-learn==1.5.1 # via -r benchmarks/dlrm/requirements.in -scipy==1.13.1 +scipy==1.14.0 # via # brax # jax @@ -454,7 +501,9 @@ six==1.16.0 # ml-collections # python-dateutil # tensorboard -sympy==1.12.1 +soupsieve==2.5 + # via beautifulsoup4 +sympy==1.13.1 # via torch tabulate==0.9.0 # via torchx @@ -464,7 +513,7 @@ tensorboard-data-server==0.7.2 # via tensorboard tensorboardx==2.6.2.2 # via brax -tensorstore==0.1.61 +tensorstore==0.1.63 # via # flax # orbax-checkpoint @@ -472,7 +521,7 @@ termcolor==2.4.0 # via fire threadpoolctl==3.5.0 # via scikit-learn -tokenizers==0.15.2 +tokenizers==0.19.1 # via transformers toolz==0.12.1 # via chex @@ -483,6 +532,7 @@ torch==2.3.1+cu121 # -r benchmarks/dlrm/requirements.in # -r benchmarks/flops/requirements.in # -r benchmarks/huggingface/requirements.in + # -r benchmarks/lightning/requirements.in # -r benchmarks/llama/requirements.in # -r benchmarks/stargan/requirements.in # -r benchmarks/super-slomo/requirements.in @@ -491,28 +541,36 @@ torch==2.3.1+cu121 # -r benchmarks/torchvision_ddp/requirements.in # accelerate # deepspeed + # diffusers # fairscale + # lightning + # pytorch-lightning # torchaudio - # torchcompat # torchmetrics # torchvision # torchviz torchaudio==2.3.1+cu121 # via -r benchmarks/accelerate_opt/requirements.in -torchcompat==1.0.2 +torchcompat==1.1.4 # via # -c .pin/../constraints/cuda.txt # -r benchmarks/flops/requirements.in + # -r benchmarks/lightning/requirements.in # -r benchmarks/torchvision/requirements.in # -r benchmarks/torchvision_ddp/requirements.in torchmetrics==1.0.3 - # via torchrec + # via + # lightning + # pytorch-lightning + # torchrec torchrec==0.7.0+cu121 # via -r benchmarks/dlrm/requirements.in torchvision==0.18.1+cu121 # via # -r benchmarks/accelerate_opt/requirements.in + # -r benchmarks/diffusion/requirements.in # -r benchmarks/flops/requirements.in + # -r benchmarks/lightning/requirements.in # -r benchmarks/stargan/requirements.in # -r benchmarks/super-slomo/requirements.in # -r benchmarks/timm/requirements.in @@ -520,10 +578,11 @@ torchvision==0.18.1+cu121 # -r benchmarks/torchvision_ddp/requirements.in torchviz==0.0.2 # via -r benchmarks/dlrm/requirements.in -torchx==0.6.0 +torchx==0.7.0 # via -r benchmarks/dlrm/requirements.in tqdm==4.66.4 # via + # -r benchmarks/diffusion/requirements.in # -r benchmarks/dlrm/requirements.in # -r benchmarks/flops/requirements.in # -r benchmarks/super-slomo/requirements.in @@ -532,15 +591,19 @@ tqdm==4.66.4 # datasets # deepspeed # evaluate + # gdown # huggingface-hub + # lightning + # pytorch-lightning # torchrec # transformers -transformers==4.35.2 +transformers==4.42.4 # via # -r benchmarks/accelerate_opt/requirements.in + # -r benchmarks/diffusion/requirements.in # -r benchmarks/huggingface/requirements.in # -r benchmarks/llama/requirements.in -trimesh==4.4.1 +trimesh==4.4.3 # via # brax # mujoco-mjx @@ -553,11 +616,13 @@ typing-extensions==4.12.2 # etils # flax # huggingface-hub + # lightning # lightning-utilities # orbax-checkpoint # pydantic # pydantic-core # pyre-extensions + # pytorch-lightning # reactivex # torch # typing-inspect @@ -565,7 +630,7 @@ typing-inspect==0.9.0 # via pyre-extensions tzdata==2024.1 # via pandas -urllib3==1.26.18 +urllib3==1.26.19 # via # docker # requests @@ -577,9 +642,11 @@ voir==0.2.16 # -c .pin/../constraints/cuda.txt # -r benchmarks/accelerate_opt/requirements.in # -r benchmarks/brax/requirements.in + # -r benchmarks/diffusion/requirements.in # -r benchmarks/dlrm/requirements.in # -r benchmarks/flops/requirements.in # -r benchmarks/huggingface/requirements.in + # -r benchmarks/lightning/requirements.in # -r benchmarks/llama/requirements.in # -r benchmarks/stargan/requirements.in # -r benchmarks/super-slomo/requirements.in diff --git a/.pin/constraints-hpu-torch.txt b/.pin/constraints-hpu-torch.txt index 39ee7bd61..bf7d5b5f8 100644 --- a/.pin/constraints-hpu-torch.txt +++ b/.pin/constraints-hpu-torch.txt @@ -1,5 +1,5 @@ # -# This file is autogenerated by pip-compile with Python 3.11 +# This file is autogenerated by pip-compile with Python 3.10 # by the following command: # # pip-compile --output-file=.pin/constraints-hpu-torch.txt .pin/tmp-constraints.txt benchmarks/accelerate_opt/requirements.in benchmarks/brax/requirements.in benchmarks/dlrm/requirements.in benchmarks/flops/requirements.in benchmarks/huggingface/requirements.in benchmarks/llama/requirements.in benchmarks/stargan/requirements.in benchmarks/super-slomo/requirements.in benchmarks/timm/requirements.in benchmarks/torchvision/requirements.in benchmarks/torchvision_ddp/requirements.in @@ -19,7 +19,7 @@ absl-py==2.1.0 # optax # orbax-checkpoint # tensorboard -accelerate==0.31.0 +accelerate==0.32.1 # via -r benchmarks/accelerate_opt/requirements.in aiohttp==3.9.5 # via @@ -33,8 +33,12 @@ antlr4-python3-runtime==4.9.3 # via omegaconf asttokens==2.4.1 # via giving +async-timeout==4.0.3 + # via aiohttp attrs==23.2.0 # via aiohttp +beautifulsoup4==4.12.3 + # via gdown blinker==1.8.2 # via flask brax==0.10.5 @@ -53,12 +57,12 @@ codefind==0.1.6 # via ptera contextlib2==21.6.0 # via ml-collections -datasets==2.19.2 +datasets==2.20.0 # via # -r benchmarks/accelerate_opt/requirements.in # -r benchmarks/llama/requirements.in # evaluate -deepspeed==0.14.2 +deepspeed==0.14.4 # via -r benchmarks/accelerate_opt/requirements.in dill==0.3.8 # via @@ -71,13 +75,14 @@ dm-tree==0.1.8 # via dm-env docker==7.1.0 # via torchx -docstring-parser==0.8.1 +docstring-parser==0.16 # via torchx -etils[epath,epy]==1.9.1 +etils[epath,epy]==1.7.0 # via # brax # mujoco # mujoco-mjx + # optax # orbax-checkpoint evaluate==0.4.2 # via -r benchmarks/accelerate_opt/requirements.in @@ -87,9 +92,10 @@ fairscale==0.4.13 # via -r benchmarks/llama/requirements.in fbgemm-gpu==0.7.0 # via torchrec -filelock==3.14.0 +filelock==3.15.4 # via # datasets + # gdown # huggingface-hub # torch # torchx @@ -103,13 +109,13 @@ flask==3.0.3 # flask-cors flask-cors==4.0.1 # via brax -flax==0.8.4 +flax==0.8.5 # via brax frozenlist==1.4.1 # via # aiohttp # aiosignal -fsspec[http]==2024.3.1 +fsspec[http]==2024.5.0 # via # datasets # etils @@ -119,6 +125,8 @@ fsspec[http]==2024.3.1 # torchx future==1.0.0 # via -r benchmarks/dlrm/requirements.in +gdown==5.2.0 + # via -r benchmarks/stargan/requirements.in giving==0.4.2 # via # ptera @@ -127,7 +135,7 @@ glfw==2.7.0 # via mujoco graphviz==0.20.3 # via torchviz -grpcio==1.64.1 +grpcio==1.65.1 # via # brax # tensorboard @@ -137,7 +145,7 @@ gym-notices==0.0.8 # via gym hjson==3.1.0 # via deepspeed -huggingface-hub==0.23.3 +huggingface-hub==0.24.0 # via # -r benchmarks/timm/requirements.in # accelerate @@ -149,7 +157,7 @@ idna==3.7 # via # requests # yarl -importlib-metadata==7.1.0 +importlib-metadata==8.0.0 # via torchx importlib-resources==6.4.0 # via @@ -189,7 +197,7 @@ jinja2==3.1.4 # torch joblib==1.4.2 # via scikit-learn -lightning-utilities==0.11.2 +lightning-utilities==0.11.5 # via torchmetrics markdown==3.6 # via tensorboard @@ -214,11 +222,11 @@ msgpack==1.0.8 # via # flax # orbax-checkpoint -mujoco==3.1.6 +mujoco==3.2.0 # via # brax # mujoco-mjx -mujoco-mjx==3.1.6 +mujoco-mjx==3.2.0 # via brax multidict==6.0.5 # via @@ -283,8 +291,10 @@ nvidia-cuda-cupti-cu12==12.1.105 # via # jax # torch -nvidia-cuda-nvcc-cu12==12.5.40 - # via jax +nvidia-cuda-nvcc-cu12==12.5.82 + # via + # jax + # jax-cuda12-plugin nvidia-cuda-nvrtc-cu12==12.1.105 # via torch nvidia-cuda-runtime-cu12==12.1.105 @@ -310,11 +320,13 @@ nvidia-cusparse-cu12==12.1.0.106 # jax # nvidia-cusolver-cu12 # torch +nvidia-ml-py==12.555.43 + # via deepspeed nvidia-nccl-cu12==2.20.5 # via # jax # torch -nvidia-nvjitlink-cu12==12.5.40 +nvidia-nvjitlink-cu12==12.5.82 # via # jax # nvidia-cusolver-cu12 @@ -325,15 +337,15 @@ omegaconf==2.3.0 # via voir onnx==1.16.1 # via -r benchmarks/dlrm/requirements.in -opencv-python==4.10.0.82 +opencv-python==4.10.0.84 # via -r benchmarks/super-slomo/requirements.in opt-einsum==3.3.0 # via jax -optax==0.2.2 +optax==0.2.3 # via # brax # flax -orbax-checkpoint==0.5.15 +orbax-checkpoint==0.5.21 # via # brax # flax @@ -354,7 +366,7 @@ pandas==2.2.2 # via # datasets # evaluate -pillow==10.3.0 +pillow==10.4.0 # via # brax # torchvision @@ -373,28 +385,28 @@ ptera==1.4.1 # via voir py-cpuinfo==9.0.0 # via deepspeed -pyarrow==16.1.0 +pyarrow==17.0.0 # via datasets pyarrow-hotfix==0.6 # via datasets -pydantic==2.7.3 +pydantic==2.7.4 # via deepspeed pydantic-core==2.18.4 # via pydantic -pydot==2.0.0 +pydot==3.0.1 # via -r benchmarks/dlrm/requirements.in pygments==2.18.0 # via rich -pynvml==11.5.0 - # via - # deepspeed - # voir +pynvml==11.5.3 + # via voir pyopengl==3.1.7 # via mujoco pyparsing==3.1.2 # via pydot pyre-extensions==0.0.30 # via torchx +pysocks==1.7.1 + # via requests python-dateutil==2.9.0.post0 # via pandas pytinyrenderer==0.0.14 @@ -417,11 +429,12 @@ reactivex==4.0.4 # via giving regex==2024.5.15 # via transformers -requests==2.32.3 +requests[socks]==2.32.3 # via # datasets # docker # evaluate + # gdown # huggingface-hub # transformers rich==13.7.1 @@ -434,9 +447,9 @@ safetensors==0.4.3 # -r benchmarks/timm/requirements.in # accelerate # transformers -scikit-learn==1.5.0 +scikit-learn==1.5.1 # via -r benchmarks/dlrm/requirements.in -scipy==1.13.1 +scipy==1.14.0 # via # brax # jax @@ -453,7 +466,9 @@ six==1.16.0 # ml-collections # python-dateutil # tensorboard -sympy==1.12.1 +soupsieve==2.5 + # via beautifulsoup4 +sympy==1.13.0 # via torch tabulate==0.9.0 # via torchx @@ -463,7 +478,7 @@ tensorboard-data-server==0.7.2 # via tensorboard tensorboardx==2.6.2.2 # via brax -tensorstore==0.1.61 +tensorstore==0.1.63 # via # flax # orbax-checkpoint @@ -492,13 +507,12 @@ torch==2.3.1 # deepspeed # fairscale # torchaudio - # torchcompat # torchmetrics # torchvision # torchviz torchaudio==2.3.1 # via -r benchmarks/accelerate_opt/requirements.in -torchcompat==1.0.2 +torchcompat==1.1.4 # via # -c .pin/../constraints/hpu.txt # -r benchmarks/flops/requirements.in @@ -519,7 +533,7 @@ torchvision==0.18.1 # -r benchmarks/torchvision_ddp/requirements.in torchviz==0.0.2 # via -r benchmarks/dlrm/requirements.in -torchx==0.5.0 +torchx==0.7.0 # via -r benchmarks/dlrm/requirements.in tqdm==4.66.4 # via @@ -531,15 +545,16 @@ tqdm==4.66.4 # datasets # deepspeed # evaluate + # gdown # huggingface-hub # torchrec # transformers -transformers==4.41.2 +transformers==4.42.4 # via # -r benchmarks/accelerate_opt/requirements.in # -r benchmarks/huggingface/requirements.in # -r benchmarks/llama/requirements.in -trimesh==4.4.1 +trimesh==4.4.3 # via # brax # mujoco-mjx @@ -564,7 +579,7 @@ typing-inspect==0.9.0 # via pyre-extensions tzdata==2024.1 # via pandas -urllib3==1.26.18 +urllib3==1.26.19 # via # docker # requests diff --git a/.pin/constraints-rocm-torch.txt b/.pin/constraints-rocm-torch.txt index 2e5c704b9..26e15dc77 100644 --- a/.pin/constraints-rocm-torch.txt +++ b/.pin/constraints-rocm-torch.txt @@ -1,5 +1,5 @@ # -# This file is autogenerated by pip-compile with Python 3.11 +# This file is autogenerated by pip-compile with Python 3.10 # by the following command: # # pip-compile --output-file=.pin/constraints-rocm-torch.txt .pin/tmp-constraints.txt benchmarks/accelerate_opt/requirements.in benchmarks/brax/requirements.in benchmarks/dlrm/requirements.in benchmarks/flops/requirements.in benchmarks/huggingface/requirements.in benchmarks/llama/requirements.in benchmarks/stargan/requirements.in benchmarks/super-slomo/requirements.in benchmarks/timm/requirements.in benchmarks/torchvision/requirements.in benchmarks/torchvision_ddp/requirements.in @@ -20,7 +20,7 @@ absl-py==2.1.0 # optax # orbax-checkpoint # tensorboard -accelerate==0.31.0 +accelerate==0.32.1 # via -r benchmarks/accelerate_opt/requirements.in aiohttp==3.9.5 # via @@ -34,8 +34,12 @@ antlr4-python3-runtime==4.9.3 # via omegaconf asttokens==2.4.1 # via giving +async-timeout==4.0.3 + # via aiohttp attrs==23.2.0 # via aiohttp +beautifulsoup4==4.12.3 + # via gdown blinker==1.8.2 # via flask brax==0.10.5 @@ -54,12 +58,12 @@ codefind==0.1.6 # via ptera contextlib2==21.6.0 # via ml-collections -datasets==2.19.2 +datasets==2.20.0 # via # -r benchmarks/accelerate_opt/requirements.in # -r benchmarks/llama/requirements.in # evaluate -deepspeed==0.14.2 +deepspeed==0.14.4 # via -r benchmarks/accelerate_opt/requirements.in dill==0.3.8 # via @@ -72,13 +76,14 @@ dm-tree==0.1.8 # via dm-env docker==7.1.0 # via torchx -docstring-parser==0.8.1 +docstring-parser==0.16 # via torchx -etils[epath,epy]==1.9.2 +etils[epath,epy]==1.7.0 # via # brax # mujoco # mujoco-mjx + # optax # orbax-checkpoint evaluate==0.4.2 # via -r benchmarks/accelerate_opt/requirements.in @@ -88,9 +93,10 @@ fairscale==0.4.13 # via -r benchmarks/llama/requirements.in fbgemm-gpu==0.7.0+rocm6.0 # via torchrec -filelock==3.14.0 +filelock==3.15.4 # via # datasets + # gdown # huggingface-hub # pytorch-triton-rocm # torch @@ -104,13 +110,13 @@ flask==3.0.3 # flask-cors flask-cors==4.0.1 # via brax -flax==0.8.4 +flax==0.8.5 # via brax frozenlist==1.4.1 # via # aiohttp # aiosignal -fsspec[http]==2024.3.1 +fsspec[http]==2024.5.0 # via # datasets # etils @@ -120,6 +126,8 @@ fsspec[http]==2024.3.1 # torchx future==1.0.0 # via -r benchmarks/dlrm/requirements.in +gdown==5.2.0 + # via -r benchmarks/stargan/requirements.in giving==0.4.2 # via # ptera @@ -128,7 +136,7 @@ glfw==2.7.0 # via mujoco graphviz==0.20.3 # via torchviz -grpcio==1.64.1 +grpcio==1.65.1 # via # brax # tensorboard @@ -138,7 +146,7 @@ gym-notices==0.0.8 # via gym hjson==3.1.0 # via deepspeed -huggingface-hub==0.23.3 +huggingface-hub==0.23.5 # via # -r benchmarks/timm/requirements.in # accelerate @@ -150,7 +158,7 @@ idna==3.7 # via # requests # yarl -importlib-metadata==7.1.0 +importlib-metadata==8.0.0 # via torchx importlib-resources==6.4.0 # via @@ -158,7 +166,7 @@ importlib-resources==6.4.0 # torchcompat itsdangerous==2.2.0 # via flask -jax[cuda12]==0.4.29 +jax[cuda12]==0.4.30 # via # -r benchmarks/brax/requirements.in # brax @@ -168,11 +176,11 @@ jax[cuda12]==0.4.29 # mujoco-mjx # optax # orbax-checkpoint -jax-cuda12-pjrt==0.4.29 +jax-cuda12-pjrt==0.4.30 # via jax-cuda12-plugin -jax-cuda12-plugin==0.4.29 +jax-cuda12-plugin[with-cuda]==0.4.30 # via jax -jaxlib==0.4.29+cuda12.cudnn91 +jaxlib==0.4.30 # via # brax # chex @@ -190,7 +198,7 @@ jinja2==3.1.4 # torch joblib==1.4.2 # via scikit-learn -lightning-utilities==0.11.2 +lightning-utilities==0.11.5 # via torchmetrics markdown==3.6 # via tensorboard @@ -215,11 +223,11 @@ msgpack==1.0.8 # via # flax # orbax-checkpoint -mujoco==3.1.6 +mujoco==3.2.0 # via # brax # mujoco-mjx -mujoco-mjx==3.1.6 +mujoco-mjx==3.2.0 # via brax multidict==6.0.5 # via @@ -274,32 +282,34 @@ numpy==1.26.4 # torchvision # transformers # trimesh -nvidia-cublas-cu12==12.5.2.13 +nvidia-cublas-cu12==12.5.3.2 # via - # jax + # jax-cuda12-plugin # nvidia-cudnn-cu12 # nvidia-cusolver-cu12 -nvidia-cuda-cupti-cu12==12.5.39 - # via jax -nvidia-cuda-nvcc-cu12==12.5.40 - # via jax -nvidia-cuda-runtime-cu12==12.5.39 - # via jax -nvidia-cudnn-cu12==9.1.1.17 - # via jax -nvidia-cufft-cu12==11.2.3.18 - # via jax -nvidia-cusolver-cu12==11.6.2.40 - # via jax -nvidia-cusparse-cu12==12.4.1.24 +nvidia-cuda-cupti-cu12==12.5.82 + # via jax-cuda12-plugin +nvidia-cuda-nvcc-cu12==12.5.82 + # via jax-cuda12-plugin +nvidia-cuda-runtime-cu12==12.5.82 + # via jax-cuda12-plugin +nvidia-cudnn-cu12==9.2.1.18 + # via jax-cuda12-plugin +nvidia-cufft-cu12==11.2.3.61 + # via jax-cuda12-plugin +nvidia-cusolver-cu12==11.6.3.83 + # via jax-cuda12-plugin +nvidia-cusparse-cu12==12.5.1.3 # via - # jax + # jax-cuda12-plugin # nvidia-cusolver-cu12 -nvidia-nccl-cu12==2.21.5 - # via jax -nvidia-nvjitlink-cu12==12.5.40 +nvidia-ml-py==12.555.43 + # via deepspeed +nvidia-nccl-cu12==2.22.3 + # via jax-cuda12-plugin +nvidia-nvjitlink-cu12==12.5.82 # via - # jax + # jax-cuda12-plugin # nvidia-cufft-cu12 # nvidia-cusolver-cu12 # nvidia-cusparse-cu12 @@ -307,15 +317,15 @@ omegaconf==2.3.0 # via voir onnx==1.16.1 # via -r benchmarks/dlrm/requirements.in -opencv-python==4.10.0.82 +opencv-python==4.10.0.84 # via -r benchmarks/super-slomo/requirements.in opt-einsum==3.3.0 # via jax -optax==0.2.2 +optax==0.2.3 # via # brax # flax -orbax-checkpoint==0.5.16 +orbax-checkpoint==0.5.21 # via # brax # flax @@ -336,7 +346,7 @@ pandas==2.2.2 # via # datasets # evaluate -pillow==10.3.0 +pillow==10.4.0 # via # brax # torchvision @@ -355,28 +365,28 @@ ptera==1.4.1 # via voir py-cpuinfo==9.0.0 # via deepspeed -pyarrow==16.1.0 +pyarrow==17.0.0 # via datasets pyarrow-hotfix==0.6 # via datasets -pydantic==2.7.3 +pydantic==2.7.4 # via deepspeed pydantic-core==2.18.4 # via pydantic -pydot==2.0.0 +pydot==3.0.1 # via -r benchmarks/dlrm/requirements.in pygments==2.18.0 # via rich -pynvml==11.5.0 - # via - # deepspeed - # voir +pynvml==11.5.3 + # via voir pyopengl==3.1.7 # via mujoco pyparsing==3.1.2 # via pydot pyre-extensions==0.0.30 # via torchx +pysocks==1.7.1 + # via requests python-dateutil==2.9.0.post0 # via pandas pytinyrenderer==0.0.14 @@ -401,11 +411,12 @@ reactivex==4.0.4 # via giving regex==2024.5.15 # via transformers -requests==2.32.3 +requests[socks]==2.32.3 # via # datasets # docker # evaluate + # gdown # huggingface-hub # transformers rich==13.7.1 @@ -418,9 +429,9 @@ safetensors==0.4.3 # -r benchmarks/timm/requirements.in # accelerate # transformers -scikit-learn==1.5.0 +scikit-learn==1.5.1 # via -r benchmarks/dlrm/requirements.in -scipy==1.13.1 +scipy==1.14.0 # via # brax # jax @@ -437,7 +448,9 @@ six==1.16.0 # ml-collections # python-dateutil # tensorboard -sympy==1.12.1 +soupsieve==2.5 + # via beautifulsoup4 +sympy==1.13.0 # via torch tabulate==0.9.0 # via torchx @@ -447,7 +460,7 @@ tensorboard-data-server==0.7.2 # via tensorboard tensorboardx==2.6.2.2 # via brax -tensorstore==0.1.61 +tensorstore==0.1.63 # via # flax # orbax-checkpoint @@ -476,13 +489,12 @@ torch==2.3.1+rocm6.0 # deepspeed # fairscale # torchaudio - # torchcompat # torchmetrics # torchvision # torchviz torchaudio==2.3.1+rocm6.0 # via -r benchmarks/accelerate_opt/requirements.in -torchcompat==1.0.2 +torchcompat==1.1.4 # via # -c .pin/../constraints/rocm.txt # -r benchmarks/flops/requirements.in @@ -503,7 +515,7 @@ torchvision==0.18.1+rocm6.0 # -r benchmarks/torchvision_ddp/requirements.in torchviz==0.0.2 # via -r benchmarks/dlrm/requirements.in -torchx==0.5.0 +torchx==0.7.0 # via -r benchmarks/dlrm/requirements.in tqdm==4.66.4 # via @@ -515,15 +527,16 @@ tqdm==4.66.4 # datasets # deepspeed # evaluate + # gdown # huggingface-hub # torchrec # transformers -transformers==4.41.2 +transformers==4.42.4 # via # -r benchmarks/accelerate_opt/requirements.in # -r benchmarks/huggingface/requirements.in # -r benchmarks/llama/requirements.in -trimesh==4.4.1 +trimesh==4.4.3 # via # brax # mujoco-mjx @@ -546,7 +559,7 @@ typing-inspect==0.9.0 # via pyre-extensions tzdata==2024.1 # via pandas -urllib3==1.26.18 +urllib3==1.26.19 # via # docker # requests diff --git a/.pin/constraints-xpu-torch.txt b/.pin/constraints-xpu-torch.txt index 0a728d379..266c72861 100644 --- a/.pin/constraints-xpu-torch.txt +++ b/.pin/constraints-xpu-torch.txt @@ -1,5 +1,5 @@ # -# This file is autogenerated by pip-compile with Python 3.11 +# This file is autogenerated by pip-compile with Python 3.10 # by the following command: # # pip-compile --output-file=.pin/constraints-xpu-torch.txt .pin/tmp-constraints.txt benchmarks/accelerate_opt/requirements.in benchmarks/brax/requirements.in benchmarks/dlrm/requirements.in benchmarks/flops/requirements.in benchmarks/huggingface/requirements.in benchmarks/llama/requirements.in benchmarks/stargan/requirements.in benchmarks/super-slomo/requirements.in benchmarks/timm/requirements.in benchmarks/torchvision/requirements.in benchmarks/torchvision_ddp/requirements.in @@ -20,7 +20,7 @@ absl-py==2.1.0 # optax # orbax-checkpoint # tensorboard -accelerate==0.31.0 +accelerate==0.32.1 # via -r benchmarks/accelerate_opt/requirements.in aiohttp==3.9.5 # via @@ -34,8 +34,12 @@ antlr4-python3-runtime==4.9.3 # via omegaconf asttokens==2.4.1 # via giving +async-timeout==4.0.3 + # via aiohttp attrs==23.2.0 # via aiohttp +beautifulsoup4==4.12.3 + # via gdown blinker==1.8.2 # via flask brax==0.10.5 @@ -54,14 +58,14 @@ codefind==0.1.6 # via ptera contextlib2==21.6.0 # via ml-collections -datasets==2.14.7 +datasets==2.20.0 # via # -r benchmarks/accelerate_opt/requirements.in # -r benchmarks/llama/requirements.in # evaluate -deepspeed==0.14.2 +deepspeed==0.14.4 # via -r benchmarks/accelerate_opt/requirements.in -dill==0.3.7 +dill==0.3.8 # via # datasets # evaluate @@ -74,11 +78,12 @@ docker==7.1.0 # via torchx docstring-parser==0.16 # via torchx -etils[epath,epy]==1.9.1 +etils[epath,epy]==1.7.0 # via # brax # mujoco # mujoco-mjx + # optax # orbax-checkpoint evaluate==0.4.2 # via -r benchmarks/accelerate_opt/requirements.in @@ -88,13 +93,14 @@ fairscale==0.4.13 # via -r benchmarks/llama/requirements.in fbgemm-gpu==0.7.0 # via torchrec -filelock==3.14.0 +filelock==3.15.4 # via + # datasets + # gdown # huggingface-hub # torch # torchx # transformers - # triton fire==0.6.0 # via -r benchmarks/llama/requirements.in flask==3.0.3 @@ -103,13 +109,13 @@ flask==3.0.3 # flask-cors flask-cors==4.0.1 # via brax -flax==0.8.4 +flax==0.8.5 # via brax frozenlist==1.4.1 # via # aiohttp # aiosignal -fsspec[http]==2023.1.0 +fsspec[http]==2024.5.0 # via # datasets # etils @@ -119,6 +125,8 @@ fsspec[http]==2023.1.0 # torchx future==1.0.0 # via -r benchmarks/dlrm/requirements.in +gdown==5.2.0 + # via -r benchmarks/stargan/requirements.in giving==0.4.2 # via # ptera @@ -127,7 +135,7 @@ glfw==2.7.0 # via mujoco graphviz==0.20.3 # via torchviz -grpcio==1.64.1 +grpcio==1.65.1 # via # brax # tensorboard @@ -137,7 +145,7 @@ gym-notices==0.0.8 # via gym hjson==3.1.0 # via deepspeed -huggingface-hub==0.17.3 +huggingface-hub==0.24.0 # via # -r benchmarks/timm/requirements.in # accelerate @@ -149,7 +157,7 @@ idna==3.7 # via # requests # yarl -importlib-metadata==7.1.0 +importlib-metadata==8.0.0 # via torchx importlib-resources==6.4.0 # via @@ -157,7 +165,7 @@ importlib-resources==6.4.0 # torchcompat itsdangerous==2.2.0 # via flask -jax[cuda12]==0.4.28 +jax[cuda12]==0.4.30 # via # -r benchmarks/brax/requirements.in # brax @@ -167,11 +175,11 @@ jax[cuda12]==0.4.28 # mujoco-mjx # optax # orbax-checkpoint -jax-cuda12-pjrt==0.4.28 +jax-cuda12-pjrt==0.4.30 # via jax-cuda12-plugin -jax-cuda12-plugin==0.4.28 +jax-cuda12-plugin[with-cuda]==0.4.30 # via jax -jaxlib==0.4.28+cuda12.cudnn89 +jaxlib==0.4.30 # via # brax # chex @@ -189,7 +197,7 @@ jinja2==3.1.4 # torch joblib==1.4.2 # via scikit-learn -lightning-utilities==0.11.2 +lightning-utilities==0.11.5 # via torchmetrics markdown==3.6 # via tensorboard @@ -214,17 +222,17 @@ msgpack==1.0.8 # via # flax # orbax-checkpoint -mujoco==3.1.6 +mujoco==3.2.0 # via # brax # mujoco-mjx -mujoco-mjx==3.1.6 +mujoco-mjx==3.2.0 # via brax multidict==6.0.5 # via # aiohttp # yarl -multiprocess==0.70.15 +multiprocess==0.70.16 # via # datasets # evaluate @@ -273,67 +281,50 @@ numpy==1.26.4 # torchvision # transformers # trimesh -nvidia-cublas-cu12==12.1.3.1 +nvidia-cublas-cu12==12.5.3.2 # via - # jax + # jax-cuda12-plugin # nvidia-cudnn-cu12 # nvidia-cusolver-cu12 - # torch -nvidia-cuda-cupti-cu12==12.1.105 - # via - # jax - # torch -nvidia-cuda-nvcc-cu12==12.5.40 - # via jax -nvidia-cuda-nvrtc-cu12==12.1.105 - # via torch -nvidia-cuda-runtime-cu12==12.1.105 - # via - # jax - # torch -nvidia-cudnn-cu12==8.9.2.26 - # via - # jax - # torch -nvidia-cufft-cu12==11.0.2.54 - # via - # jax - # torch -nvidia-curand-cu12==10.3.2.106 - # via torch -nvidia-cusolver-cu12==11.4.5.107 - # via - # jax - # torch -nvidia-cusparse-cu12==12.1.0.106 +nvidia-cuda-cupti-cu12==12.5.82 + # via jax-cuda12-plugin +nvidia-cuda-nvcc-cu12==12.5.82 + # via jax-cuda12-plugin +nvidia-cuda-runtime-cu12==12.5.82 + # via jax-cuda12-plugin +nvidia-cudnn-cu12==9.2.1.18 + # via jax-cuda12-plugin +nvidia-cufft-cu12==11.2.3.61 + # via jax-cuda12-plugin +nvidia-cusolver-cu12==11.6.3.83 + # via jax-cuda12-plugin +nvidia-cusparse-cu12==12.5.1.3 # via - # jax + # jax-cuda12-plugin # nvidia-cusolver-cu12 - # torch -nvidia-nccl-cu12==2.20.5 - # via - # jax - # torch -nvidia-nvjitlink-cu12==12.5.40 +nvidia-ml-py==12.555.43 + # via deepspeed +nvidia-nccl-cu12==2.22.3 + # via jax-cuda12-plugin +nvidia-nvjitlink-cu12==12.5.82 # via - # jax + # jax-cuda12-plugin + # nvidia-cufft-cu12 # nvidia-cusolver-cu12 # nvidia-cusparse-cu12 -nvidia-nvtx-cu12==12.1.105 - # via torch omegaconf==2.3.0 # via voir onnx==1.16.1 # via -r benchmarks/dlrm/requirements.in -opencv-python==4.10.0.82 +opencv-python==4.10.0.84 # via -r benchmarks/super-slomo/requirements.in opt-einsum==3.3.0 # via jax -optax==0.2.2 +optax==0.2.3 # via # brax # flax -orbax-checkpoint==0.5.15 +orbax-checkpoint==0.5.21 # via # brax # flax @@ -354,7 +345,7 @@ pandas==2.2.2 # via # datasets # evaluate -pillow==10.3.0 +pillow==10.4.0 # via # brax # torchvision @@ -373,28 +364,28 @@ ptera==1.4.1 # via voir py-cpuinfo==9.0.0 # via deepspeed -pyarrow==16.1.0 +pyarrow==17.0.0 # via datasets pyarrow-hotfix==0.6 # via datasets -pydantic==2.7.3 +pydantic==2.7.4 # via deepspeed pydantic-core==2.18.4 # via pydantic -pydot==2.0.0 +pydot==3.0.1 # via -r benchmarks/dlrm/requirements.in pygments==2.18.0 # via rich -pynvml==11.5.0 - # via - # deepspeed - # voir +pynvml==11.5.3 + # via voir pyopengl==3.1.7 # via mujoco pyparsing==3.1.2 # via pydot pyre-extensions==0.0.30 # via torchx +pysocks==1.7.1 + # via requests python-dateutil==2.9.0.post0 # via pandas pytinyrenderer==0.0.14 @@ -417,13 +408,14 @@ reactivex==4.0.4 # via giving regex==2024.5.15 # via transformers -requests==2.32.3 +requests[socks]==2.32.3 # via # datasets # docker # evaluate - # fsspec + # gdown # huggingface-hub + # torchvision # transformers rich==13.7.1 # via @@ -435,9 +427,9 @@ safetensors==0.4.3 # -r benchmarks/timm/requirements.in # accelerate # transformers -scikit-learn==1.5.0 +scikit-learn==1.5.1 # via -r benchmarks/dlrm/requirements.in -scipy==1.13.1 +scipy==1.14.0 # via # brax # jax @@ -454,7 +446,9 @@ six==1.16.0 # ml-collections # python-dateutil # tensorboard -sympy==1.12.1 +soupsieve==2.5 + # via beautifulsoup4 +sympy==1.13.0 # via torch tabulate==0.9.0 # via torchx @@ -464,7 +458,7 @@ tensorboard-data-server==0.7.2 # via tensorboard tensorboardx==2.6.2.2 # via brax -tensorstore==0.1.61 +tensorstore==0.1.63 # via # flax # orbax-checkpoint @@ -472,11 +466,11 @@ termcolor==2.4.0 # via fire threadpoolctl==3.5.0 # via scikit-learn -tokenizers==0.15.2 +tokenizers==0.19.1 # via transformers toolz==0.12.1 # via chex -torch==2.3.1 +torch==2.1.0.post2+cxx11.abi # via # -c .pin/../constraints/xpu.txt # -r benchmarks/accelerate_opt/requirements.in @@ -494,15 +488,14 @@ torch==2.3.1 # deepspeed # fairscale # torchaudio - # torchcompat # torchmetrics # torchvision # torchviz -torchaudio==2.3.1 +torchaudio==2.1.0.post2+cxx11.abi # via # -c .pin/../constraints/xpu.txt # -r benchmarks/accelerate_opt/requirements.in -torchcompat==1.0.2 +torchcompat==1.1.4 # via # -c .pin/../constraints/xpu.txt # -r benchmarks/flops/requirements.in @@ -512,7 +505,7 @@ torchmetrics==1.0.3 # via torchrec torchrec==0.7.0 # via -r benchmarks/dlrm/requirements.in -torchvision==0.18.1 +torchvision==0.16.0.post2+cxx11.abi # via # -c .pin/../constraints/xpu.txt # -r benchmarks/accelerate_opt/requirements.in @@ -524,7 +517,7 @@ torchvision==0.18.1 # -r benchmarks/torchvision_ddp/requirements.in torchviz==0.0.2 # via -r benchmarks/dlrm/requirements.in -torchx==0.6.0 +torchx==0.7.0 # via -r benchmarks/dlrm/requirements.in tqdm==4.66.4 # via @@ -536,20 +529,19 @@ tqdm==4.66.4 # datasets # deepspeed # evaluate + # gdown # huggingface-hub # torchrec # transformers -transformers==4.35.2 +transformers==4.42.4 # via # -r benchmarks/accelerate_opt/requirements.in # -r benchmarks/huggingface/requirements.in # -r benchmarks/llama/requirements.in -trimesh==4.4.1 +trimesh==4.4.3 # via # brax # mujoco-mjx -triton==2.3.1 - # via torch typing-extensions==4.12.2 # via # brax @@ -569,7 +561,7 @@ typing-inspect==0.9.0 # via pyre-extensions tzdata==2024.1 # via pandas -urllib3==1.26.18 +urllib3==1.26.19 # via # docker # requests diff --git a/README.md b/README.md index 94b1c3849..714abb75e 100644 --- a/README.md +++ b/README.md @@ -83,7 +83,7 @@ The benchmark suite has been validated on the following configurations: | Python version | GPU | Configuration file | | - | - | - | -| 3.11 (conda) | 2 node x 8xNVIDIA A100 80GB | config/standard.yaml | +| 3.10 (conda) | 2 node x 8xNVIDIA A100 80GB | config/standard.yaml | | 3.9.12 (conda) | 8x NVIDIA RTX8000 48GB | config/standard.yaml | | 3.9.16 (conda) | 2x NVIDIA K80 | config/ci.yaml | | 3.9.16 (conda) | 2x AMD MI100 | config/ci.yaml | diff --git a/benchmarks/_templates/simple/Makefile b/benchmarks/_templates/simple/Makefile index f295ac5bb..123e507d9 100644 --- a/benchmarks/_templates/simple/Makefile +++ b/benchmarks/_templates/simple/Makefile @@ -1,4 +1,31 @@ -tests: - milabench install --config dev.yaml --base base - milabench prepare --config dev.yaml --base base - milabench run --config dev.yaml --base base +# Use global base if possible +ifndef MILABENCH_BASE + MILABENCH_BASE="base" +endif + +export MILABENCH_BASE + +BENCH_NAME=template +MILABENCH_CONFIG=dev.yaml +MILABENCH_ARGS=--config $(MILABENCH_CONFIG) --base $(MILABENCH_BASE) + +all: + install prepare single gpus nodes + +install: + milabench install $(MILABENCH_ARGS) --force + +prepare: + milabench prepare $(MILABENCH_ARGS) + +tests: install prepare + milabench run $(MILABENCH_ARGS) + +single: + milabench run $(MILABENCH_ARGS) --select $(BENCH_NAME)-single + +gpus: + milabench run $(MILABENCH_ARGS) --select $(BENCH_NAME)-gpus + +nodes: + milabench run $(MILABENCH_ARGS) --select $(BENCH_NAME)-nodes diff --git a/benchmarks/_templates/simple/main.py b/benchmarks/_templates/simple/main.py index b9fe484dd..5a8f1cff6 100644 --- a/benchmarks/_templates/simple/main.py +++ b/benchmarks/_templates/simple/main.py @@ -12,7 +12,7 @@ def criterion(*args, **kwargs): - return random.normalvariate() + return random.normalvariate(0, 1) def main(): diff --git a/benchmarks/_templates/stdout/Makefile b/benchmarks/_templates/stdout/Makefile new file mode 100644 index 000000000..123e507d9 --- /dev/null +++ b/benchmarks/_templates/stdout/Makefile @@ -0,0 +1,31 @@ +# Use global base if possible +ifndef MILABENCH_BASE + MILABENCH_BASE="base" +endif + +export MILABENCH_BASE + +BENCH_NAME=template +MILABENCH_CONFIG=dev.yaml +MILABENCH_ARGS=--config $(MILABENCH_CONFIG) --base $(MILABENCH_BASE) + +all: + install prepare single gpus nodes + +install: + milabench install $(MILABENCH_ARGS) --force + +prepare: + milabench prepare $(MILABENCH_ARGS) + +tests: install prepare + milabench run $(MILABENCH_ARGS) + +single: + milabench run $(MILABENCH_ARGS) --select $(BENCH_NAME)-single + +gpus: + milabench run $(MILABENCH_ARGS) --select $(BENCH_NAME)-gpus + +nodes: + milabench run $(MILABENCH_ARGS) --select $(BENCH_NAME)-nodes diff --git a/benchmarks/_templates/stdout/README.md b/benchmarks/_templates/stdout/README.md new file mode 100644 index 000000000..239a2dfaf --- /dev/null +++ b/benchmarks/_templates/stdout/README.md @@ -0,0 +1,4 @@ + +# Template + +Rewrite this README to explain what the benchmark is! diff --git a/benchmarks/_templates/stdout/benchfile.py b/benchmarks/_templates/stdout/benchfile.py new file mode 100644 index 000000000..6f14e935e --- /dev/null +++ b/benchmarks/_templates/stdout/benchfile.py @@ -0,0 +1,34 @@ +from milabench.pack import Package + + +class Template(Package): + # Requirements file installed by install(). It can be empty or absent. + base_requirements = "requirements.in" + + # The preparation script called by prepare(). It must be executable, + # but it can be any type of script. It can be empty or absent. + prepare_script = "prepare.py" + + # The main script called by run(). It must be a Python file. It has to + # be present. + main_script = f"main.py" + + # You can remove the functions below if you don't need to modify them. + + def make_env(self): + # Return a dict of environment variables for prepare_script and + # main_script. + return super().make_env() + + async def install(self): + await super().install() + + async def prepare(self): + await super().prepare() # super() call executes prepare_script + + def build_run_plan(self): + return super().build_run_plan().use_stdout() + + + +__pack__ = Template diff --git a/benchmarks/_templates/stdout/dev.yaml b/benchmarks/_templates/stdout/dev.yaml new file mode 100644 index 000000000..2b7e75a34 --- /dev/null +++ b/benchmarks/_templates/stdout/dev.yaml @@ -0,0 +1,36 @@ +_template: + inherits: _defaults + definition: . + install-variant: unpinned + install_group: torch + + #argv: + # --train_batch_size: 32 + # --num_epochs: 5 + + +template-single: + inherits: _template + + num_machines: 1 + plan: + method: per_gpu + +template-gpus: + inherits: _template + + num_machines: 1 + plan: + method: njobs + n: 1 + +template-nodes: + inherits: _template + + num_machines: 2 + plan: + method: njobs + n: 1 + + requires_capabilities: + - "len(nodes) >= ${num_machines}" \ No newline at end of file diff --git a/benchmarks/_templates/stdout/main.py b/benchmarks/_templates/stdout/main.py new file mode 100644 index 000000000..f8013bb0f --- /dev/null +++ b/benchmarks/_templates/stdout/main.py @@ -0,0 +1,50 @@ +# This is the script run by milabench run (by default) + +# It is possible to use a script from a GitHub repo if it is cloned using +# clone_subtree in the benchfile.py, in which case this file can simply +# be deleted. + +import time +import random + +import torchcompat.core as accelerator +from benchmate.observer import BenchObserver + + +def criterion(*args, **kwargs): + return random.normalvariate(0, 1) + + +def main(): + device = accelerator.fetch_device(0) # <= This is your cuda device + + observer = BenchObserver( + batch_size_fn=lambda batch: 1, + stdout=True, + ) + # optimizer = observer.optimizer(optimizer) + # criterion = observer.criterion(criterion) + + dataloader = list(range(6000)) + + for epoch in range(10000): + for i in observer.iterate(dataloader): + # avoid .item() + # avoid torch.cuda; use accelerator from torchcompat instead + # avoid torch.cuda.synchronize or accelerator.synchronize + + # y = model(i) + loss = criterion() + # loss.backward() + # optimizer.step() + + observer.record_loss(loss) + + time.sleep(0.1) + + assert epoch < 2, "milabench stopped the train script before the end of training" + assert i < 72, "milabench stopped the train script before the end of training" + + +if __name__ == "__main__": + main() diff --git a/benchmarks/_templates/stdout/prepare.py b/benchmarks/_templates/stdout/prepare.py new file mode 100755 index 000000000..32bd5901d --- /dev/null +++ b/benchmarks/_templates/stdout/prepare.py @@ -0,0 +1,16 @@ +#!/usr/bin/env python + +import os + +if __name__ == "__main__": + # If you need the whole configuration: + # config = json.loads(os.environ["MILABENCH_CONFIG"]) + + data_directory = os.environ["MILABENCH_DIR_DATA"] + + # Download (or generate) the needed dataset(s). You are responsible + # to check if it has already been properly downloaded or not, and to + # do nothing if it has been. + print("Hello I am doing some data stuff!") + + # If there is nothing to download or generate, just delete this file. diff --git a/benchmarks/_templates/stdout/requirements.in b/benchmarks/_templates/stdout/requirements.in new file mode 100644 index 000000000..94575179d --- /dev/null +++ b/benchmarks/_templates/stdout/requirements.in @@ -0,0 +1,2 @@ +voir>=0.2.9,<0.3 +torch \ No newline at end of file diff --git a/benchmarks/_templates/voir/Makefile b/benchmarks/_templates/voir/Makefile index f295ac5bb..123e507d9 100644 --- a/benchmarks/_templates/voir/Makefile +++ b/benchmarks/_templates/voir/Makefile @@ -1,4 +1,31 @@ -tests: - milabench install --config dev.yaml --base base - milabench prepare --config dev.yaml --base base - milabench run --config dev.yaml --base base +# Use global base if possible +ifndef MILABENCH_BASE + MILABENCH_BASE="base" +endif + +export MILABENCH_BASE + +BENCH_NAME=template +MILABENCH_CONFIG=dev.yaml +MILABENCH_ARGS=--config $(MILABENCH_CONFIG) --base $(MILABENCH_BASE) + +all: + install prepare single gpus nodes + +install: + milabench install $(MILABENCH_ARGS) --force + +prepare: + milabench prepare $(MILABENCH_ARGS) + +tests: install prepare + milabench run $(MILABENCH_ARGS) + +single: + milabench run $(MILABENCH_ARGS) --select $(BENCH_NAME)-single + +gpus: + milabench run $(MILABENCH_ARGS) --select $(BENCH_NAME)-gpus + +nodes: + milabench run $(MILABENCH_ARGS) --select $(BENCH_NAME)-nodes diff --git a/benchmarks/_templates/voir/benchfile.py b/benchmarks/_templates/voir/benchfile.py index 4ab9e833f..b0f176a1c 100644 --- a/benchmarks/_templates/voir/benchfile.py +++ b/benchmarks/_templates/voir/benchfile.py @@ -3,7 +3,7 @@ SOURCE_DIR = "src" REPO_URL = "https://github.com/Delaunay/extern_example.git" -BRANCH = "a524286ab6364bca6729dd6ef4936e175a87c7e4" +BRANCH = "a3130b3251d3a909d2a7c59efa948a34e52cbbbb" class Template(Package): diff --git a/benchmarks/accelerate_opt/benchfile.py b/benchmarks/accelerate_opt/benchfile.py index 20e940585..746ee5f00 100644 --- a/benchmarks/accelerate_opt/benchfile.py +++ b/benchmarks/accelerate_opt/benchfile.py @@ -1,4 +1,5 @@ from milabench.commands import ( + AccelerateAllNodes, AccelerateLaunchCommand, CmdCommand, DockerRunCommand, @@ -13,7 +14,7 @@ class AccelerateBenchmark(Package): def make_env(self): env = super().make_env() - value = self.resolve_argument("--cpus_per_gpu") + value = self.resolve_argument("--cpus_per_gpu", 8) env["OMP_NUM_THREADS"] = str(value) return env @@ -34,46 +35,15 @@ def build_prepare_plan(self): str(self.dirs.cache) ) - def build_run_plan(self): - plans = [] + def build_run_plan(self): + from milabench.commands import PackCommand, VoirCommand + main = self.dirs.code / self.main_script + plan = PackCommand(self, *self.argv, lazy=True) - max_num = self.config["num_machines"] - nodes = select_nodes(self.config["system"]["nodes"], max_num) - key = self.config["system"].get("sshkey") + if False: + plan = VoirCommand(pack, cwd=main.parent) - for rank, node in enumerate(nodes): - host = node["ip"] - user = node["user"] - port = node.get("port", 22) - options = dict() - - if rank == 0: - options = dict( - setsid=True, - use_stdout=True, - ) - - tags = [*self.config["tag"], node["name"]] - if rank != 0: - # Workers do not send training data - # tag it as such so we validation can ignore this pack - tags.append("nolog") - - pack = self.copy({"tag": tags}) - worker = SSHCommand( - host=host, - user=user, - key=key, - port=port, - executor=DockerRunCommand( - AccelerateLaunchCommand(pack, rank=rank), - self.config["system"].get("docker_image"), - ), - **options - ) - plans.append(worker) - - return ListCommand(*plans) + return AccelerateAllNodes(plan).use_stdout() __pack__ = AccelerateBenchmark diff --git a/benchmarks/accelerate_opt/requirements.cuda.txt b/benchmarks/accelerate_opt/requirements.cuda.txt index f08ae7d0c..7c629e53d 100644 --- a/benchmarks/accelerate_opt/requirements.cuda.txt +++ b/benchmarks/accelerate_opt/requirements.cuda.txt @@ -1,5 +1,5 @@ # -# This file is autogenerated by pip-compile with Python 3.11 +# This file is autogenerated by pip-compile with Python 3.10 # by the following command: # # pip-compile --output-file=benchmarks/accelerate_opt/requirements.cuda.txt .pin/tmp-constraints-cuda-opt.txt benchmarks/accelerate_opt/requirements.in @@ -9,7 +9,7 @@ --find-links https://storage.googleapis.com/jax-releases/jax_cuda_releases.html --trusted-host pypi.ngc.nvidia.com -accelerate==0.31.0 +accelerate==0.32.1 # via # -c .pin/../.pin/constraints-cuda-torch.txt # -r benchmarks/accelerate_opt/requirements.in @@ -34,11 +34,15 @@ asttokens==2.4.1 # via # -c .pin/../.pin/constraints-cuda-torch.txt # giving +async-timeout==4.0.3 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # aiohttp attrs==23.2.0 # via # -c .pin/../.pin/constraints-cuda-torch.txt # aiohttp -certifi==2024.6.2 +certifi==2024.7.4 # via # -c .pin/../.pin/constraints-cuda-torch.txt # requests @@ -50,16 +54,16 @@ codefind==0.1.6 # via # -c .pin/../.pin/constraints-cuda-torch.txt # ptera -datasets==2.14.7 +datasets==2.20.0 # via # -c .pin/../.pin/constraints-cuda-torch.txt # -r benchmarks/accelerate_opt/requirements.in # evaluate -deepspeed==0.14.2 +deepspeed==0.14.4 # via # -c .pin/../.pin/constraints-cuda-torch.txt # -r benchmarks/accelerate_opt/requirements.in -dill==0.3.7 +dill==0.3.8 # via # -c .pin/../.pin/constraints-cuda-torch.txt # datasets @@ -73,9 +77,10 @@ executing==1.2.0 # via # -c .pin/../.pin/constraints-cuda-torch.txt # varname -filelock==3.14.0 +filelock==3.15.4 # via # -c .pin/../.pin/constraints-cuda-torch.txt + # datasets # huggingface-hub # torch # transformers @@ -85,7 +90,7 @@ frozenlist==1.4.1 # -c .pin/../.pin/constraints-cuda-torch.txt # aiohttp # aiosignal -fsspec[http]==2023.1.0 +fsspec[http]==2024.5.0 # via # -c .pin/../.pin/constraints-cuda-torch.txt # datasets @@ -101,7 +106,7 @@ hjson==3.1.0 # via # -c .pin/../.pin/constraints-cuda-torch.txt # deepspeed -huggingface-hub==0.17.3 +huggingface-hub==0.24.0 # via # -c .pin/../.pin/constraints-cuda-torch.txt # accelerate @@ -139,7 +144,7 @@ multidict==6.0.5 # -c .pin/../.pin/constraints-cuda-torch.txt # aiohttp # yarl -multiprocess==0.70.15 +multiprocess==0.70.16 # via # -c .pin/../.pin/constraints-cuda-torch.txt # datasets @@ -202,11 +207,15 @@ nvidia-cusparse-cu12==12.1.0.106 # -c .pin/../.pin/constraints-cuda-torch.txt # nvidia-cusolver-cu12 # torch +nvidia-ml-py==12.555.43 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # deepspeed nvidia-nccl-cu12==2.20.5 # via # -c .pin/../.pin/constraints-cuda-torch.txt # torch -nvidia-nvjitlink-cu12==12.5.40 +nvidia-nvjitlink-cu12==12.5.82 # via # -c .pin/../.pin/constraints-cuda-torch.txt # nvidia-cusolver-cu12 @@ -237,7 +246,7 @@ pandas==2.2.2 # -c .pin/../.pin/constraints-cuda-torch.txt # datasets # evaluate -pillow==10.3.0 +pillow==10.4.0 # via # -c .pin/../.pin/constraints-cuda-torch.txt # torchvision @@ -255,7 +264,7 @@ py-cpuinfo==9.0.0 # via # -c .pin/../.pin/constraints-cuda-torch.txt # deepspeed -pyarrow==16.1.0 +pyarrow==17.0.0 # via # -c .pin/../.pin/constraints-cuda-torch.txt # datasets @@ -263,11 +272,11 @@ pyarrow-hotfix==0.6 # via # -c .pin/../.pin/constraints-cuda-torch.txt # datasets -pydantic==2.7.3 +pydantic==2.8.2 # via # -c .pin/../.pin/constraints-cuda-torch.txt # deepspeed -pydantic-core==2.18.4 +pydantic-core==2.20.1 # via # -c .pin/../.pin/constraints-cuda-torch.txt # pydantic @@ -275,10 +284,9 @@ pygments==2.18.0 # via # -c .pin/../.pin/constraints-cuda-torch.txt # rich -pynvml==11.5.0 +pynvml==11.5.3 # via # -c .pin/../.pin/constraints-cuda-torch.txt - # deepspeed # voir python-dateutil==2.9.0.post0 # via @@ -309,7 +317,6 @@ requests==2.32.3 # -c .pin/../.pin/constraints-cuda-torch.txt # datasets # evaluate - # fsspec # huggingface-hub # transformers rich==13.7.1 @@ -327,11 +334,11 @@ six==1.16.0 # -c .pin/../.pin/constraints-cuda-torch.txt # asttokens # python-dateutil -sympy==1.12.1 +sympy==1.13.1 # via # -c .pin/../.pin/constraints-cuda-torch.txt # torch -tokenizers==0.15.2 +tokenizers==0.19.1 # via # -c .pin/../.pin/constraints-cuda-torch.txt # transformers @@ -359,7 +366,7 @@ tqdm==4.66.4 # evaluate # huggingface-hub # transformers -transformers==4.35.2 +transformers==4.42.4 # via # -c .pin/../.pin/constraints-cuda-torch.txt # -r benchmarks/accelerate_opt/requirements.in @@ -379,7 +386,7 @@ tzdata==2024.1 # via # -c .pin/../.pin/constraints-cuda-torch.txt # pandas -urllib3==1.26.18 +urllib3==1.26.19 # via # -c .pin/../.pin/constraints-cuda-torch.txt # requests diff --git a/benchmarks/accelerate_opt/requirements.hpu.txt b/benchmarks/accelerate_opt/requirements.hpu.txt index 5717823fd..263b23b58 100644 --- a/benchmarks/accelerate_opt/requirements.hpu.txt +++ b/benchmarks/accelerate_opt/requirements.hpu.txt @@ -1,5 +1,5 @@ # -# This file is autogenerated by pip-compile with Python 3.11 +# This file is autogenerated by pip-compile with Python 3.10 # by the following command: # # pip-compile --output-file=benchmarks/accelerate_opt/requirements.hpu.txt .pin/tmp-constraints-hpu-opt.txt benchmarks/accelerate_opt/requirements.in @@ -8,7 +8,7 @@ --find-links https://storage.googleapis.com/jax-releases/jax_cuda_releases.html --trusted-host pypi.ngc.nvidia.com -accelerate==0.31.0 +accelerate==0.32.1 # via # -c .pin/../.pin/constraints-hpu-torch.txt # -r benchmarks/accelerate_opt/requirements.in @@ -33,6 +33,10 @@ asttokens==2.4.1 # via # -c .pin/../.pin/constraints-hpu-torch.txt # giving +async-timeout==4.0.3 + # via + # -c .pin/../.pin/constraints-hpu-torch.txt + # aiohttp attrs==23.2.0 # via # -c .pin/../.pin/constraints-hpu-torch.txt @@ -49,12 +53,12 @@ codefind==0.1.6 # via # -c .pin/../.pin/constraints-hpu-torch.txt # ptera -datasets==2.19.2 +datasets==2.20.0 # via # -c .pin/../.pin/constraints-hpu-torch.txt # -r benchmarks/accelerate_opt/requirements.in # evaluate -deepspeed==0.14.2 +deepspeed==0.14.4 # via # -c .pin/../.pin/constraints-hpu-torch.txt # -r benchmarks/accelerate_opt/requirements.in @@ -72,7 +76,7 @@ executing==1.2.0 # via # -c .pin/../.pin/constraints-hpu-torch.txt # varname -filelock==3.14.0 +filelock==3.15.4 # via # -c .pin/../.pin/constraints-hpu-torch.txt # datasets @@ -85,7 +89,7 @@ frozenlist==1.4.1 # -c .pin/../.pin/constraints-hpu-torch.txt # aiohttp # aiosignal -fsspec[http]==2024.3.1 +fsspec[http]==2024.5.0 # via # -c .pin/../.pin/constraints-hpu-torch.txt # datasets @@ -101,7 +105,7 @@ hjson==3.1.0 # via # -c .pin/../.pin/constraints-hpu-torch.txt # deepspeed -huggingface-hub==0.23.3 +huggingface-hub==0.24.0 # via # -c .pin/../.pin/constraints-hpu-torch.txt # accelerate @@ -202,11 +206,15 @@ nvidia-cusparse-cu12==12.1.0.106 # -c .pin/../.pin/constraints-hpu-torch.txt # nvidia-cusolver-cu12 # torch +nvidia-ml-py==12.555.43 + # via + # -c .pin/../.pin/constraints-hpu-torch.txt + # deepspeed nvidia-nccl-cu12==2.20.5 # via # -c .pin/../.pin/constraints-hpu-torch.txt # torch -nvidia-nvjitlink-cu12==12.5.40 +nvidia-nvjitlink-cu12==12.5.82 # via # -c .pin/../.pin/constraints-hpu-torch.txt # nvidia-cusolver-cu12 @@ -237,7 +245,7 @@ pandas==2.2.2 # -c .pin/../.pin/constraints-hpu-torch.txt # datasets # evaluate -pillow==10.3.0 +pillow==10.4.0 # via # -c .pin/../.pin/constraints-hpu-torch.txt # torchvision @@ -255,7 +263,7 @@ py-cpuinfo==9.0.0 # via # -c .pin/../.pin/constraints-hpu-torch.txt # deepspeed -pyarrow==16.1.0 +pyarrow==17.0.0 # via # -c .pin/../.pin/constraints-hpu-torch.txt # datasets @@ -263,7 +271,7 @@ pyarrow-hotfix==0.6 # via # -c .pin/../.pin/constraints-hpu-torch.txt # datasets -pydantic==2.7.3 +pydantic==2.7.4 # via # -c .pin/../.pin/constraints-hpu-torch.txt # deepspeed @@ -275,10 +283,9 @@ pygments==2.18.0 # via # -c .pin/../.pin/constraints-hpu-torch.txt # rich -pynvml==11.5.0 +pynvml==11.5.3 # via # -c .pin/../.pin/constraints-hpu-torch.txt - # deepspeed # voir python-dateutil==2.9.0.post0 # via @@ -326,7 +333,7 @@ six==1.16.0 # -c .pin/../.pin/constraints-hpu-torch.txt # asttokens # python-dateutil -sympy==1.12.1 +sympy==1.13.0 # via # -c .pin/../.pin/constraints-hpu-torch.txt # torch @@ -358,7 +365,7 @@ tqdm==4.66.4 # evaluate # huggingface-hub # transformers -transformers==4.41.2 +transformers==4.42.4 # via # -c .pin/../.pin/constraints-hpu-torch.txt # -r benchmarks/accelerate_opt/requirements.in @@ -378,7 +385,7 @@ tzdata==2024.1 # via # -c .pin/../.pin/constraints-hpu-torch.txt # pandas -urllib3==1.26.18 +urllib3==1.26.19 # via # -c .pin/../.pin/constraints-hpu-torch.txt # requests diff --git a/benchmarks/accelerate_opt/requirements.rocm.txt b/benchmarks/accelerate_opt/requirements.rocm.txt index d6509a54d..4767bb31a 100644 --- a/benchmarks/accelerate_opt/requirements.rocm.txt +++ b/benchmarks/accelerate_opt/requirements.rocm.txt @@ -1,5 +1,5 @@ # -# This file is autogenerated by pip-compile with Python 3.11 +# This file is autogenerated by pip-compile with Python 3.10 # by the following command: # # pip-compile --output-file=benchmarks/accelerate_opt/requirements.rocm.txt .pin/tmp-constraints-rocm-opt.txt benchmarks/accelerate_opt/requirements.in @@ -9,7 +9,7 @@ --find-links https://storage.googleapis.com/jax-releases/jax_cuda_releases.html --trusted-host pypi.ngc.nvidia.com -accelerate==0.31.0 +accelerate==0.32.1 # via # -c .pin/../.pin/constraints-rocm-torch.txt # -r benchmarks/accelerate_opt/requirements.in @@ -34,6 +34,10 @@ asttokens==2.4.1 # via # -c .pin/../.pin/constraints-rocm-torch.txt # giving +async-timeout==4.0.3 + # via + # -c .pin/../.pin/constraints-rocm-torch.txt + # aiohttp attrs==23.2.0 # via # -c .pin/../.pin/constraints-rocm-torch.txt @@ -50,12 +54,12 @@ codefind==0.1.6 # via # -c .pin/../.pin/constraints-rocm-torch.txt # ptera -datasets==2.19.2 +datasets==2.20.0 # via # -c .pin/../.pin/constraints-rocm-torch.txt # -r benchmarks/accelerate_opt/requirements.in # evaluate -deepspeed==0.14.2 +deepspeed==0.14.4 # via # -c .pin/../.pin/constraints-rocm-torch.txt # -r benchmarks/accelerate_opt/requirements.in @@ -73,7 +77,7 @@ executing==1.2.0 # via # -c .pin/../.pin/constraints-rocm-torch.txt # varname -filelock==3.14.0 +filelock==3.15.4 # via # -c .pin/../.pin/constraints-rocm-torch.txt # datasets @@ -86,7 +90,7 @@ frozenlist==1.4.1 # -c .pin/../.pin/constraints-rocm-torch.txt # aiohttp # aiosignal -fsspec[http]==2024.3.1 +fsspec[http]==2024.5.0 # via # -c .pin/../.pin/constraints-rocm-torch.txt # datasets @@ -102,7 +106,7 @@ hjson==3.1.0 # via # -c .pin/../.pin/constraints-rocm-torch.txt # deepspeed -huggingface-hub==0.23.3 +huggingface-hub==0.23.5 # via # -c .pin/../.pin/constraints-rocm-torch.txt # accelerate @@ -164,6 +168,10 @@ numpy==1.26.4 # pyarrow # torchvision # transformers +nvidia-ml-py==12.555.43 + # via + # -c .pin/../.pin/constraints-rocm-torch.txt + # deepspeed omegaconf==2.3.0 # via # -c .pin/../.pin/constraints-rocm-torch.txt @@ -186,7 +194,7 @@ pandas==2.2.2 # -c .pin/../.pin/constraints-rocm-torch.txt # datasets # evaluate -pillow==10.3.0 +pillow==10.4.0 # via # -c .pin/../.pin/constraints-rocm-torch.txt # torchvision @@ -204,7 +212,7 @@ py-cpuinfo==9.0.0 # via # -c .pin/../.pin/constraints-rocm-torch.txt # deepspeed -pyarrow==16.1.0 +pyarrow==17.0.0 # via # -c .pin/../.pin/constraints-rocm-torch.txt # datasets @@ -212,7 +220,7 @@ pyarrow-hotfix==0.6 # via # -c .pin/../.pin/constraints-rocm-torch.txt # datasets -pydantic==2.7.3 +pydantic==2.7.4 # via # -c .pin/../.pin/constraints-rocm-torch.txt # deepspeed @@ -224,10 +232,9 @@ pygments==2.18.0 # via # -c .pin/../.pin/constraints-rocm-torch.txt # rich -pynvml==11.5.0 +pynvml==11.5.3 # via # -c .pin/../.pin/constraints-rocm-torch.txt - # deepspeed # voir python-dateutil==2.9.0.post0 # via @@ -279,7 +286,7 @@ six==1.16.0 # -c .pin/../.pin/constraints-rocm-torch.txt # asttokens # python-dateutil -sympy==1.12.1 +sympy==1.13.0 # via # -c .pin/../.pin/constraints-rocm-torch.txt # torch @@ -311,7 +318,7 @@ tqdm==4.66.4 # evaluate # huggingface-hub # transformers -transformers==4.41.2 +transformers==4.42.4 # via # -c .pin/../.pin/constraints-rocm-torch.txt # -r benchmarks/accelerate_opt/requirements.in @@ -327,7 +334,7 @@ tzdata==2024.1 # via # -c .pin/../.pin/constraints-rocm-torch.txt # pandas -urllib3==1.26.18 +urllib3==1.26.19 # via # -c .pin/../.pin/constraints-rocm-torch.txt # requests diff --git a/benchmarks/accelerate_opt/requirements.xpu.txt b/benchmarks/accelerate_opt/requirements.xpu.txt index c9372862a..43c58b6b5 100644 --- a/benchmarks/accelerate_opt/requirements.xpu.txt +++ b/benchmarks/accelerate_opt/requirements.xpu.txt @@ -1,5 +1,5 @@ # -# This file is autogenerated by pip-compile with Python 3.11 +# This file is autogenerated by pip-compile with Python 3.10 # by the following command: # # pip-compile --output-file=benchmarks/accelerate_opt/requirements.xpu.txt .pin/tmp-constraints-xpu-opt.txt benchmarks/accelerate_opt/requirements.in @@ -9,7 +9,7 @@ --find-links https://storage.googleapis.com/jax-releases/jax_cuda_releases.html --trusted-host pypi.ngc.nvidia.com -accelerate==0.31.0 +accelerate==0.32.1 # via # -c .pin/../.pin/constraints-xpu-torch.txt # -r benchmarks/accelerate_opt/requirements.in @@ -34,6 +34,10 @@ asttokens==2.4.1 # via # -c .pin/../.pin/constraints-xpu-torch.txt # giving +async-timeout==4.0.3 + # via + # -c .pin/../.pin/constraints-xpu-torch.txt + # aiohttp attrs==23.2.0 # via # -c .pin/../.pin/constraints-xpu-torch.txt @@ -50,16 +54,16 @@ codefind==0.1.6 # via # -c .pin/../.pin/constraints-xpu-torch.txt # ptera -datasets==2.14.7 +datasets==2.20.0 # via # -c .pin/../.pin/constraints-xpu-torch.txt # -r benchmarks/accelerate_opt/requirements.in # evaluate -deepspeed==0.14.2 +deepspeed==0.14.4 # via # -c .pin/../.pin/constraints-xpu-torch.txt # -r benchmarks/accelerate_opt/requirements.in -dill==0.3.7 +dill==0.3.8 # via # -c .pin/../.pin/constraints-xpu-torch.txt # datasets @@ -73,19 +77,19 @@ executing==1.2.0 # via # -c .pin/../.pin/constraints-xpu-torch.txt # varname -filelock==3.14.0 +filelock==3.15.4 # via # -c .pin/../.pin/constraints-xpu-torch.txt + # datasets # huggingface-hub # torch # transformers - # triton frozenlist==1.4.1 # via # -c .pin/../.pin/constraints-xpu-torch.txt # aiohttp # aiosignal -fsspec[http]==2023.1.0 +fsspec[http]==2024.5.0 # via # -c .pin/../.pin/constraints-xpu-torch.txt # datasets @@ -101,7 +105,7 @@ hjson==3.1.0 # via # -c .pin/../.pin/constraints-xpu-torch.txt # deepspeed -huggingface-hub==0.17.3 +huggingface-hub==0.24.0 # via # -c .pin/../.pin/constraints-xpu-torch.txt # accelerate @@ -139,7 +143,7 @@ multidict==6.0.5 # -c .pin/../.pin/constraints-xpu-torch.txt # aiohttp # yarl -multiprocess==0.70.15 +multiprocess==0.70.16 # via # -c .pin/../.pin/constraints-xpu-torch.txt # datasets @@ -163,58 +167,10 @@ numpy==1.26.4 # pyarrow # torchvision # transformers -nvidia-cublas-cu12==12.1.3.1 - # via - # -c .pin/../.pin/constraints-xpu-torch.txt - # nvidia-cudnn-cu12 - # nvidia-cusolver-cu12 - # torch -nvidia-cuda-cupti-cu12==12.1.105 - # via - # -c .pin/../.pin/constraints-xpu-torch.txt - # torch -nvidia-cuda-nvrtc-cu12==12.1.105 - # via - # -c .pin/../.pin/constraints-xpu-torch.txt - # torch -nvidia-cuda-runtime-cu12==12.1.105 - # via - # -c .pin/../.pin/constraints-xpu-torch.txt - # torch -nvidia-cudnn-cu12==8.9.2.26 - # via - # -c .pin/../.pin/constraints-xpu-torch.txt - # torch -nvidia-cufft-cu12==11.0.2.54 - # via - # -c .pin/../.pin/constraints-xpu-torch.txt - # torch -nvidia-curand-cu12==10.3.2.106 +nvidia-ml-py==12.555.43 # via # -c .pin/../.pin/constraints-xpu-torch.txt - # torch -nvidia-cusolver-cu12==11.4.5.107 - # via - # -c .pin/../.pin/constraints-xpu-torch.txt - # torch -nvidia-cusparse-cu12==12.1.0.106 - # via - # -c .pin/../.pin/constraints-xpu-torch.txt - # nvidia-cusolver-cu12 - # torch -nvidia-nccl-cu12==2.20.5 - # via - # -c .pin/../.pin/constraints-xpu-torch.txt - # torch -nvidia-nvjitlink-cu12==12.5.40 - # via - # -c .pin/../.pin/constraints-xpu-torch.txt - # nvidia-cusolver-cu12 - # nvidia-cusparse-cu12 -nvidia-nvtx-cu12==12.1.105 - # via - # -c .pin/../.pin/constraints-xpu-torch.txt - # torch + # deepspeed omegaconf==2.3.0 # via # -c .pin/../.pin/constraints-xpu-torch.txt @@ -237,7 +193,7 @@ pandas==2.2.2 # -c .pin/../.pin/constraints-xpu-torch.txt # datasets # evaluate -pillow==10.3.0 +pillow==10.4.0 # via # -c .pin/../.pin/constraints-xpu-torch.txt # torchvision @@ -255,7 +211,7 @@ py-cpuinfo==9.0.0 # via # -c .pin/../.pin/constraints-xpu-torch.txt # deepspeed -pyarrow==16.1.0 +pyarrow==17.0.0 # via # -c .pin/../.pin/constraints-xpu-torch.txt # datasets @@ -263,7 +219,7 @@ pyarrow-hotfix==0.6 # via # -c .pin/../.pin/constraints-xpu-torch.txt # datasets -pydantic==2.7.3 +pydantic==2.7.4 # via # -c .pin/../.pin/constraints-xpu-torch.txt # deepspeed @@ -275,10 +231,9 @@ pygments==2.18.0 # via # -c .pin/../.pin/constraints-xpu-torch.txt # rich -pynvml==11.5.0 +pynvml==11.5.3 # via # -c .pin/../.pin/constraints-xpu-torch.txt - # deepspeed # voir python-dateutil==2.9.0.post0 # via @@ -309,8 +264,8 @@ requests==2.32.3 # -c .pin/../.pin/constraints-xpu-torch.txt # datasets # evaluate - # fsspec # huggingface-hub + # torchvision # transformers rich==13.7.1 # via @@ -327,15 +282,15 @@ six==1.16.0 # -c .pin/../.pin/constraints-xpu-torch.txt # asttokens # python-dateutil -sympy==1.12.1 +sympy==1.13.0 # via # -c .pin/../.pin/constraints-xpu-torch.txt # torch -tokenizers==0.15.2 +tokenizers==0.19.1 # via # -c .pin/../.pin/constraints-xpu-torch.txt # transformers -torch==2.3.1 +torch==2.1.0.post2+cxx11.abi # via # -c .pin/../.pin/constraints-xpu-torch.txt # -c .pin/../constraints/xpu.txt @@ -344,12 +299,12 @@ torch==2.3.1 # deepspeed # torchaudio # torchvision -torchaudio==2.3.1 +torchaudio==2.1.0.post2+cxx11.abi # via # -c .pin/../.pin/constraints-xpu-torch.txt # -c .pin/../constraints/xpu.txt # -r benchmarks/accelerate_opt/requirements.in -torchvision==0.18.1 +torchvision==0.16.0.post2+cxx11.abi # via # -c .pin/../.pin/constraints-xpu-torch.txt # -c .pin/../constraints/xpu.txt @@ -362,14 +317,10 @@ tqdm==4.66.4 # evaluate # huggingface-hub # transformers -transformers==4.35.2 +transformers==4.42.4 # via # -c .pin/../.pin/constraints-xpu-torch.txt # -r benchmarks/accelerate_opt/requirements.in -triton==2.3.1 - # via - # -c .pin/../.pin/constraints-xpu-torch.txt - # torch typing-extensions==4.12.2 # via # -c .pin/../.pin/constraints-xpu-torch.txt @@ -382,7 +333,7 @@ tzdata==2024.1 # via # -c .pin/../.pin/constraints-xpu-torch.txt # pandas -urllib3==1.26.18 +urllib3==1.26.19 # via # -c .pin/../.pin/constraints-xpu-torch.txt # requests diff --git a/benchmarks/accelerate_opt/voirfile.py b/benchmarks/accelerate_opt/voirfile.py new file mode 100644 index 000000000..7a958e89b --- /dev/null +++ b/benchmarks/accelerate_opt/voirfile.py @@ -0,0 +1,34 @@ +from dataclasses import dataclass + +from voir import configurable +from voir.phase import StopProgram + + +@dataclass +class Config: + """voir configuration""" + + # Whether to display the dash or not + dash: bool = False + + # How often to log the rates + interval: str = "1s" + + # Number of rates to skip before logging + skip: int = 5 + + # Number of rates to log before stopping + stop: int = 20 + + # Number of seconds between each gpu poll + gpu_poll: int = 3 + + +@configurable +def instrument_main(ov, options: Config): + yield ov.phases.init + + try: + yield ov.phases.run_script + except StopProgram: + print("early stopped") diff --git a/benchmarks/brax/requirements.cuda.txt b/benchmarks/brax/requirements.cuda.txt index 967ecd889..2a424416a 100644 --- a/benchmarks/brax/requirements.cuda.txt +++ b/benchmarks/brax/requirements.cuda.txt @@ -1,5 +1,5 @@ # -# This file is autogenerated by pip-compile with Python 3.11 +# This file is autogenerated by pip-compile with Python 3.10 # by the following command: # # pip-compile --output-file=benchmarks/brax/requirements.cuda.txt .pin/tmp-constraints-cuda-brax.txt benchmarks/brax/requirements.in @@ -64,18 +64,19 @@ dm-tree==0.1.8 # via # -c .pin/../.pin/constraints-cuda-torch.txt # dm-env -etils[epath,epy]==1.9.1 +etils[epath,epy]==1.7.0 # via # -c .pin/../.pin/constraints-cuda-torch.txt # brax # mujoco # mujoco-mjx + # optax # orbax-checkpoint executing==1.2.0 # via # -c .pin/../.pin/constraints-cuda-torch.txt # varname -filelock==3.14.0 +filelock==3.15.4 # via # -c .pin/../.pin/constraints-cuda-torch.txt # torch @@ -89,11 +90,11 @@ flask-cors==4.0.1 # via # -c .pin/../.pin/constraints-cuda-torch.txt # brax -flax==0.8.4 +flax==0.8.5 # via # -c .pin/../.pin/constraints-cuda-torch.txt # brax -fsspec==2023.1.0 +fsspec==2024.5.0 # via # -c .pin/../.pin/constraints-cuda-torch.txt # etils @@ -107,7 +108,7 @@ glfw==2.7.0 # via # -c .pin/../.pin/constraints-cuda-torch.txt # mujoco -grpcio==1.64.1 +grpcio==1.65.1 # via # -c .pin/../.pin/constraints-cuda-torch.txt # brax @@ -198,12 +199,12 @@ msgpack==1.0.8 # -c .pin/../.pin/constraints-cuda-torch.txt # flax # orbax-checkpoint -mujoco==3.1.6 +mujoco==3.2.0 # via # -c .pin/../.pin/constraints-cuda-torch.txt # brax # mujoco-mjx -mujoco-mjx==3.1.6 +mujoco-mjx==3.2.0 # via # -c .pin/../.pin/constraints-cuda-torch.txt # brax @@ -247,7 +248,7 @@ nvidia-cuda-cupti-cu12==12.1.105 # -c .pin/../.pin/constraints-cuda-torch.txt # jax # torch -nvidia-cuda-nvcc-cu12==12.5.40 +nvidia-cuda-nvcc-cu12==12.5.82 # via # -c .pin/../.pin/constraints-cuda-torch.txt # jax @@ -290,7 +291,7 @@ nvidia-nccl-cu12==2.20.5 # -c .pin/../.pin/constraints-cuda-torch.txt # jax # torch -nvidia-nvjitlink-cu12==12.5.40 +nvidia-nvjitlink-cu12==12.5.82 # via # -c .pin/../.pin/constraints-cuda-torch.txt # jax @@ -308,12 +309,12 @@ opt-einsum==3.3.0 # via # -c .pin/../.pin/constraints-cuda-torch.txt # jax -optax==0.2.2 +optax==0.2.3 # via # -c .pin/../.pin/constraints-cuda-torch.txt # brax # flax -orbax-checkpoint==0.5.15 +orbax-checkpoint==0.5.22 # via # -c .pin/../.pin/constraints-cuda-torch.txt # brax @@ -326,7 +327,7 @@ packaging==24.1 # via # -c .pin/../.pin/constraints-cuda-torch.txt # tensorboardx -pillow==10.3.0 +pillow==10.4.0 # via # -c .pin/../.pin/constraints-cuda-torch.txt # brax @@ -347,7 +348,7 @@ pygments==2.18.0 # via # -c .pin/../.pin/constraints-cuda-torch.txt # rich -pynvml==11.5.0 +pynvml==11.5.3 # via # -c .pin/../.pin/constraints-cuda-torch.txt # voir @@ -375,7 +376,7 @@ rich==13.7.1 # -c .pin/../.pin/constraints-cuda-torch.txt # flax # voir -scipy==1.13.1 +scipy==1.14.0 # via # -c .pin/../.pin/constraints-cuda-torch.txt # brax @@ -388,7 +389,7 @@ six==1.16.0 # -c .pin/../.pin/constraints-cuda-torch.txt # asttokens # ml-collections -sympy==1.12.1 +sympy==1.13.1 # via # -c .pin/../.pin/constraints-cuda-torch.txt # torch @@ -396,7 +397,7 @@ tensorboardx==2.6.2.2 # via # -c .pin/../.pin/constraints-cuda-torch.txt # brax -tensorstore==0.1.61 +tensorstore==0.1.63 # via # -c .pin/../.pin/constraints-cuda-torch.txt # flax @@ -409,7 +410,7 @@ torch==2.3.1+cu121 # via # -c .pin/../.pin/constraints-cuda-torch.txt # -r benchmarks/brax/requirements.in -trimesh==4.4.1 +trimesh==4.4.3 # via # -c .pin/../.pin/constraints-cuda-torch.txt # brax diff --git a/benchmarks/brax/requirements.hpu.txt b/benchmarks/brax/requirements.hpu.txt index f5a5f94cb..697cc34c5 100644 --- a/benchmarks/brax/requirements.hpu.txt +++ b/benchmarks/brax/requirements.hpu.txt @@ -1,5 +1,5 @@ # -# This file is autogenerated by pip-compile with Python 3.11 +# This file is autogenerated by pip-compile with Python 3.10 # by the following command: # # pip-compile --output-file=benchmarks/brax/requirements.hpu.txt .pin/tmp-constraints-hpu-brax.txt benchmarks/brax/requirements.in @@ -63,18 +63,19 @@ dm-tree==0.1.8 # via # -c .pin/../.pin/constraints-hpu-torch.txt # dm-env -etils[epath,epy]==1.9.1 +etils[epath,epy]==1.7.0 # via # -c .pin/../.pin/constraints-hpu-torch.txt # brax # mujoco # mujoco-mjx + # optax # orbax-checkpoint executing==1.2.0 # via # -c .pin/../.pin/constraints-hpu-torch.txt # varname -filelock==3.14.0 +filelock==3.15.4 # via # -c .pin/../.pin/constraints-hpu-torch.txt # torch @@ -88,11 +89,11 @@ flask-cors==4.0.1 # via # -c .pin/../.pin/constraints-hpu-torch.txt # brax -flax==0.8.4 +flax==0.8.5 # via # -c .pin/../.pin/constraints-hpu-torch.txt # brax -fsspec==2024.3.1 +fsspec==2024.5.0 # via # -c .pin/../.pin/constraints-hpu-torch.txt # etils @@ -106,7 +107,7 @@ glfw==2.7.0 # via # -c .pin/../.pin/constraints-hpu-torch.txt # mujoco -grpcio==1.64.1 +grpcio==1.65.1 # via # -c .pin/../.pin/constraints-hpu-torch.txt # brax @@ -197,12 +198,12 @@ msgpack==1.0.8 # -c .pin/../.pin/constraints-hpu-torch.txt # flax # orbax-checkpoint -mujoco==3.1.6 +mujoco==3.2.0 # via # -c .pin/../.pin/constraints-hpu-torch.txt # brax # mujoco-mjx -mujoco-mjx==3.1.6 +mujoco-mjx==3.2.0 # via # -c .pin/../.pin/constraints-hpu-torch.txt # brax @@ -246,7 +247,7 @@ nvidia-cuda-cupti-cu12==12.1.105 # -c .pin/../.pin/constraints-hpu-torch.txt # jax # torch -nvidia-cuda-nvcc-cu12==12.5.40 +nvidia-cuda-nvcc-cu12==12.5.82 # via # -c .pin/../.pin/constraints-hpu-torch.txt # jax @@ -289,7 +290,7 @@ nvidia-nccl-cu12==2.20.5 # -c .pin/../.pin/constraints-hpu-torch.txt # jax # torch -nvidia-nvjitlink-cu12==12.5.40 +nvidia-nvjitlink-cu12==12.5.82 # via # -c .pin/../.pin/constraints-hpu-torch.txt # jax @@ -307,12 +308,12 @@ opt-einsum==3.3.0 # via # -c .pin/../.pin/constraints-hpu-torch.txt # jax -optax==0.2.2 +optax==0.2.3 # via # -c .pin/../.pin/constraints-hpu-torch.txt # brax # flax -orbax-checkpoint==0.5.15 +orbax-checkpoint==0.5.21 # via # -c .pin/../.pin/constraints-hpu-torch.txt # brax @@ -325,7 +326,7 @@ packaging==24.1 # via # -c .pin/../.pin/constraints-hpu-torch.txt # tensorboardx -pillow==10.3.0 +pillow==10.4.0 # via # -c .pin/../.pin/constraints-hpu-torch.txt # brax @@ -346,7 +347,7 @@ pygments==2.18.0 # via # -c .pin/../.pin/constraints-hpu-torch.txt # rich -pynvml==11.5.0 +pynvml==11.5.3 # via # -c .pin/../.pin/constraints-hpu-torch.txt # voir @@ -374,7 +375,7 @@ rich==13.7.1 # -c .pin/../.pin/constraints-hpu-torch.txt # flax # voir -scipy==1.13.1 +scipy==1.14.0 # via # -c .pin/../.pin/constraints-hpu-torch.txt # brax @@ -387,7 +388,7 @@ six==1.16.0 # -c .pin/../.pin/constraints-hpu-torch.txt # asttokens # ml-collections -sympy==1.12.1 +sympy==1.13.0 # via # -c .pin/../.pin/constraints-hpu-torch.txt # torch @@ -395,7 +396,7 @@ tensorboardx==2.6.2.2 # via # -c .pin/../.pin/constraints-hpu-torch.txt # brax -tensorstore==0.1.61 +tensorstore==0.1.63 # via # -c .pin/../.pin/constraints-hpu-torch.txt # flax @@ -408,7 +409,7 @@ torch==2.3.1 # via # -c .pin/../.pin/constraints-hpu-torch.txt # -r benchmarks/brax/requirements.in -trimesh==4.4.1 +trimesh==4.4.3 # via # -c .pin/../.pin/constraints-hpu-torch.txt # brax diff --git a/benchmarks/brax/requirements.rocm.txt b/benchmarks/brax/requirements.rocm.txt index 8abb2085a..d73451da4 100644 --- a/benchmarks/brax/requirements.rocm.txt +++ b/benchmarks/brax/requirements.rocm.txt @@ -1,5 +1,5 @@ # -# This file is autogenerated by pip-compile with Python 3.11 +# This file is autogenerated by pip-compile with Python 3.10 # by the following command: # # pip-compile --output-file=benchmarks/brax/requirements.rocm.txt .pin/tmp-constraints-rocm-brax.txt benchmarks/brax/requirements.in @@ -64,18 +64,19 @@ dm-tree==0.1.8 # via # -c .pin/../.pin/constraints-rocm-torch.txt # dm-env -etils[epath,epy]==1.9.2 +etils[epath,epy]==1.7.0 # via # -c .pin/../.pin/constraints-rocm-torch.txt # brax # mujoco # mujoco-mjx + # optax # orbax-checkpoint executing==1.2.0 # via # -c .pin/../.pin/constraints-rocm-torch.txt # varname -filelock==3.14.0 +filelock==3.15.4 # via # -c .pin/../.pin/constraints-rocm-torch.txt # pytorch-triton-rocm @@ -89,11 +90,11 @@ flask-cors==4.0.1 # via # -c .pin/../.pin/constraints-rocm-torch.txt # brax -flax==0.8.4 +flax==0.8.5 # via # -c .pin/../.pin/constraints-rocm-torch.txt # brax -fsspec==2024.3.1 +fsspec==2024.5.0 # via # -c .pin/../.pin/constraints-rocm-torch.txt # etils @@ -107,7 +108,7 @@ glfw==2.7.0 # via # -c .pin/../.pin/constraints-rocm-torch.txt # mujoco -grpcio==1.64.1 +grpcio==1.65.1 # via # -c .pin/../.pin/constraints-rocm-torch.txt # brax @@ -127,7 +128,7 @@ itsdangerous==2.2.0 # via # -c .pin/../.pin/constraints-rocm-torch.txt # flask -jax[cuda12]==0.4.29 +jax[cuda12]==0.4.30 # via # -c .pin/../.pin/constraints-rocm-torch.txt # -r benchmarks/brax/requirements.in @@ -138,15 +139,15 @@ jax[cuda12]==0.4.29 # mujoco-mjx # optax # orbax-checkpoint -jax-cuda12-pjrt==0.4.29 +jax-cuda12-pjrt==0.4.30 # via # -c .pin/../.pin/constraints-rocm-torch.txt # jax-cuda12-plugin -jax-cuda12-plugin==0.4.29 +jax-cuda12-plugin[with-cuda]==0.4.30 # via # -c .pin/../.pin/constraints-rocm-torch.txt # jax -jaxlib==0.4.29+cuda12.cudnn91 +jaxlib==0.4.30 # via # -c .pin/../.pin/constraints-rocm-torch.txt # brax @@ -198,12 +199,12 @@ msgpack==1.0.8 # -c .pin/../.pin/constraints-rocm-torch.txt # flax # orbax-checkpoint -mujoco==3.1.6 +mujoco==3.2.0 # via # -c .pin/../.pin/constraints-rocm-torch.txt # brax # mujoco-mjx -mujoco-mjx==3.1.6 +mujoco-mjx==3.2.0 # via # -c .pin/../.pin/constraints-rocm-torch.txt # brax @@ -235,49 +236,49 @@ numpy==1.26.4 # tensorboardx # tensorstore # trimesh -nvidia-cublas-cu12==12.5.2.13 +nvidia-cublas-cu12==12.5.3.2 # via # -c .pin/../.pin/constraints-rocm-torch.txt - # jax + # jax-cuda12-plugin # nvidia-cudnn-cu12 # nvidia-cusolver-cu12 -nvidia-cuda-cupti-cu12==12.5.39 +nvidia-cuda-cupti-cu12==12.5.82 # via # -c .pin/../.pin/constraints-rocm-torch.txt - # jax -nvidia-cuda-nvcc-cu12==12.5.40 + # jax-cuda12-plugin +nvidia-cuda-nvcc-cu12==12.5.82 # via # -c .pin/../.pin/constraints-rocm-torch.txt - # jax -nvidia-cuda-runtime-cu12==12.5.39 + # jax-cuda12-plugin +nvidia-cuda-runtime-cu12==12.5.82 # via # -c .pin/../.pin/constraints-rocm-torch.txt - # jax -nvidia-cudnn-cu12==9.1.1.17 + # jax-cuda12-plugin +nvidia-cudnn-cu12==9.2.1.18 # via # -c .pin/../.pin/constraints-rocm-torch.txt - # jax -nvidia-cufft-cu12==11.2.3.18 + # jax-cuda12-plugin +nvidia-cufft-cu12==11.2.3.61 # via # -c .pin/../.pin/constraints-rocm-torch.txt - # jax -nvidia-cusolver-cu12==11.6.2.40 + # jax-cuda12-plugin +nvidia-cusolver-cu12==11.6.3.83 # via # -c .pin/../.pin/constraints-rocm-torch.txt - # jax -nvidia-cusparse-cu12==12.4.1.24 + # jax-cuda12-plugin +nvidia-cusparse-cu12==12.5.1.3 # via # -c .pin/../.pin/constraints-rocm-torch.txt - # jax + # jax-cuda12-plugin # nvidia-cusolver-cu12 -nvidia-nccl-cu12==2.21.5 +nvidia-nccl-cu12==2.22.3 # via # -c .pin/../.pin/constraints-rocm-torch.txt - # jax -nvidia-nvjitlink-cu12==12.5.40 + # jax-cuda12-plugin +nvidia-nvjitlink-cu12==12.5.82 # via # -c .pin/../.pin/constraints-rocm-torch.txt - # jax + # jax-cuda12-plugin # nvidia-cufft-cu12 # nvidia-cusolver-cu12 # nvidia-cusparse-cu12 @@ -289,12 +290,12 @@ opt-einsum==3.3.0 # via # -c .pin/../.pin/constraints-rocm-torch.txt # jax -optax==0.2.2 +optax==0.2.3 # via # -c .pin/../.pin/constraints-rocm-torch.txt # brax # flax -orbax-checkpoint==0.5.16 +orbax-checkpoint==0.5.21 # via # -c .pin/../.pin/constraints-rocm-torch.txt # brax @@ -307,7 +308,7 @@ packaging==24.1 # via # -c .pin/../.pin/constraints-rocm-torch.txt # tensorboardx -pillow==10.3.0 +pillow==10.4.0 # via # -c .pin/../.pin/constraints-rocm-torch.txt # brax @@ -328,7 +329,7 @@ pygments==2.18.0 # via # -c .pin/../.pin/constraints-rocm-torch.txt # rich -pynvml==11.5.0 +pynvml==11.5.3 # via # -c .pin/../.pin/constraints-rocm-torch.txt # voir @@ -360,7 +361,7 @@ rich==13.7.1 # -c .pin/../.pin/constraints-rocm-torch.txt # flax # voir -scipy==1.13.1 +scipy==1.14.0 # via # -c .pin/../.pin/constraints-rocm-torch.txt # brax @@ -373,7 +374,7 @@ six==1.16.0 # -c .pin/../.pin/constraints-rocm-torch.txt # asttokens # ml-collections -sympy==1.12.1 +sympy==1.13.0 # via # -c .pin/../.pin/constraints-rocm-torch.txt # torch @@ -381,7 +382,7 @@ tensorboardx==2.6.2.2 # via # -c .pin/../.pin/constraints-rocm-torch.txt # brax -tensorstore==0.1.61 +tensorstore==0.1.63 # via # -c .pin/../.pin/constraints-rocm-torch.txt # flax @@ -394,7 +395,7 @@ torch==2.3.1+rocm6.0 # via # -c .pin/../.pin/constraints-rocm-torch.txt # -r benchmarks/brax/requirements.in -trimesh==4.4.1 +trimesh==4.4.3 # via # -c .pin/../.pin/constraints-rocm-torch.txt # brax diff --git a/benchmarks/brax/requirements.xpu.txt b/benchmarks/brax/requirements.xpu.txt index c581a2488..ae6d4212c 100644 --- a/benchmarks/brax/requirements.xpu.txt +++ b/benchmarks/brax/requirements.xpu.txt @@ -1,5 +1,5 @@ # -# This file is autogenerated by pip-compile with Python 3.11 +# This file is autogenerated by pip-compile with Python 3.10 # by the following command: # # pip-compile --output-file=benchmarks/brax/requirements.xpu.txt .pin/tmp-constraints-xpu-brax.txt benchmarks/brax/requirements.in @@ -64,22 +64,22 @@ dm-tree==0.1.8 # via # -c .pin/../.pin/constraints-xpu-torch.txt # dm-env -etils[epath,epy]==1.9.1 +etils[epath,epy]==1.7.0 # via # -c .pin/../.pin/constraints-xpu-torch.txt # brax # mujoco # mujoco-mjx + # optax # orbax-checkpoint executing==1.2.0 # via # -c .pin/../.pin/constraints-xpu-torch.txt # varname -filelock==3.14.0 +filelock==3.15.4 # via # -c .pin/../.pin/constraints-xpu-torch.txt # torch - # triton flask==3.0.3 # via # -c .pin/../.pin/constraints-xpu-torch.txt @@ -89,11 +89,11 @@ flask-cors==4.0.1 # via # -c .pin/../.pin/constraints-xpu-torch.txt # brax -flax==0.8.4 +flax==0.8.5 # via # -c .pin/../.pin/constraints-xpu-torch.txt # brax -fsspec==2023.1.0 +fsspec==2024.5.0 # via # -c .pin/../.pin/constraints-xpu-torch.txt # etils @@ -107,7 +107,7 @@ glfw==2.7.0 # via # -c .pin/../.pin/constraints-xpu-torch.txt # mujoco -grpcio==1.64.1 +grpcio==1.65.1 # via # -c .pin/../.pin/constraints-xpu-torch.txt # brax @@ -127,7 +127,7 @@ itsdangerous==2.2.0 # via # -c .pin/../.pin/constraints-xpu-torch.txt # flask -jax[cuda12]==0.4.28 +jax[cuda12]==0.4.30 # via # -c .pin/../.pin/constraints-xpu-torch.txt # -r benchmarks/brax/requirements.in @@ -138,15 +138,15 @@ jax[cuda12]==0.4.28 # mujoco-mjx # optax # orbax-checkpoint -jax-cuda12-pjrt==0.4.28 +jax-cuda12-pjrt==0.4.30 # via # -c .pin/../.pin/constraints-xpu-torch.txt # jax-cuda12-plugin -jax-cuda12-plugin==0.4.28 +jax-cuda12-plugin[with-cuda]==0.4.30 # via # -c .pin/../.pin/constraints-xpu-torch.txt # jax -jaxlib==0.4.28+cuda12.cudnn89 +jaxlib==0.4.30 # via # -c .pin/../.pin/constraints-xpu-torch.txt # brax @@ -198,12 +198,12 @@ msgpack==1.0.8 # -c .pin/../.pin/constraints-xpu-torch.txt # flax # orbax-checkpoint -mujoco==3.1.6 +mujoco==3.2.0 # via # -c .pin/../.pin/constraints-xpu-torch.txt # brax # mujoco-mjx -mujoco-mjx==3.1.6 +mujoco-mjx==3.2.0 # via # -c .pin/../.pin/constraints-xpu-torch.txt # brax @@ -235,71 +235,52 @@ numpy==1.26.4 # tensorboardx # tensorstore # trimesh -nvidia-cublas-cu12==12.1.3.1 +nvidia-cublas-cu12==12.5.3.2 # via # -c .pin/../.pin/constraints-xpu-torch.txt - # jax + # jax-cuda12-plugin # nvidia-cudnn-cu12 # nvidia-cusolver-cu12 - # torch -nvidia-cuda-cupti-cu12==12.1.105 - # via - # -c .pin/../.pin/constraints-xpu-torch.txt - # jax - # torch -nvidia-cuda-nvcc-cu12==12.5.40 - # via - # -c .pin/../.pin/constraints-xpu-torch.txt - # jax -nvidia-cuda-nvrtc-cu12==12.1.105 +nvidia-cuda-cupti-cu12==12.5.82 # via # -c .pin/../.pin/constraints-xpu-torch.txt - # torch -nvidia-cuda-runtime-cu12==12.1.105 + # jax-cuda12-plugin +nvidia-cuda-nvcc-cu12==12.5.82 # via # -c .pin/../.pin/constraints-xpu-torch.txt - # jax - # torch -nvidia-cudnn-cu12==8.9.2.26 + # jax-cuda12-plugin +nvidia-cuda-runtime-cu12==12.5.82 # via # -c .pin/../.pin/constraints-xpu-torch.txt - # jax - # torch -nvidia-cufft-cu12==11.0.2.54 + # jax-cuda12-plugin +nvidia-cudnn-cu12==9.2.1.18 # via # -c .pin/../.pin/constraints-xpu-torch.txt - # jax - # torch -nvidia-curand-cu12==10.3.2.106 + # jax-cuda12-plugin +nvidia-cufft-cu12==11.2.3.61 # via # -c .pin/../.pin/constraints-xpu-torch.txt - # torch -nvidia-cusolver-cu12==11.4.5.107 + # jax-cuda12-plugin +nvidia-cusolver-cu12==11.6.3.83 # via # -c .pin/../.pin/constraints-xpu-torch.txt - # jax - # torch -nvidia-cusparse-cu12==12.1.0.106 + # jax-cuda12-plugin +nvidia-cusparse-cu12==12.5.1.3 # via # -c .pin/../.pin/constraints-xpu-torch.txt - # jax + # jax-cuda12-plugin # nvidia-cusolver-cu12 - # torch -nvidia-nccl-cu12==2.20.5 +nvidia-nccl-cu12==2.22.3 # via # -c .pin/../.pin/constraints-xpu-torch.txt - # jax - # torch -nvidia-nvjitlink-cu12==12.5.40 + # jax-cuda12-plugin +nvidia-nvjitlink-cu12==12.5.82 # via # -c .pin/../.pin/constraints-xpu-torch.txt - # jax + # jax-cuda12-plugin + # nvidia-cufft-cu12 # nvidia-cusolver-cu12 # nvidia-cusparse-cu12 -nvidia-nvtx-cu12==12.1.105 - # via - # -c .pin/../.pin/constraints-xpu-torch.txt - # torch omegaconf==2.3.0 # via # -c .pin/../.pin/constraints-xpu-torch.txt @@ -308,12 +289,12 @@ opt-einsum==3.3.0 # via # -c .pin/../.pin/constraints-xpu-torch.txt # jax -optax==0.2.2 +optax==0.2.3 # via # -c .pin/../.pin/constraints-xpu-torch.txt # brax # flax -orbax-checkpoint==0.5.15 +orbax-checkpoint==0.5.21 # via # -c .pin/../.pin/constraints-xpu-torch.txt # brax @@ -326,7 +307,7 @@ packaging==24.1 # via # -c .pin/../.pin/constraints-xpu-torch.txt # tensorboardx -pillow==10.3.0 +pillow==10.4.0 # via # -c .pin/../.pin/constraints-xpu-torch.txt # brax @@ -347,7 +328,7 @@ pygments==2.18.0 # via # -c .pin/../.pin/constraints-xpu-torch.txt # rich -pynvml==11.5.0 +pynvml==11.5.3 # via # -c .pin/../.pin/constraints-xpu-torch.txt # voir @@ -375,7 +356,7 @@ rich==13.7.1 # -c .pin/../.pin/constraints-xpu-torch.txt # flax # voir -scipy==1.13.1 +scipy==1.14.0 # via # -c .pin/../.pin/constraints-xpu-torch.txt # brax @@ -388,7 +369,7 @@ six==1.16.0 # -c .pin/../.pin/constraints-xpu-torch.txt # asttokens # ml-collections -sympy==1.12.1 +sympy==1.13.0 # via # -c .pin/../.pin/constraints-xpu-torch.txt # torch @@ -396,7 +377,7 @@ tensorboardx==2.6.2.2 # via # -c .pin/../.pin/constraints-xpu-torch.txt # brax -tensorstore==0.1.61 +tensorstore==0.1.63 # via # -c .pin/../.pin/constraints-xpu-torch.txt # flax @@ -405,20 +386,16 @@ toolz==0.12.1 # via # -c .pin/../.pin/constraints-xpu-torch.txt # chex -torch==2.3.1 +torch==2.1.0.post2+cxx11.abi # via # -c .pin/../.pin/constraints-xpu-torch.txt # -c .pin/../constraints/xpu.txt # -r benchmarks/brax/requirements.in -trimesh==4.4.1 +trimesh==4.4.3 # via # -c .pin/../.pin/constraints-xpu-torch.txt # brax # mujoco-mjx -triton==2.3.1 - # via - # -c .pin/../.pin/constraints-xpu-torch.txt - # torch typing-extensions==4.12.2 # via # -c .pin/../.pin/constraints-xpu-torch.txt diff --git a/benchmarks/diffusion/Makefile b/benchmarks/diffusion/Makefile new file mode 100644 index 000000000..6f56bd6f1 --- /dev/null +++ b/benchmarks/diffusion/Makefile @@ -0,0 +1,35 @@ +# Use global base if possible +ifndef MILABENCH_BASE + MILABENCH_BASE="base" +endif + +export MILABENCH_BASE + +BENCH_NAME=diffusion +MILABENCH_CONFIG=dev.yaml +MILABENCH_ARGS=--config $(MILABENCH_CONFIG) --base $(MILABENCH_BASE) + +all: + install prepare single gpus nodes + +install: + milabench install $(MILABENCH_ARGS) --force + +prepare: + milabench prepare $(MILABENCH_ARGS) + +tests: install prepare + milabench run $(MILABENCH_ARGS) + +debug: + export CUDA_VISIBLE_DEVICES=0 + milabench run $(MILABENCH_ARGS) --select $(BENCH_NAME)-gpus + +single: + milabench run $(MILABENCH_ARGS) --select $(BENCH_NAME)-single + +gpus: + milabench run $(MILABENCH_ARGS) --select $(BENCH_NAME)-gpus + +nodes: + milabench run $(MILABENCH_ARGS) --select $(BENCH_NAME)-nodes diff --git a/benchmarks/diffusion/README.md b/benchmarks/diffusion/README.md new file mode 100644 index 000000000..367fff836 --- /dev/null +++ b/benchmarks/diffusion/README.md @@ -0,0 +1,4 @@ + +# Diffusion + +Rewrite this README to explain what the benchmark is! diff --git a/benchmarks/diffusion/benchfile.py b/benchmarks/diffusion/benchfile.py new file mode 100644 index 000000000..ed2614fbb --- /dev/null +++ b/benchmarks/diffusion/benchfile.py @@ -0,0 +1,44 @@ +from milabench.pack import Package + +from milabench.commands import AccelerateAllNodes + + +class Diffusion(Package): + # Requirements file installed by install(). It can be empty or absent. + base_requirements = "requirements.in" + + # The preparation script called by prepare(). It must be executable, + # but it can be any type of script. It can be empty or absent. + prepare_script = "prepare.py" + + # The main script called by run(). It must be a Python file. It has to + # be present. + main_script = "main.py" + + # You can remove the functions below if you don't need to modify them. + + def make_env(self): + return { + **super().make_env(), + "OMP_NUM_THREADS": str(self.config.get("cpus_per_gpu", 8)), + } + + async def install(self): + await super().install() # super() call installs the requirements + + async def prepare(self): + await super().prepare() # super() call executes prepare_script + + def build_run_plan(self): + from milabench.commands import PackCommand + + main = self.dirs.code / self.main_script + plan = PackCommand(self, *self.argv, lazy=True) + + if False: + plan = VoirCommand(plan, cwd=main.parent) + + return AccelerateAllNodes(plan).use_stdout() + + +__pack__ = Diffusion diff --git a/benchmarks/diffusion/dev.yaml b/benchmarks/diffusion/dev.yaml new file mode 100644 index 000000000..2c64ff825 --- /dev/null +++ b/benchmarks/diffusion/dev.yaml @@ -0,0 +1,38 @@ + + + +_diffusion: + inherits: _defaults + definition: . + install-variant: unpinned + install_group: torch + + argv: + --train_batch_size: 32 + --num_epochs: 5 + +diffusion-single: + inherits: _diffusion + + num_machines: 1 + plan: + method: per_gpu + +diffusion-gpus: + inherits: _diffusion + + num_machines: 1 + plan: + method: njobs + n: 1 + +diffusion-nodes: + inherits: _diffusion + + num_machines: 2 + plan: + method: njobs + n: 1 + + requires_capabilities: + - "len(nodes) >= ${num_machines}" diff --git a/benchmarks/diffusion/main.py b/benchmarks/diffusion/main.py new file mode 100644 index 000000000..cff53451a --- /dev/null +++ b/benchmarks/diffusion/main.py @@ -0,0 +1,231 @@ +from dataclasses import dataclass + +from accelerate import Accelerator + +import math +import random +from contextlib import nullcontext +from pathlib import Path + +import numpy as np +import torch +import torch.nn.functional as F +import torch.utils.checkpoint +from accelerate import Accelerator +from datasets import load_dataset +from torchvision import transforms +from tqdm.auto import tqdm +from transformers import CLIPTextModel, CLIPTokenizer + +from diffusers import AutoencoderKL, DDPMScheduler, UNet2DConditionModel +from diffusers.optimization import get_scheduler + +@dataclass +class Arguments: + model: str = "runwayml/stable-diffusion-v1-5" + dataset: str = "lambdalabs/naruto-blip-captions" + batch_size: int = 16 + num_workers: int = 8 + revision: str = None + variant: str = None + gradient_accumulation_steps: int = 1 + learning_rate: float = 1e-4 + scale_lr: bool = True + adam_beta1: float = 0.9 + adam_beta2: float = 0.999 + adam_weight_decay: float = 1e-2 + adam_epsilon: float = 1e-08 + max_grad_norm: float = 1.0 + mixed_precision: str = "bf16" + resolution: int = 512 + center_crop: bool = False + random_flip: bool = False + variant: str = None + lr_scheduler: str = "constant" + lr_warmup_steps: int = 500 + epochs: int = 10 + + +def models(accelerator, args: Arguments): + encoder = CLIPTextModel.from_pretrained( + args.model, subfolder="text_encoder", revision=args.revision, variant=args.variant + ) + vae = AutoencoderKL.from_pretrained( + args.model, subfolder="vae", revision=args.revision, variant=args.variant + ) + + unet = UNet2DConditionModel.from_pretrained( + args.model, subfolder="unet", revision=args.revision, variant=args.variant + ) + + vae.requires_grad_(False) + encoder.requires_grad_(False) + unet.train() + + # Move text_encode and vae to gpu and cast to weight_dtype + encoder.to(accelerator.device, dtype=torch.bfloat16) + vae.to(accelerator.device, dtype=torch.bfloat16) + + return encoder, vae, unet + + +def dataset(accelerator, args: Arguments): + dataset = load_dataset(args.dataset, None) + + image_column = "image" + caption_column = "text" + + tokenizer = CLIPTokenizer.from_pretrained( + args.model, subfolder="tokenizer", revision=args.revision + ) + + # Preprocessing the datasets. + # We need to tokenize input captions and transform the images. + def tokenize_captions(examples, is_train=True): + captions = [] + for caption in examples[caption_column]: + if isinstance(caption, str): + captions.append(caption) + elif isinstance(caption, (list, np.ndarray)): + # take a random caption if there are multiple + captions.append(random.choice(caption) if is_train else caption[0]) + else: + raise ValueError( + f"Caption column `{caption_column}` should contain either strings or lists of strings." + ) + inputs = tokenizer( + captions, max_length=tokenizer.model_max_length, padding="max_length", truncation=True, return_tensors="pt" + ) + return inputs.input_ids + + # Preprocessing the datasets. + train_transforms = transforms.Compose( + [ + transforms.Resize(args.resolution, interpolation=transforms.InterpolationMode.BILINEAR), + transforms.CenterCrop(args.resolution) if args.center_crop else transforms.RandomCrop(args.resolution), + transforms.RandomHorizontalFlip() if args.random_flip else transforms.Lambda(lambda x: x), + transforms.ToTensor(), + transforms.Normalize([0.5], [0.5]), + ] + ) + + def preprocess_train(examples): + images = [image.convert("RGB") for image in examples[image_column]] + examples["pixel_values"] = [train_transforms(image) for image in images] + examples["input_ids"] = tokenize_captions(examples) + return examples + + with accelerator.main_process_first(): + # Set the training transforms + train_dataset = dataset["train"].with_transform(preprocess_train) + + def collate_fn(examples): + pixel_values = torch.stack([example["pixel_values"] for example in examples]) + pixel_values = pixel_values.to(memory_format=torch.contiguous_format).float() + input_ids = torch.stack([example["input_ids"] for example in examples]) + return {"pixel_values": pixel_values, "input_ids": input_ids} + + # DataLoaders creation: + return torch.utils.data.DataLoader( + train_dataset, + shuffle=True, + collate_fn=collate_fn, + batch_size=args.batch_size, + num_workers=args.num_workers, + persistent_workers=True, + ) + +def train(args: Arguments): + weight_dtype = torch.bfloat16 + + accelerator = Accelerator( + gradient_accumulation_steps=args.gradient_accumulation_steps, + mixed_precision=args.mixed_precision, + ) + + loader = dataset(accelerator, args) + + from benchmate.observer import BenchObserver + + def batch_size(x): + return x["pixel_values"].shape[0] + + observer = BenchObserver( + earlystop=60, + raise_stop_program=True, + batch_size_fn=batch_size, + stdout=True + ) + + encoder, vae, unet = models(accelerator, args) + + optimizer = torch.optim.AdamW( + unet.parameters(), + lr=args.learning_rate, + betas=(args.adam_beta1, args.adam_beta2), + weight_decay=args.adam_weight_decay, + eps=args.adam_epsilon, + ) + + max_train_steps = args.epochs * math.ceil(len(loader) / args.gradient_accumulation_steps) + lr_scheduler = get_scheduler( + args.lr_scheduler, + optimizer=optimizer, + num_warmup_steps=args.lr_warmup_steps * accelerator.num_processes, + num_training_steps=max_train_steps * accelerator.num_processes, + ) + + noise_scheduler = DDPMScheduler.from_pretrained(args.model, subfolder="scheduler") + + unet, optimizer, loader, lr_scheduler = accelerator.prepare( + unet, optimizer, loader, lr_scheduler + ) + + encoder.to(accelerator.device, dtype=weight_dtype) + vae.to(accelerator.device, dtype=weight_dtype) + + for epoch in range(0, args.epochs): + + for step, batch in enumerate(observer.iterate(loader)): + latents = vae.encode(batch["pixel_values"].to(weight_dtype)).latent_dist.sample() + latents = latents * vae.config.scaling_factor + noise = torch.randn_like(latents) + + bsz = latents.shape[0] + # Sample a random timestep for each image + timesteps = torch.randint(0, noise_scheduler.config.num_train_timesteps, (bsz,), device=latents.device) + timesteps = timesteps.long() + + noisy_latents = noise_scheduler.add_noise(latents, noise, timesteps) + + # Get the text embedding for conditioning + encoder_hidden_states = encoder(batch["input_ids"], return_dict=False)[0] + + # Predict the noise residual and compute loss + model_pred = unet(noisy_latents, timesteps, encoder_hidden_states, return_dict=False)[0] + + target = noise + loss = F.mse_loss(model_pred.float(), target.float(), reduction="mean") + + accelerator.backward(loss) + optimizer.step() + lr_scheduler.step() + optimizer.zero_grad() + + +def main(): + from benchmate.metrics import StopProgram + + try: + from argklass import ArgumentParser + parser = ArgumentParser() + parser.add_arguments(Arguments) + config, _ = parser.parse_known_args() + + train(config) + except StopProgram: + pass + + +if __name__ == "__main__": + main() \ No newline at end of file diff --git a/benchmarks/diffusion/prepare.py b/benchmarks/diffusion/prepare.py new file mode 100755 index 000000000..be7de0312 --- /dev/null +++ b/benchmarks/diffusion/prepare.py @@ -0,0 +1,48 @@ +#!/usr/bin/env python +from dataclasses import dataclass +import os + +from transformers import CLIPTextModel, CLIPTokenizer + +from diffusers import AutoencoderKL, UNet2DConditionModel, DDPMScheduler +from datasets import load_dataset + + +@dataclass +class TrainingConfig: + model: str = "runwayml/stable-diffusion-v1-5" + dataset: str = "lambdalabs/naruto-blip-captions" + revision: str = None + variant: str = None + + +def main(): + from argklass import ArgumentParser + + parser = ArgumentParser() + parser.add_arguments(TrainingConfig) + args, _ = parser.parse_known_args() + + _ = load_dataset(args.dataset) + + _ = CLIPTextModel.from_pretrained( + args.model, subfolder="text_encoder", revision=args.revision, variant=args.variant + ) + + _ = AutoencoderKL.from_pretrained( + args.model, subfolder="vae", revision=args.revision, variant=args.variant + ) + + _ = UNet2DConditionModel.from_pretrained( + args.model, subfolder="unet", revision=args.revision, variant=args.variant + ) + + _ = CLIPTokenizer.from_pretrained( + args.model, subfolder="tokenizer", revision=args.revision + ) + + _ = DDPMScheduler.from_pretrained(args.model, subfolder="scheduler") + + +if __name__ == "__main__": + main() diff --git a/benchmarks/diffusion/requirements.cuda.txt b/benchmarks/diffusion/requirements.cuda.txt new file mode 100644 index 000000000..16d5d651a --- /dev/null +++ b/benchmarks/diffusion/requirements.cuda.txt @@ -0,0 +1,383 @@ +# +# This file is autogenerated by pip-compile with Python 3.10 +# by the following command: +# +# pip-compile --output-file=benchmarks/diffusion/requirements.cuda.txt .pin/tmp-constraints-cuda-diffusion-gpus.txt benchmarks/diffusion/requirements.in +# +--extra-index-url https://pypi.ngc.nvidia.com +--extra-index-url https://download.pytorch.org/whl/cu121 +--find-links https://storage.googleapis.com/jax-releases/jax_cuda_releases.html +--trusted-host pypi.ngc.nvidia.com + +accelerate==0.32.1 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # -r benchmarks/diffusion/requirements.in + # diffusers +aiohttp==3.9.5 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # datasets + # fsspec +aiosignal==1.3.1 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # aiohttp +antlr4-python3-runtime==4.9.3 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # omegaconf +argklass==1.4.4 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # -r benchmarks/diffusion/requirements.in +asttokens==2.4.1 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # giving +async-timeout==4.0.3 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # aiohttp +attrs==23.2.0 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # aiohttp +certifi==2024.7.4 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # requests +charset-normalizer==3.3.2 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # requests +codefind==0.1.6 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # ptera +datasets==2.20.0 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # -r benchmarks/diffusion/requirements.in +diffusers[torch]==0.29.2 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # -r benchmarks/diffusion/requirements.in +dill==0.3.8 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # datasets + # multiprocess +executing==1.2.0 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # varname +filelock==3.15.4 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # datasets + # diffusers + # huggingface-hub + # torch + # transformers + # triton +frozenlist==1.4.1 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # aiohttp + # aiosignal +fsspec[http]==2024.5.0 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # datasets + # huggingface-hub + # torch +giving==0.4.2 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # ptera + # voir +hjson==3.1.0 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # argklass +huggingface-hub==0.24.0 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # accelerate + # datasets + # diffusers + # tokenizers + # transformers +idna==3.7 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # requests + # yarl +importlib-metadata==8.0.0 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # diffusers +importlib-resources==6.4.0 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # argklass +jinja2==3.1.4 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # torch +markdown-it-py==3.0.0 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # rich +markupsafe==2.1.5 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # jinja2 +mdurl==0.1.2 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # markdown-it-py +mpmath==1.3.0 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # sympy +multidict==6.0.5 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # aiohttp + # yarl +multiprocess==0.70.16 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # datasets +networkx==3.3 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # torch +numpy==1.26.4 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # accelerate + # datasets + # diffusers + # pandas + # pyarrow + # torchvision + # transformers +nvidia-cublas-cu12==12.1.3.1 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # nvidia-cudnn-cu12 + # nvidia-cusolver-cu12 + # torch +nvidia-cuda-cupti-cu12==12.1.105 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # torch +nvidia-cuda-nvrtc-cu12==12.1.105 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # torch +nvidia-cuda-runtime-cu12==12.1.105 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # torch +nvidia-cudnn-cu12==8.9.2.26 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # torch +nvidia-cufft-cu12==11.0.2.54 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # torch +nvidia-curand-cu12==10.3.2.106 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # torch +nvidia-cusolver-cu12==11.4.5.107 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # torch +nvidia-cusparse-cu12==12.1.0.106 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # nvidia-cusolver-cu12 + # torch +nvidia-nccl-cu12==2.20.5 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # torch +nvidia-nvjitlink-cu12==12.5.82 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # nvidia-cusolver-cu12 + # nvidia-cusparse-cu12 +nvidia-nvtx-cu12==12.1.105 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # torch +omegaconf==2.3.0 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # voir +ovld==0.3.5 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # voir +packaging==24.1 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # accelerate + # datasets + # huggingface-hub + # transformers +pandas==2.2.2 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # datasets +pillow==10.4.0 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # diffusers + # torchvision +psutil==5.9.8 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # accelerate + # voir +ptera==1.4.1 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # voir +pyarrow==17.0.0 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # datasets +pyarrow-hotfix==0.6 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # datasets +pygments==2.18.0 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # rich +pynvml==11.5.3 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # voir +python-dateutil==2.9.0.post0 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # pandas +pytz==2024.1 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # pandas +pyyaml==6.0.1 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # accelerate + # datasets + # huggingface-hub + # omegaconf + # transformers +reactivex==4.0.4 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # giving +regex==2024.5.15 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # diffusers + # transformers +requests==2.32.3 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # datasets + # diffusers + # huggingface-hub + # transformers +rich==13.7.1 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # voir +safetensors==0.4.3 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # accelerate + # diffusers + # transformers +six==1.16.0 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # asttokens + # python-dateutil +sympy==1.13.1 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # torch +tokenizers==0.19.1 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # transformers +torch==2.3.1+cu121 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # accelerate + # diffusers + # torchvision +torchvision==0.18.1+cu121 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # -r benchmarks/diffusion/requirements.in +tqdm==4.66.4 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # -r benchmarks/diffusion/requirements.in + # datasets + # huggingface-hub + # transformers +transformers==4.42.4 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # -r benchmarks/diffusion/requirements.in +triton==2.3.1 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # torch +typing-extensions==4.12.2 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # huggingface-hub + # reactivex + # torch +tzdata==2024.1 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # pandas +urllib3==1.26.19 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # requests +varname==0.10.0 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # giving +voir==0.2.16 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # -c .pin/../constraints/cuda.txt + # -r benchmarks/diffusion/requirements.in +xxhash==3.4.1 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # datasets +yarl==1.9.4 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # aiohttp +zipp==3.19.2 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # importlib-metadata diff --git a/benchmarks/diffusion/requirements.in b/benchmarks/diffusion/requirements.in new file mode 100644 index 000000000..4a7a2c824 --- /dev/null +++ b/benchmarks/diffusion/requirements.in @@ -0,0 +1,9 @@ +voir>=0.2.9,<0.3 +diffusers +diffusers[torch] +accelerate +datasets +tqdm +torchvision +argklass +transformers diff --git a/benchmarks/dlrm/requirements.cuda.txt b/benchmarks/dlrm/requirements.cuda.txt index 5c9f57137..eb3bf343d 100644 --- a/benchmarks/dlrm/requirements.cuda.txt +++ b/benchmarks/dlrm/requirements.cuda.txt @@ -1,5 +1,5 @@ # -# This file is autogenerated by pip-compile with Python 3.11 +# This file is autogenerated by pip-compile with Python 3.10 # by the following command: # # pip-compile --output-file=benchmarks/dlrm/requirements.cuda.txt .pin/tmp-constraints-cuda-dlrm.txt benchmarks/dlrm/requirements.in @@ -21,7 +21,7 @@ asttokens==2.4.1 # via # -c .pin/../.pin/constraints-cuda-torch.txt # giving -certifi==2024.6.2 +certifi==2024.7.4 # via # -c .pin/../.pin/constraints-cuda-torch.txt # requests @@ -49,13 +49,13 @@ fbgemm-gpu==0.7.0+cu121 # via # -c .pin/../.pin/constraints-cuda-torch.txt # torchrec -filelock==3.14.0 +filelock==3.15.4 # via # -c .pin/../.pin/constraints-cuda-torch.txt # torch # torchx # triton -fsspec==2023.1.0 +fsspec==2024.5.0 # via # -c .pin/../.pin/constraints-cuda-torch.txt # torch @@ -73,7 +73,7 @@ graphviz==0.20.3 # via # -c .pin/../.pin/constraints-cuda-torch.txt # torchviz -grpcio==1.64.1 +grpcio==1.65.1 # via # -c .pin/../.pin/constraints-cuda-torch.txt # tensorboard @@ -81,7 +81,7 @@ idna==3.7 # via # -c .pin/../.pin/constraints-cuda-torch.txt # requests -importlib-metadata==7.1.0 +importlib-metadata==8.0.0 # via # -c .pin/../.pin/constraints-cuda-torch.txt # torchx @@ -93,7 +93,7 @@ joblib==1.4.2 # via # -c .pin/../.pin/constraints-cuda-torch.txt # scikit-learn -lightning-utilities==0.11.2 +lightning-utilities==0.11.5 # via # -c .pin/../.pin/constraints-cuda-torch.txt # torchmetrics @@ -179,7 +179,7 @@ nvidia-nccl-cu12==2.20.5 # via # -c .pin/../.pin/constraints-cuda-torch.txt # torch -nvidia-nvjitlink-cu12==12.5.40 +nvidia-nvjitlink-cu12==12.5.82 # via # -c .pin/../.pin/constraints-cuda-torch.txt # nvidia-cusolver-cu12 @@ -218,7 +218,7 @@ ptera==1.4.1 # via # -c .pin/../.pin/constraints-cuda-torch.txt # voir -pydot==2.0.0 +pydot==3.0.1 # via # -c .pin/../.pin/constraints-cuda-torch.txt # -r benchmarks/dlrm/requirements.in @@ -226,7 +226,7 @@ pygments==2.18.0 # via # -c .pin/../.pin/constraints-cuda-torch.txt # rich -pynvml==11.5.0 +pynvml==11.5.3 # via # -c .pin/../.pin/constraints-cuda-torch.txt # voir @@ -255,11 +255,11 @@ rich==13.7.1 # via # -c .pin/../.pin/constraints-cuda-torch.txt # voir -scikit-learn==1.5.0 +scikit-learn==1.5.1 # via # -c .pin/../.pin/constraints-cuda-torch.txt # -r benchmarks/dlrm/requirements.in -scipy==1.13.1 +scipy==1.14.0 # via # -c .pin/../.pin/constraints-cuda-torch.txt # scikit-learn @@ -268,7 +268,7 @@ six==1.16.0 # -c .pin/../.pin/constraints-cuda-torch.txt # asttokens # tensorboard -sympy==1.12.1 +sympy==1.13.1 # via # -c .pin/../.pin/constraints-cuda-torch.txt # torch @@ -306,7 +306,7 @@ torchviz==0.0.2 # via # -c .pin/../.pin/constraints-cuda-torch.txt # -r benchmarks/dlrm/requirements.in -torchx==0.6.0 +torchx==0.7.0 # via # -c .pin/../.pin/constraints-cuda-torch.txt # -r benchmarks/dlrm/requirements.in @@ -331,7 +331,7 @@ typing-inspect==0.9.0 # via # -c .pin/../.pin/constraints-cuda-torch.txt # pyre-extensions -urllib3==1.26.18 +urllib3==1.26.19 # via # -c .pin/../.pin/constraints-cuda-torch.txt # docker diff --git a/benchmarks/dlrm/requirements.hpu.txt b/benchmarks/dlrm/requirements.hpu.txt index 30c90b887..539fb0f9b 100644 --- a/benchmarks/dlrm/requirements.hpu.txt +++ b/benchmarks/dlrm/requirements.hpu.txt @@ -1,5 +1,5 @@ # -# This file is autogenerated by pip-compile with Python 3.11 +# This file is autogenerated by pip-compile with Python 3.10 # by the following command: # # pip-compile --output-file=benchmarks/dlrm/requirements.hpu.txt .pin/tmp-constraints-hpu-dlrm.txt benchmarks/dlrm/requirements.in @@ -36,7 +36,7 @@ docker==7.1.0 # via # -c .pin/../.pin/constraints-hpu-torch.txt # torchx -docstring-parser==0.8.1 +docstring-parser==0.16 # via # -c .pin/../.pin/constraints-hpu-torch.txt # torchx @@ -48,13 +48,13 @@ fbgemm-gpu==0.7.0 # via # -c .pin/../.pin/constraints-hpu-torch.txt # torchrec -filelock==3.14.0 +filelock==3.15.4 # via # -c .pin/../.pin/constraints-hpu-torch.txt # torch # torchx # triton -fsspec==2024.3.1 +fsspec==2024.5.0 # via # -c .pin/../.pin/constraints-hpu-torch.txt # torch @@ -72,7 +72,7 @@ graphviz==0.20.3 # via # -c .pin/../.pin/constraints-hpu-torch.txt # torchviz -grpcio==1.64.1 +grpcio==1.65.1 # via # -c .pin/../.pin/constraints-hpu-torch.txt # tensorboard @@ -80,7 +80,7 @@ idna==3.7 # via # -c .pin/../.pin/constraints-hpu-torch.txt # requests -importlib-metadata==7.1.0 +importlib-metadata==8.0.0 # via # -c .pin/../.pin/constraints-hpu-torch.txt # torchx @@ -92,7 +92,7 @@ joblib==1.4.2 # via # -c .pin/../.pin/constraints-hpu-torch.txt # scikit-learn -lightning-utilities==0.11.2 +lightning-utilities==0.11.5 # via # -c .pin/../.pin/constraints-hpu-torch.txt # torchmetrics @@ -178,7 +178,7 @@ nvidia-nccl-cu12==2.20.5 # via # -c .pin/../.pin/constraints-hpu-torch.txt # torch -nvidia-nvjitlink-cu12==12.5.40 +nvidia-nvjitlink-cu12==12.5.82 # via # -c .pin/../.pin/constraints-hpu-torch.txt # nvidia-cusolver-cu12 @@ -217,7 +217,7 @@ ptera==1.4.1 # via # -c .pin/../.pin/constraints-hpu-torch.txt # voir -pydot==2.0.0 +pydot==3.0.1 # via # -c .pin/../.pin/constraints-hpu-torch.txt # -r benchmarks/dlrm/requirements.in @@ -225,7 +225,7 @@ pygments==2.18.0 # via # -c .pin/../.pin/constraints-hpu-torch.txt # rich -pynvml==11.5.0 +pynvml==11.5.3 # via # -c .pin/../.pin/constraints-hpu-torch.txt # voir @@ -254,11 +254,11 @@ rich==13.7.1 # via # -c .pin/../.pin/constraints-hpu-torch.txt # voir -scikit-learn==1.5.0 +scikit-learn==1.5.1 # via # -c .pin/../.pin/constraints-hpu-torch.txt # -r benchmarks/dlrm/requirements.in -scipy==1.13.1 +scipy==1.14.0 # via # -c .pin/../.pin/constraints-hpu-torch.txt # scikit-learn @@ -267,7 +267,7 @@ six==1.16.0 # -c .pin/../.pin/constraints-hpu-torch.txt # asttokens # tensorboard -sympy==1.12.1 +sympy==1.13.0 # via # -c .pin/../.pin/constraints-hpu-torch.txt # torch @@ -305,7 +305,7 @@ torchviz==0.0.2 # via # -c .pin/../.pin/constraints-hpu-torch.txt # -r benchmarks/dlrm/requirements.in -torchx==0.5.0 +torchx==0.7.0 # via # -c .pin/../.pin/constraints-hpu-torch.txt # -r benchmarks/dlrm/requirements.in @@ -330,7 +330,7 @@ typing-inspect==0.9.0 # via # -c .pin/../.pin/constraints-hpu-torch.txt # pyre-extensions -urllib3==1.26.18 +urllib3==1.26.19 # via # -c .pin/../.pin/constraints-hpu-torch.txt # docker diff --git a/benchmarks/dlrm/requirements.rocm.txt b/benchmarks/dlrm/requirements.rocm.txt index 1d173d878..9714b7989 100644 --- a/benchmarks/dlrm/requirements.rocm.txt +++ b/benchmarks/dlrm/requirements.rocm.txt @@ -1,5 +1,5 @@ # -# This file is autogenerated by pip-compile with Python 3.11 +# This file is autogenerated by pip-compile with Python 3.10 # by the following command: # # pip-compile --output-file=benchmarks/dlrm/requirements.rocm.txt .pin/tmp-constraints-rocm-dlrm.txt benchmarks/dlrm/requirements.in @@ -37,7 +37,7 @@ docker==7.1.0 # via # -c .pin/../.pin/constraints-rocm-torch.txt # torchx -docstring-parser==0.8.1 +docstring-parser==0.16 # via # -c .pin/../.pin/constraints-rocm-torch.txt # torchx @@ -49,13 +49,13 @@ fbgemm-gpu==0.7.0+rocm6.0 # via # -c .pin/../.pin/constraints-rocm-torch.txt # torchrec -filelock==3.14.0 +filelock==3.15.4 # via # -c .pin/../.pin/constraints-rocm-torch.txt # pytorch-triton-rocm # torch # torchx -fsspec==2024.3.1 +fsspec==2024.5.0 # via # -c .pin/../.pin/constraints-rocm-torch.txt # torch @@ -73,7 +73,7 @@ graphviz==0.20.3 # via # -c .pin/../.pin/constraints-rocm-torch.txt # torchviz -grpcio==1.64.1 +grpcio==1.65.1 # via # -c .pin/../.pin/constraints-rocm-torch.txt # tensorboard @@ -81,7 +81,7 @@ idna==3.7 # via # -c .pin/../.pin/constraints-rocm-torch.txt # requests -importlib-metadata==7.1.0 +importlib-metadata==8.0.0 # via # -c .pin/../.pin/constraints-rocm-torch.txt # torchx @@ -93,7 +93,7 @@ joblib==1.4.2 # via # -c .pin/../.pin/constraints-rocm-torch.txt # scikit-learn -lightning-utilities==0.11.2 +lightning-utilities==0.11.5 # via # -c .pin/../.pin/constraints-rocm-torch.txt # torchmetrics @@ -166,7 +166,7 @@ ptera==1.4.1 # via # -c .pin/../.pin/constraints-rocm-torch.txt # voir -pydot==2.0.0 +pydot==3.0.1 # via # -c .pin/../.pin/constraints-rocm-torch.txt # -r benchmarks/dlrm/requirements.in @@ -174,7 +174,7 @@ pygments==2.18.0 # via # -c .pin/../.pin/constraints-rocm-torch.txt # rich -pynvml==11.5.0 +pynvml==11.5.3 # via # -c .pin/../.pin/constraints-rocm-torch.txt # voir @@ -207,11 +207,11 @@ rich==13.7.1 # via # -c .pin/../.pin/constraints-rocm-torch.txt # voir -scikit-learn==1.5.0 +scikit-learn==1.5.1 # via # -c .pin/../.pin/constraints-rocm-torch.txt # -r benchmarks/dlrm/requirements.in -scipy==1.13.1 +scipy==1.14.0 # via # -c .pin/../.pin/constraints-rocm-torch.txt # scikit-learn @@ -220,7 +220,7 @@ six==1.16.0 # -c .pin/../.pin/constraints-rocm-torch.txt # asttokens # tensorboard -sympy==1.12.1 +sympy==1.13.0 # via # -c .pin/../.pin/constraints-rocm-torch.txt # torch @@ -258,7 +258,7 @@ torchviz==0.0.2 # via # -c .pin/../.pin/constraints-rocm-torch.txt # -r benchmarks/dlrm/requirements.in -torchx==0.5.0 +torchx==0.7.0 # via # -c .pin/../.pin/constraints-rocm-torch.txt # -r benchmarks/dlrm/requirements.in @@ -279,7 +279,7 @@ typing-inspect==0.9.0 # via # -c .pin/../.pin/constraints-rocm-torch.txt # pyre-extensions -urllib3==1.26.18 +urllib3==1.26.19 # via # -c .pin/../.pin/constraints-rocm-torch.txt # docker diff --git a/benchmarks/dlrm/requirements.xpu.txt b/benchmarks/dlrm/requirements.xpu.txt index 921b1955a..2edf5e00d 100644 --- a/benchmarks/dlrm/requirements.xpu.txt +++ b/benchmarks/dlrm/requirements.xpu.txt @@ -1,5 +1,5 @@ # -# This file is autogenerated by pip-compile with Python 3.11 +# This file is autogenerated by pip-compile with Python 3.10 # by the following command: # # pip-compile --output-file=benchmarks/dlrm/requirements.xpu.txt .pin/tmp-constraints-xpu-dlrm.txt benchmarks/dlrm/requirements.in @@ -49,13 +49,12 @@ fbgemm-gpu==0.7.0 # via # -c .pin/../.pin/constraints-xpu-torch.txt # torchrec -filelock==3.14.0 +filelock==3.15.4 # via # -c .pin/../.pin/constraints-xpu-torch.txt # torch # torchx - # triton -fsspec==2023.1.0 +fsspec==2024.5.0 # via # -c .pin/../.pin/constraints-xpu-torch.txt # torch @@ -73,7 +72,7 @@ graphviz==0.20.3 # via # -c .pin/../.pin/constraints-xpu-torch.txt # torchviz -grpcio==1.64.1 +grpcio==1.65.1 # via # -c .pin/../.pin/constraints-xpu-torch.txt # tensorboard @@ -81,7 +80,7 @@ idna==3.7 # via # -c .pin/../.pin/constraints-xpu-torch.txt # requests -importlib-metadata==7.1.0 +importlib-metadata==8.0.0 # via # -c .pin/../.pin/constraints-xpu-torch.txt # torchx @@ -93,7 +92,7 @@ joblib==1.4.2 # via # -c .pin/../.pin/constraints-xpu-torch.txt # scikit-learn -lightning-utilities==0.11.2 +lightning-utilities==0.11.5 # via # -c .pin/../.pin/constraints-xpu-torch.txt # torchmetrics @@ -136,58 +135,6 @@ numpy==1.26.4 # scipy # tensorboard # torchmetrics -nvidia-cublas-cu12==12.1.3.1 - # via - # -c .pin/../.pin/constraints-xpu-torch.txt - # nvidia-cudnn-cu12 - # nvidia-cusolver-cu12 - # torch -nvidia-cuda-cupti-cu12==12.1.105 - # via - # -c .pin/../.pin/constraints-xpu-torch.txt - # torch -nvidia-cuda-nvrtc-cu12==12.1.105 - # via - # -c .pin/../.pin/constraints-xpu-torch.txt - # torch -nvidia-cuda-runtime-cu12==12.1.105 - # via - # -c .pin/../.pin/constraints-xpu-torch.txt - # torch -nvidia-cudnn-cu12==8.9.2.26 - # via - # -c .pin/../.pin/constraints-xpu-torch.txt - # torch -nvidia-cufft-cu12==11.0.2.54 - # via - # -c .pin/../.pin/constraints-xpu-torch.txt - # torch -nvidia-curand-cu12==10.3.2.106 - # via - # -c .pin/../.pin/constraints-xpu-torch.txt - # torch -nvidia-cusolver-cu12==11.4.5.107 - # via - # -c .pin/../.pin/constraints-xpu-torch.txt - # torch -nvidia-cusparse-cu12==12.1.0.106 - # via - # -c .pin/../.pin/constraints-xpu-torch.txt - # nvidia-cusolver-cu12 - # torch -nvidia-nccl-cu12==2.20.5 - # via - # -c .pin/../.pin/constraints-xpu-torch.txt - # torch -nvidia-nvjitlink-cu12==12.5.40 - # via - # -c .pin/../.pin/constraints-xpu-torch.txt - # nvidia-cusolver-cu12 - # nvidia-cusparse-cu12 -nvidia-nvtx-cu12==12.1.105 - # via - # -c .pin/../.pin/constraints-xpu-torch.txt - # torch omegaconf==2.3.0 # via # -c .pin/../.pin/constraints-xpu-torch.txt @@ -218,7 +165,7 @@ ptera==1.4.1 # via # -c .pin/../.pin/constraints-xpu-torch.txt # voir -pydot==2.0.0 +pydot==3.0.1 # via # -c .pin/../.pin/constraints-xpu-torch.txt # -r benchmarks/dlrm/requirements.in @@ -226,7 +173,7 @@ pygments==2.18.0 # via # -c .pin/../.pin/constraints-xpu-torch.txt # rich -pynvml==11.5.0 +pynvml==11.5.3 # via # -c .pin/../.pin/constraints-xpu-torch.txt # voir @@ -255,11 +202,11 @@ rich==13.7.1 # via # -c .pin/../.pin/constraints-xpu-torch.txt # voir -scikit-learn==1.5.0 +scikit-learn==1.5.1 # via # -c .pin/../.pin/constraints-xpu-torch.txt # -r benchmarks/dlrm/requirements.in -scipy==1.13.1 +scipy==1.14.0 # via # -c .pin/../.pin/constraints-xpu-torch.txt # scikit-learn @@ -268,7 +215,7 @@ six==1.16.0 # -c .pin/../.pin/constraints-xpu-torch.txt # asttokens # tensorboard -sympy==1.12.1 +sympy==1.13.0 # via # -c .pin/../.pin/constraints-xpu-torch.txt # torch @@ -288,7 +235,7 @@ threadpoolctl==3.5.0 # via # -c .pin/../.pin/constraints-xpu-torch.txt # scikit-learn -torch==2.3.1 +torch==2.1.0.post2+cxx11.abi # via # -c .pin/../.pin/constraints-xpu-torch.txt # -c .pin/../constraints/xpu.txt @@ -307,7 +254,7 @@ torchviz==0.0.2 # via # -c .pin/../.pin/constraints-xpu-torch.txt # -r benchmarks/dlrm/requirements.in -torchx==0.6.0 +torchx==0.7.0 # via # -c .pin/../.pin/constraints-xpu-torch.txt # -r benchmarks/dlrm/requirements.in @@ -316,10 +263,6 @@ tqdm==4.66.4 # -c .pin/../.pin/constraints-xpu-torch.txt # -r benchmarks/dlrm/requirements.in # torchrec -triton==2.3.1 - # via - # -c .pin/../.pin/constraints-xpu-torch.txt - # torch typing-extensions==4.12.2 # via # -c .pin/../.pin/constraints-xpu-torch.txt @@ -332,7 +275,7 @@ typing-inspect==0.9.0 # via # -c .pin/../.pin/constraints-xpu-torch.txt # pyre-extensions -urllib3==1.26.18 +urllib3==1.26.19 # via # -c .pin/../.pin/constraints-xpu-torch.txt # docker diff --git a/benchmarks/flops/benchfile.py b/benchmarks/flops/benchfile.py index aa82e6e38..59c5c4a7f 100644 --- a/benchmarks/flops/benchfile.py +++ b/benchmarks/flops/benchfile.py @@ -11,8 +11,8 @@ def build_run_plan(self) -> "Command": pack = cmd.PackCommand(self, *self.argv, lazy=True) # pack = cmd.VoirCommand(pack, cwd=main.parent) - pack = cmd.ActivatorCommand(pack, use_stdout=True) - return pack + pack = cmd.ActivatorCommand(pack) + return pack.use_stdout() __pack__ = FlopsBenchmarch diff --git a/benchmarks/flops/requirements.cuda.txt b/benchmarks/flops/requirements.cuda.txt index cce251c1d..91aee8272 100644 --- a/benchmarks/flops/requirements.cuda.txt +++ b/benchmarks/flops/requirements.cuda.txt @@ -1,5 +1,5 @@ # -# This file is autogenerated by pip-compile with Python 3.11 +# This file is autogenerated by pip-compile with Python 3.10 # by the following command: # # pip-compile --output-file=benchmarks/flops/requirements.cuda.txt .pin/tmp-constraints-cuda-flops.txt benchmarks/flops/requirements.in @@ -25,12 +25,12 @@ executing==1.2.0 # via # -c .pin/../.pin/constraints-cuda-torch.txt # varname -filelock==3.14.0 +filelock==3.15.4 # via # -c .pin/../.pin/constraints-cuda-torch.txt # torch # triton -fsspec==2023.1.0 +fsspec==2024.5.0 # via # -c .pin/../.pin/constraints-cuda-torch.txt # torch @@ -114,7 +114,7 @@ nvidia-nccl-cu12==2.20.5 # via # -c .pin/../.pin/constraints-cuda-torch.txt # torch -nvidia-nvjitlink-cu12==12.5.40 +nvidia-nvjitlink-cu12==12.5.82 # via # -c .pin/../.pin/constraints-cuda-torch.txt # nvidia-cusolver-cu12 @@ -131,7 +131,7 @@ ovld==0.3.5 # via # -c .pin/../.pin/constraints-cuda-torch.txt # voir -pillow==10.3.0 +pillow==10.4.0 # via # -c .pin/../.pin/constraints-cuda-torch.txt # torchvision @@ -147,7 +147,7 @@ pygments==2.18.0 # via # -c .pin/../.pin/constraints-cuda-torch.txt # rich -pynvml==11.5.0 +pynvml==11.5.3 # via # -c .pin/../.pin/constraints-cuda-torch.txt # voir @@ -167,7 +167,7 @@ six==1.16.0 # via # -c .pin/../.pin/constraints-cuda-torch.txt # asttokens -sympy==1.12.1 +sympy==1.13.1 # via # -c .pin/../.pin/constraints-cuda-torch.txt # torch @@ -175,9 +175,8 @@ torch==2.3.1+cu121 # via # -c .pin/../.pin/constraints-cuda-torch.txt # -r benchmarks/flops/requirements.in - # torchcompat # torchvision -torchcompat==1.0.2 +torchcompat==1.1.4 # via # -c .pin/../.pin/constraints-cuda-torch.txt # -c .pin/../constraints/cuda.txt diff --git a/benchmarks/flops/requirements.hpu.txt b/benchmarks/flops/requirements.hpu.txt index d10584e0c..cb07bf54e 100644 --- a/benchmarks/flops/requirements.hpu.txt +++ b/benchmarks/flops/requirements.hpu.txt @@ -1,5 +1,5 @@ # -# This file is autogenerated by pip-compile with Python 3.11 +# This file is autogenerated by pip-compile with Python 3.10 # by the following command: # # pip-compile --output-file=benchmarks/flops/requirements.hpu.txt .pin/tmp-constraints-hpu-flops.txt benchmarks/flops/requirements.in @@ -24,12 +24,12 @@ executing==1.2.0 # via # -c .pin/../.pin/constraints-hpu-torch.txt # varname -filelock==3.14.0 +filelock==3.15.4 # via # -c .pin/../.pin/constraints-hpu-torch.txt # torch # triton -fsspec==2024.3.1 +fsspec==2024.5.0 # via # -c .pin/../.pin/constraints-hpu-torch.txt # torch @@ -113,7 +113,7 @@ nvidia-nccl-cu12==2.20.5 # via # -c .pin/../.pin/constraints-hpu-torch.txt # torch -nvidia-nvjitlink-cu12==12.5.40 +nvidia-nvjitlink-cu12==12.5.82 # via # -c .pin/../.pin/constraints-hpu-torch.txt # nvidia-cusolver-cu12 @@ -130,7 +130,7 @@ ovld==0.3.5 # via # -c .pin/../.pin/constraints-hpu-torch.txt # voir -pillow==10.3.0 +pillow==10.4.0 # via # -c .pin/../.pin/constraints-hpu-torch.txt # torchvision @@ -146,7 +146,7 @@ pygments==2.18.0 # via # -c .pin/../.pin/constraints-hpu-torch.txt # rich -pynvml==11.5.0 +pynvml==11.5.3 # via # -c .pin/../.pin/constraints-hpu-torch.txt # voir @@ -166,7 +166,7 @@ six==1.16.0 # via # -c .pin/../.pin/constraints-hpu-torch.txt # asttokens -sympy==1.12.1 +sympy==1.13.0 # via # -c .pin/../.pin/constraints-hpu-torch.txt # torch @@ -174,9 +174,8 @@ torch==2.3.1 # via # -c .pin/../.pin/constraints-hpu-torch.txt # -r benchmarks/flops/requirements.in - # torchcompat # torchvision -torchcompat==1.0.2 +torchcompat==1.1.4 # via # -c .pin/../.pin/constraints-hpu-torch.txt # -c .pin/../constraints/hpu.txt diff --git a/benchmarks/flops/requirements.rocm.txt b/benchmarks/flops/requirements.rocm.txt index 5595ef461..dd1c08962 100644 --- a/benchmarks/flops/requirements.rocm.txt +++ b/benchmarks/flops/requirements.rocm.txt @@ -1,5 +1,5 @@ # -# This file is autogenerated by pip-compile with Python 3.11 +# This file is autogenerated by pip-compile with Python 3.10 # by the following command: # # pip-compile --output-file=benchmarks/flops/requirements.rocm.txt .pin/tmp-constraints-rocm-flops.txt benchmarks/flops/requirements.in @@ -25,12 +25,12 @@ executing==1.2.0 # via # -c .pin/../.pin/constraints-rocm-torch.txt # varname -filelock==3.14.0 +filelock==3.15.4 # via # -c .pin/../.pin/constraints-rocm-torch.txt # pytorch-triton-rocm # torch -fsspec==2024.3.1 +fsspec==2024.5.0 # via # -c .pin/../.pin/constraints-rocm-torch.txt # torch @@ -79,7 +79,7 @@ ovld==0.3.5 # via # -c .pin/../.pin/constraints-rocm-torch.txt # voir -pillow==10.3.0 +pillow==10.4.0 # via # -c .pin/../.pin/constraints-rocm-torch.txt # torchvision @@ -95,7 +95,7 @@ pygments==2.18.0 # via # -c .pin/../.pin/constraints-rocm-torch.txt # rich -pynvml==11.5.0 +pynvml==11.5.3 # via # -c .pin/../.pin/constraints-rocm-torch.txt # voir @@ -119,7 +119,7 @@ six==1.16.0 # via # -c .pin/../.pin/constraints-rocm-torch.txt # asttokens -sympy==1.12.1 +sympy==1.13.0 # via # -c .pin/../.pin/constraints-rocm-torch.txt # torch @@ -127,9 +127,8 @@ torch==2.3.1+rocm6.0 # via # -c .pin/../.pin/constraints-rocm-torch.txt # -r benchmarks/flops/requirements.in - # torchcompat # torchvision -torchcompat==1.0.2 +torchcompat==1.1.4 # via # -c .pin/../.pin/constraints-rocm-torch.txt # -c .pin/../constraints/rocm.txt diff --git a/benchmarks/flops/requirements.xpu.txt b/benchmarks/flops/requirements.xpu.txt index e348a0cfc..dffb8d45c 100644 --- a/benchmarks/flops/requirements.xpu.txt +++ b/benchmarks/flops/requirements.xpu.txt @@ -1,5 +1,5 @@ # -# This file is autogenerated by pip-compile with Python 3.11 +# This file is autogenerated by pip-compile with Python 3.10 # by the following command: # # pip-compile --output-file=benchmarks/flops/requirements.xpu.txt .pin/tmp-constraints-xpu-flops.txt benchmarks/flops/requirements.in @@ -17,6 +17,14 @@ asttokens==2.4.1 # via # -c .pin/../.pin/constraints-xpu-torch.txt # giving +certifi==2024.6.2 + # via + # -c .pin/../.pin/constraints-xpu-torch.txt + # requests +charset-normalizer==3.3.2 + # via + # -c .pin/../.pin/constraints-xpu-torch.txt + # requests codefind==0.1.6 # via # -c .pin/../.pin/constraints-xpu-torch.txt @@ -25,12 +33,11 @@ executing==1.2.0 # via # -c .pin/../.pin/constraints-xpu-torch.txt # varname -filelock==3.14.0 +filelock==3.15.4 # via # -c .pin/../.pin/constraints-xpu-torch.txt # torch - # triton -fsspec==2023.1.0 +fsspec==2024.5.0 # via # -c .pin/../.pin/constraints-xpu-torch.txt # torch @@ -39,6 +46,10 @@ giving==0.4.2 # -c .pin/../.pin/constraints-xpu-torch.txt # ptera # voir +idna==3.7 + # via + # -c .pin/../.pin/constraints-xpu-torch.txt + # requests importlib-resources==6.4.0 # via # -c .pin/../.pin/constraints-xpu-torch.txt @@ -71,58 +82,6 @@ numpy==1.26.4 # via # -c .pin/../.pin/constraints-xpu-torch.txt # torchvision -nvidia-cublas-cu12==12.1.3.1 - # via - # -c .pin/../.pin/constraints-xpu-torch.txt - # nvidia-cudnn-cu12 - # nvidia-cusolver-cu12 - # torch -nvidia-cuda-cupti-cu12==12.1.105 - # via - # -c .pin/../.pin/constraints-xpu-torch.txt - # torch -nvidia-cuda-nvrtc-cu12==12.1.105 - # via - # -c .pin/../.pin/constraints-xpu-torch.txt - # torch -nvidia-cuda-runtime-cu12==12.1.105 - # via - # -c .pin/../.pin/constraints-xpu-torch.txt - # torch -nvidia-cudnn-cu12==8.9.2.26 - # via - # -c .pin/../.pin/constraints-xpu-torch.txt - # torch -nvidia-cufft-cu12==11.0.2.54 - # via - # -c .pin/../.pin/constraints-xpu-torch.txt - # torch -nvidia-curand-cu12==10.3.2.106 - # via - # -c .pin/../.pin/constraints-xpu-torch.txt - # torch -nvidia-cusolver-cu12==11.4.5.107 - # via - # -c .pin/../.pin/constraints-xpu-torch.txt - # torch -nvidia-cusparse-cu12==12.1.0.106 - # via - # -c .pin/../.pin/constraints-xpu-torch.txt - # nvidia-cusolver-cu12 - # torch -nvidia-nccl-cu12==2.20.5 - # via - # -c .pin/../.pin/constraints-xpu-torch.txt - # torch -nvidia-nvjitlink-cu12==12.5.40 - # via - # -c .pin/../.pin/constraints-xpu-torch.txt - # nvidia-cusolver-cu12 - # nvidia-cusparse-cu12 -nvidia-nvtx-cu12==12.1.105 - # via - # -c .pin/../.pin/constraints-xpu-torch.txt - # torch omegaconf==2.3.0 # via # -c .pin/../.pin/constraints-xpu-torch.txt @@ -131,7 +90,7 @@ ovld==0.3.5 # via # -c .pin/../.pin/constraints-xpu-torch.txt # voir -pillow==10.3.0 +pillow==10.4.0 # via # -c .pin/../.pin/constraints-xpu-torch.txt # torchvision @@ -147,7 +106,7 @@ pygments==2.18.0 # via # -c .pin/../.pin/constraints-xpu-torch.txt # rich -pynvml==11.5.0 +pynvml==11.5.3 # via # -c .pin/../.pin/constraints-xpu-torch.txt # voir @@ -159,6 +118,10 @@ reactivex==4.0.4 # via # -c .pin/../.pin/constraints-xpu-torch.txt # giving +requests==2.32.3 + # via + # -c .pin/../.pin/constraints-xpu-torch.txt + # torchvision rich==13.7.1 # via # -c .pin/../.pin/constraints-xpu-torch.txt @@ -167,23 +130,22 @@ six==1.16.0 # via # -c .pin/../.pin/constraints-xpu-torch.txt # asttokens -sympy==1.12.1 +sympy==1.13.0 # via # -c .pin/../.pin/constraints-xpu-torch.txt # torch -torch==2.3.1 +torch==2.1.0.post2+cxx11.abi # via # -c .pin/../.pin/constraints-xpu-torch.txt # -c .pin/../constraints/xpu.txt # -r benchmarks/flops/requirements.in - # torchcompat # torchvision -torchcompat==1.0.2 +torchcompat==1.1.4 # via # -c .pin/../.pin/constraints-xpu-torch.txt # -c .pin/../constraints/xpu.txt # -r benchmarks/flops/requirements.in -torchvision==0.18.1 +torchvision==0.16.0.post2+cxx11.abi # via # -c .pin/../.pin/constraints-xpu-torch.txt # -c .pin/../constraints/xpu.txt @@ -192,15 +154,15 @@ tqdm==4.66.4 # via # -c .pin/../.pin/constraints-xpu-torch.txt # -r benchmarks/flops/requirements.in -triton==2.3.1 - # via - # -c .pin/../.pin/constraints-xpu-torch.txt - # torch typing-extensions==4.12.2 # via # -c .pin/../.pin/constraints-xpu-torch.txt # reactivex # torch +urllib3==1.26.19 + # via + # -c .pin/../.pin/constraints-xpu-torch.txt + # requests varname==0.10.0 # via # -c .pin/../.pin/constraints-xpu-torch.txt diff --git a/benchmarks/huggingface/requirements.cuda.txt b/benchmarks/huggingface/requirements.cuda.txt index fe1c9230c..40ab23769 100644 --- a/benchmarks/huggingface/requirements.cuda.txt +++ b/benchmarks/huggingface/requirements.cuda.txt @@ -1,5 +1,5 @@ # -# This file is autogenerated by pip-compile with Python 3.11 +# This file is autogenerated by pip-compile with Python 3.10 # by the following command: # # pip-compile --output-file=benchmarks/huggingface/requirements.cuda.txt .pin/tmp-constraints-cuda-hf.txt benchmarks/huggingface/requirements.in @@ -17,7 +17,7 @@ asttokens==2.4.1 # via # -c .pin/../.pin/constraints-cuda-torch.txt # giving -certifi==2024.6.2 +certifi==2024.7.4 # via # -c .pin/../.pin/constraints-cuda-torch.txt # requests @@ -33,14 +33,14 @@ executing==1.2.0 # via # -c .pin/../.pin/constraints-cuda-torch.txt # varname -filelock==3.14.0 +filelock==3.15.4 # via # -c .pin/../.pin/constraints-cuda-torch.txt # huggingface-hub # torch # transformers # triton -fsspec==2023.1.0 +fsspec==2024.5.0 # via # -c .pin/../.pin/constraints-cuda-torch.txt # huggingface-hub @@ -50,7 +50,7 @@ giving==0.4.2 # -c .pin/../.pin/constraints-cuda-torch.txt # ptera # voir -huggingface-hub==0.17.3 +huggingface-hub==0.24.0 # via # -c .pin/../.pin/constraints-cuda-torch.txt # tokenizers @@ -130,7 +130,7 @@ nvidia-nccl-cu12==2.20.5 # via # -c .pin/../.pin/constraints-cuda-torch.txt # torch -nvidia-nvjitlink-cu12==12.5.40 +nvidia-nvjitlink-cu12==12.5.82 # via # -c .pin/../.pin/constraints-cuda-torch.txt # nvidia-cusolver-cu12 @@ -164,7 +164,7 @@ pygments==2.18.0 # via # -c .pin/../.pin/constraints-cuda-torch.txt # rich -pynvml==11.5.0 +pynvml==11.5.3 # via # -c .pin/../.pin/constraints-cuda-torch.txt # voir @@ -199,11 +199,11 @@ six==1.16.0 # via # -c .pin/../.pin/constraints-cuda-torch.txt # asttokens -sympy==1.12.1 +sympy==1.13.1 # via # -c .pin/../.pin/constraints-cuda-torch.txt # torch -tokenizers==0.15.2 +tokenizers==0.19.1 # via # -c .pin/../.pin/constraints-cuda-torch.txt # transformers @@ -216,7 +216,7 @@ tqdm==4.66.4 # -c .pin/../.pin/constraints-cuda-torch.txt # huggingface-hub # transformers -transformers==4.35.2 +transformers==4.42.4 # via # -c .pin/../.pin/constraints-cuda-torch.txt # -r benchmarks/huggingface/requirements.in @@ -230,7 +230,7 @@ typing-extensions==4.12.2 # huggingface-hub # reactivex # torch -urllib3==1.26.18 +urllib3==1.26.19 # via # -c .pin/../.pin/constraints-cuda-torch.txt # requests diff --git a/benchmarks/huggingface/requirements.hpu.txt b/benchmarks/huggingface/requirements.hpu.txt index abbbde4bc..335c565d6 100644 --- a/benchmarks/huggingface/requirements.hpu.txt +++ b/benchmarks/huggingface/requirements.hpu.txt @@ -1,5 +1,5 @@ # -# This file is autogenerated by pip-compile with Python 3.11 +# This file is autogenerated by pip-compile with Python 3.10 # by the following command: # # pip-compile --output-file=benchmarks/huggingface/requirements.hpu.txt .pin/tmp-constraints-hpu-hf.txt benchmarks/huggingface/requirements.in @@ -32,14 +32,14 @@ executing==1.2.0 # via # -c .pin/../.pin/constraints-hpu-torch.txt # varname -filelock==3.14.0 +filelock==3.15.4 # via # -c .pin/../.pin/constraints-hpu-torch.txt # huggingface-hub # torch # transformers # triton -fsspec==2024.3.1 +fsspec==2024.5.0 # via # -c .pin/../.pin/constraints-hpu-torch.txt # huggingface-hub @@ -49,7 +49,7 @@ giving==0.4.2 # -c .pin/../.pin/constraints-hpu-torch.txt # ptera # voir -huggingface-hub==0.23.3 +huggingface-hub==0.24.0 # via # -c .pin/../.pin/constraints-hpu-torch.txt # tokenizers @@ -129,7 +129,7 @@ nvidia-nccl-cu12==2.20.5 # via # -c .pin/../.pin/constraints-hpu-torch.txt # torch -nvidia-nvjitlink-cu12==12.5.40 +nvidia-nvjitlink-cu12==12.5.82 # via # -c .pin/../.pin/constraints-hpu-torch.txt # nvidia-cusolver-cu12 @@ -163,7 +163,7 @@ pygments==2.18.0 # via # -c .pin/../.pin/constraints-hpu-torch.txt # rich -pynvml==11.5.0 +pynvml==11.5.3 # via # -c .pin/../.pin/constraints-hpu-torch.txt # voir @@ -198,7 +198,7 @@ six==1.16.0 # via # -c .pin/../.pin/constraints-hpu-torch.txt # asttokens -sympy==1.12.1 +sympy==1.13.0 # via # -c .pin/../.pin/constraints-hpu-torch.txt # torch @@ -215,7 +215,7 @@ tqdm==4.66.4 # -c .pin/../.pin/constraints-hpu-torch.txt # huggingface-hub # transformers -transformers==4.41.2 +transformers==4.42.4 # via # -c .pin/../.pin/constraints-hpu-torch.txt # -r benchmarks/huggingface/requirements.in @@ -229,7 +229,7 @@ typing-extensions==4.12.2 # huggingface-hub # reactivex # torch -urllib3==1.26.18 +urllib3==1.26.19 # via # -c .pin/../.pin/constraints-hpu-torch.txt # requests diff --git a/benchmarks/huggingface/requirements.rocm.txt b/benchmarks/huggingface/requirements.rocm.txt index 529c04aed..73dbe77b7 100644 --- a/benchmarks/huggingface/requirements.rocm.txt +++ b/benchmarks/huggingface/requirements.rocm.txt @@ -1,5 +1,5 @@ # -# This file is autogenerated by pip-compile with Python 3.11 +# This file is autogenerated by pip-compile with Python 3.10 # by the following command: # # pip-compile --output-file=benchmarks/huggingface/requirements.rocm.txt .pin/tmp-constraints-rocm-hf.txt benchmarks/huggingface/requirements.in @@ -33,14 +33,14 @@ executing==1.2.0 # via # -c .pin/../.pin/constraints-rocm-torch.txt # varname -filelock==3.14.0 +filelock==3.15.4 # via # -c .pin/../.pin/constraints-rocm-torch.txt # huggingface-hub # pytorch-triton-rocm # torch # transformers -fsspec==2024.3.1 +fsspec==2024.5.0 # via # -c .pin/../.pin/constraints-rocm-torch.txt # huggingface-hub @@ -50,7 +50,7 @@ giving==0.4.2 # -c .pin/../.pin/constraints-rocm-torch.txt # ptera # voir -huggingface-hub==0.23.3 +huggingface-hub==0.23.5 # via # -c .pin/../.pin/constraints-rocm-torch.txt # tokenizers @@ -112,7 +112,7 @@ pygments==2.18.0 # via # -c .pin/../.pin/constraints-rocm-torch.txt # rich -pynvml==11.5.0 +pynvml==11.5.3 # via # -c .pin/../.pin/constraints-rocm-torch.txt # voir @@ -151,7 +151,7 @@ six==1.16.0 # via # -c .pin/../.pin/constraints-rocm-torch.txt # asttokens -sympy==1.12.1 +sympy==1.13.0 # via # -c .pin/../.pin/constraints-rocm-torch.txt # torch @@ -168,7 +168,7 @@ tqdm==4.66.4 # -c .pin/../.pin/constraints-rocm-torch.txt # huggingface-hub # transformers -transformers==4.41.2 +transformers==4.42.4 # via # -c .pin/../.pin/constraints-rocm-torch.txt # -r benchmarks/huggingface/requirements.in @@ -178,7 +178,7 @@ typing-extensions==4.12.2 # huggingface-hub # reactivex # torch -urllib3==1.26.18 +urllib3==1.26.19 # via # -c .pin/../.pin/constraints-rocm-torch.txt # requests diff --git a/benchmarks/huggingface/requirements.xpu.txt b/benchmarks/huggingface/requirements.xpu.txt index ae0bf8d46..1084c700c 100644 --- a/benchmarks/huggingface/requirements.xpu.txt +++ b/benchmarks/huggingface/requirements.xpu.txt @@ -1,5 +1,5 @@ # -# This file is autogenerated by pip-compile with Python 3.11 +# This file is autogenerated by pip-compile with Python 3.10 # by the following command: # # pip-compile --output-file=benchmarks/huggingface/requirements.xpu.txt .pin/tmp-constraints-xpu-hf.txt benchmarks/huggingface/requirements.in @@ -33,14 +33,13 @@ executing==1.2.0 # via # -c .pin/../.pin/constraints-xpu-torch.txt # varname -filelock==3.14.0 +filelock==3.15.4 # via # -c .pin/../.pin/constraints-xpu-torch.txt # huggingface-hub # torch # transformers - # triton -fsspec==2023.1.0 +fsspec==2024.5.0 # via # -c .pin/../.pin/constraints-xpu-torch.txt # huggingface-hub @@ -50,7 +49,7 @@ giving==0.4.2 # -c .pin/../.pin/constraints-xpu-torch.txt # ptera # voir -huggingface-hub==0.17.3 +huggingface-hub==0.24.0 # via # -c .pin/../.pin/constraints-xpu-torch.txt # tokenizers @@ -87,58 +86,6 @@ numpy==1.26.4 # via # -c .pin/../.pin/constraints-xpu-torch.txt # transformers -nvidia-cublas-cu12==12.1.3.1 - # via - # -c .pin/../.pin/constraints-xpu-torch.txt - # nvidia-cudnn-cu12 - # nvidia-cusolver-cu12 - # torch -nvidia-cuda-cupti-cu12==12.1.105 - # via - # -c .pin/../.pin/constraints-xpu-torch.txt - # torch -nvidia-cuda-nvrtc-cu12==12.1.105 - # via - # -c .pin/../.pin/constraints-xpu-torch.txt - # torch -nvidia-cuda-runtime-cu12==12.1.105 - # via - # -c .pin/../.pin/constraints-xpu-torch.txt - # torch -nvidia-cudnn-cu12==8.9.2.26 - # via - # -c .pin/../.pin/constraints-xpu-torch.txt - # torch -nvidia-cufft-cu12==11.0.2.54 - # via - # -c .pin/../.pin/constraints-xpu-torch.txt - # torch -nvidia-curand-cu12==10.3.2.106 - # via - # -c .pin/../.pin/constraints-xpu-torch.txt - # torch -nvidia-cusolver-cu12==11.4.5.107 - # via - # -c .pin/../.pin/constraints-xpu-torch.txt - # torch -nvidia-cusparse-cu12==12.1.0.106 - # via - # -c .pin/../.pin/constraints-xpu-torch.txt - # nvidia-cusolver-cu12 - # torch -nvidia-nccl-cu12==2.20.5 - # via - # -c .pin/../.pin/constraints-xpu-torch.txt - # torch -nvidia-nvjitlink-cu12==12.5.40 - # via - # -c .pin/../.pin/constraints-xpu-torch.txt - # nvidia-cusolver-cu12 - # nvidia-cusparse-cu12 -nvidia-nvtx-cu12==12.1.105 - # via - # -c .pin/../.pin/constraints-xpu-torch.txt - # torch omegaconf==2.3.0 # via # -c .pin/../.pin/constraints-xpu-torch.txt @@ -164,7 +111,7 @@ pygments==2.18.0 # via # -c .pin/../.pin/constraints-xpu-torch.txt # rich -pynvml==11.5.0 +pynvml==11.5.3 # via # -c .pin/../.pin/constraints-xpu-torch.txt # voir @@ -199,15 +146,15 @@ six==1.16.0 # via # -c .pin/../.pin/constraints-xpu-torch.txt # asttokens -sympy==1.12.1 +sympy==1.13.0 # via # -c .pin/../.pin/constraints-xpu-torch.txt # torch -tokenizers==0.15.2 +tokenizers==0.19.1 # via # -c .pin/../.pin/constraints-xpu-torch.txt # transformers -torch==2.3.1 +torch==2.1.0.post2+cxx11.abi # via # -c .pin/../.pin/constraints-xpu-torch.txt # -c .pin/../constraints/xpu.txt @@ -217,21 +164,17 @@ tqdm==4.66.4 # -c .pin/../.pin/constraints-xpu-torch.txt # huggingface-hub # transformers -transformers==4.35.2 +transformers==4.42.4 # via # -c .pin/../.pin/constraints-xpu-torch.txt # -r benchmarks/huggingface/requirements.in -triton==2.3.1 - # via - # -c .pin/../.pin/constraints-xpu-torch.txt - # torch typing-extensions==4.12.2 # via # -c .pin/../.pin/constraints-xpu-torch.txt # huggingface-hub # reactivex # torch -urllib3==1.26.18 +urllib3==1.26.19 # via # -c .pin/../.pin/constraints-xpu-torch.txt # requests diff --git a/benchmarks/lightning/Makefile b/benchmarks/lightning/Makefile new file mode 100644 index 000000000..45233ac58 --- /dev/null +++ b/benchmarks/lightning/Makefile @@ -0,0 +1,12 @@ + +tests: + milabench install --config dev.yaml --base base + milabench prepare --config dev.yaml --base base + milabench run --config dev.yaml --base base + + +gpus: + milabench run --config dev.yaml --base base --select lightning-gpus + +nodes: + milabench run --config dev.yaml --base base --select lightning-nodes \ No newline at end of file diff --git a/benchmarks/lightning/benchfile.py b/benchmarks/lightning/benchfile.py index 13d6aa0dd..09926711f 100644 --- a/benchmarks/lightning/benchfile.py +++ b/benchmarks/lightning/benchfile.py @@ -1,3 +1,4 @@ +from milabench.commands import TorchrunAllNodes, TorchrunAllGPU, ListCommand from milabench.pack import Package @@ -6,5 +7,20 @@ class LightningBenchmark(Package): prepare_script = "prepare.py" main_script = "main.py" + def make_env(self): + return { + **super().make_env(), + "OMP_NUM_THREADS": str(self.config.get("cpus_per_gpu", 8)), + } + + def build_run_plan(self): + # self.config is not the right config for this + plan = super().build_run_plan() + + # if self.config.get("num_machines", 1) <= 1: + # return ListCommand(TorchrunAllGPU(plan, use_stdout=True)) + + return TorchrunAllNodes(plan).use_stdout() + __pack__ = LightningBenchmark diff --git a/benchmarks/lightning/dev.yaml b/benchmarks/lightning/dev.yaml new file mode 100644 index 000000000..e59a4ebbb --- /dev/null +++ b/benchmarks/lightning/dev.yaml @@ -0,0 +1,36 @@ + + +_lightning: + inherits: _defaults + definition: . + install-variant: unpinned + install_group: torch + argv: + --epochs: 10 + --num-workers: "auto({n_worker}, 8)" + --loader: pytorch + --data: "{milabench_data}/FakeImageNet" + --model: resnet152 + +lightning: + inherits: _lightning + num_machines: 1 + plan: + method: per_gpu + +lightning-gpus: + inherits: _lightning + num_machines: 1 + plan: + method: njobs + n: 1 + +lightning-nodes: + inherits: _lightning + num_machines: 2 + plan: + method: njobs + n: 1 + + requires_capabilities: + - "len(nodes) >= ${num_machines}" diff --git a/benchmarks/lightning/main.py b/benchmarks/lightning/main.py index e69de29bb..a83d3b48a 100644 --- a/benchmarks/lightning/main.py +++ b/benchmarks/lightning/main.py @@ -0,0 +1,93 @@ +#!/usr/bin/env python + +import argparse +import os + +import torch +import torch.nn.functional as F +import lightning as L +import torchvision.models as torchvision_models + +import torchcompat.core as accelerator +from benchmate.dataloader import imagenet_dataloader, dataloader_arguments + + +def criterion(): + return F.cross_entropy + + +class TorchvisionLightning(L.LightningModule): + def __init__(self, model): + super().__init__() + self.model = model + self.criterion = criterion() + + def training_step(self, batch, batch_idx): + x, y = batch + p = self.model(x) + loss = self.criterion(p, y) + return loss + + def configure_optimizers(self): + optimizer = torch.optim.Adam(self.parameters(), lr=1e-3) + return optimizer + + +def main(): + parser = argparse.ArgumentParser(description='simple distributed training job') + parser.add_argument( + "--epochs", + type=int, + default=10, + metavar="N", + help="number of epochs to train (default: 10)", + ) + parser.add_argument( + "--model", type=str, help="torchvision model name", required=True + ) + dataloader_arguments(parser) + args = parser.parse_args() + model = getattr(torchvision_models, args.model)() + + rank = int(os.getenv("RANK", 0)) + world_size = int(os.getenv("WORLD_SIZE", 1)) + local_world_size = int(os.getenv("LOCAL_WORLD_SIZE", 1)) + + n = accelerator.device_count() + nnodes = world_size // local_world_size + + model = TorchvisionLightning(model) + + dataset = imagenet_dataloader(args, model, rank, world_size) + + from benchmate.observer import BenchObserver + + accelerator.set_enable_tf32(True) + + observer = BenchObserver( + accelerator.Event, + earlystop=65, + batch_size_fn=lambda x: len(x[0]), + raise_stop_program=False, + stdout=True, + ) + + # train model + trainer = L.Trainer( + accelerator="auto", + devices=n, + num_nodes=nnodes, + strategy="ddp", + max_epochs=args.epochs, + precision="16-mixed", + enable_checkpointing=False, + enable_progress_bar=False, + reload_dataloaders_every_n_epochs=1, + max_steps=100 + ) + trainer.fit(model=model, train_dataloaders=observer.loader(dataset)) + print("finished: ", rank) + + +if __name__ == "__main__": + main() diff --git a/benchmarks/lightning/prepare.py b/benchmarks/lightning/prepare.py index cf529d79a..7c88e94a6 100755 --- a/benchmarks/lightning/prepare.py +++ b/benchmarks/lightning/prepare.py @@ -1,2 +1,6 @@ #!/usr/bin/env python +from benchmate.datagen import generate_fakeimagenet + +if __name__ == "__main__": + generate_fakeimagenet() diff --git a/benchmarks/lightning/requirements.cuda.txt b/benchmarks/lightning/requirements.cuda.txt new file mode 100644 index 000000000..7032b78ec --- /dev/null +++ b/benchmarks/lightning/requirements.cuda.txt @@ -0,0 +1,286 @@ +# +# This file is autogenerated by pip-compile with Python 3.10 +# by the following command: +# +# pip-compile --output-file=benchmarks/lightning/requirements.cuda.txt .pin/tmp-constraints-cuda-lightning-gpus.txt benchmarks/lightning/requirements.in +# +--extra-index-url https://pypi.ngc.nvidia.com +--extra-index-url https://download.pytorch.org/whl/cu121 +--find-links https://storage.googleapis.com/jax-releases/jax_cuda_releases.html +--trusted-host pypi.ngc.nvidia.com + +aiohttp==3.9.5 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # fsspec +aiosignal==1.3.1 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # aiohttp +antlr4-python3-runtime==4.9.3 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # omegaconf +asttokens==2.4.1 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # giving +async-timeout==4.0.3 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # aiohttp +attrs==23.2.0 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # aiohttp +codefind==0.1.6 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # ptera +executing==1.2.0 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # varname +filelock==3.15.4 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # torch + # triton +frozenlist==1.4.1 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # aiohttp + # aiosignal +fsspec[http]==2024.5.0 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # lightning + # pytorch-lightning + # torch +giving==0.4.2 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # ptera + # voir +idna==3.7 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # yarl +importlib-resources==6.4.0 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # torchcompat +jinja2==3.1.4 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # torch +lightning==2.3.3 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # -r benchmarks/lightning/requirements.in +lightning-utilities==0.11.5 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # lightning + # pytorch-lightning + # torchmetrics +markdown-it-py==3.0.0 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # rich +markupsafe==2.1.5 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # jinja2 +mdurl==0.1.2 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # markdown-it-py +mpmath==1.3.0 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # sympy +multidict==6.0.5 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # aiohttp + # yarl +networkx==3.3 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # torch +numpy==1.26.4 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # lightning + # pytorch-lightning + # torchmetrics + # torchvision +nvidia-cublas-cu12==12.1.3.1 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # nvidia-cudnn-cu12 + # nvidia-cusolver-cu12 + # torch +nvidia-cuda-cupti-cu12==12.1.105 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # torch +nvidia-cuda-nvrtc-cu12==12.1.105 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # torch +nvidia-cuda-runtime-cu12==12.1.105 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # torch +nvidia-cudnn-cu12==8.9.2.26 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # torch +nvidia-cufft-cu12==11.0.2.54 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # torch +nvidia-curand-cu12==10.3.2.106 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # torch +nvidia-cusolver-cu12==11.4.5.107 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # torch +nvidia-cusparse-cu12==12.1.0.106 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # nvidia-cusolver-cu12 + # torch +nvidia-nccl-cu12==2.20.5 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # torch +nvidia-nvjitlink-cu12==12.5.82 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # nvidia-cusolver-cu12 + # nvidia-cusparse-cu12 +nvidia-nvtx-cu12==12.1.105 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # torch +omegaconf==2.3.0 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # voir +ovld==0.3.5 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # voir +packaging==24.1 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # lightning + # lightning-utilities + # pytorch-lightning + # torchmetrics +pillow==10.4.0 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # torchvision +psutil==5.9.8 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # voir +ptera==1.4.1 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # voir +pygments==2.18.0 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # rich +pynvml==11.5.3 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # voir +pytorch-lightning==2.3.3 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # lightning +pyyaml==6.0.1 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # lightning + # omegaconf + # pytorch-lightning +reactivex==4.0.4 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # giving +rich==13.7.1 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # voir +six==1.16.0 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # asttokens +sympy==1.13.1 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # torch +torch==2.3.1+cu121 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # -r benchmarks/lightning/requirements.in + # lightning + # pytorch-lightning + # torchmetrics + # torchvision +torchcompat==1.1.4 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # -c .pin/../constraints/cuda.txt + # -r benchmarks/lightning/requirements.in +torchmetrics==1.0.3 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # lightning + # pytorch-lightning +torchvision==0.18.1+cu121 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # -r benchmarks/lightning/requirements.in +tqdm==4.66.4 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # lightning + # pytorch-lightning +triton==2.3.1 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # torch +typing-extensions==4.12.2 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # lightning + # lightning-utilities + # pytorch-lightning + # reactivex + # torch +varname==0.10.0 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # giving +voir==0.2.16 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # -c .pin/../constraints/cuda.txt + # -r benchmarks/lightning/requirements.in +yarl==1.9.4 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # aiohttp + +# The following packages are considered to be unsafe in a requirements file: +# setuptools diff --git a/benchmarks/lightning/voirfile.py b/benchmarks/lightning/voirfile.py index e69de29bb..7a958e89b 100644 --- a/benchmarks/lightning/voirfile.py +++ b/benchmarks/lightning/voirfile.py @@ -0,0 +1,34 @@ +from dataclasses import dataclass + +from voir import configurable +from voir.phase import StopProgram + + +@dataclass +class Config: + """voir configuration""" + + # Whether to display the dash or not + dash: bool = False + + # How often to log the rates + interval: str = "1s" + + # Number of rates to skip before logging + skip: int = 5 + + # Number of rates to log before stopping + stop: int = 20 + + # Number of seconds between each gpu poll + gpu_poll: int = 3 + + +@configurable +def instrument_main(ov, options: Config): + yield ov.phases.init + + try: + yield ov.phases.run_script + except StopProgram: + print("early stopped") diff --git a/benchmarks/llama/requirements.cuda.txt b/benchmarks/llama/requirements.cuda.txt index 56eff4010..bd0e84db2 100644 --- a/benchmarks/llama/requirements.cuda.txt +++ b/benchmarks/llama/requirements.cuda.txt @@ -1,5 +1,5 @@ # -# This file is autogenerated by pip-compile with Python 3.11 +# This file is autogenerated by pip-compile with Python 3.10 # by the following command: # # pip-compile --output-file=benchmarks/llama/requirements.cuda.txt .pin/tmp-constraints-cuda-llm.txt benchmarks/llama/requirements.in @@ -26,11 +26,15 @@ asttokens==2.4.1 # via # -c .pin/../.pin/constraints-cuda-torch.txt # giving +async-timeout==4.0.3 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # aiohttp attrs==23.2.0 # via # -c .pin/../.pin/constraints-cuda-torch.txt # aiohttp -certifi==2024.6.2 +certifi==2024.7.4 # via # -c .pin/../.pin/constraints-cuda-torch.txt # requests @@ -42,11 +46,11 @@ codefind==0.1.6 # via # -c .pin/../.pin/constraints-cuda-torch.txt # ptera -datasets==2.14.7 +datasets==2.20.0 # via # -c .pin/../.pin/constraints-cuda-torch.txt # -r benchmarks/llama/requirements.in -dill==0.3.7 +dill==0.3.8 # via # -c .pin/../.pin/constraints-cuda-torch.txt # datasets @@ -59,9 +63,10 @@ fairscale==0.4.13 # via # -c .pin/../.pin/constraints-cuda-torch.txt # -r benchmarks/llama/requirements.in -filelock==3.14.0 +filelock==3.15.4 # via # -c .pin/../.pin/constraints-cuda-torch.txt + # datasets # huggingface-hub # torch # transformers @@ -75,7 +80,7 @@ frozenlist==1.4.1 # -c .pin/../.pin/constraints-cuda-torch.txt # aiohttp # aiosignal -fsspec[http]==2023.1.0 +fsspec[http]==2024.5.0 # via # -c .pin/../.pin/constraints-cuda-torch.txt # datasets @@ -86,7 +91,7 @@ giving==0.4.2 # -c .pin/../.pin/constraints-cuda-torch.txt # ptera # voir -huggingface-hub==0.17.3 +huggingface-hub==0.24.0 # via # -c .pin/../.pin/constraints-cuda-torch.txt # datasets @@ -122,7 +127,7 @@ multidict==6.0.5 # -c .pin/../.pin/constraints-cuda-torch.txt # aiohttp # yarl -multiprocess==0.70.15 +multiprocess==0.70.16 # via # -c .pin/../.pin/constraints-cuda-torch.txt # datasets @@ -181,7 +186,7 @@ nvidia-nccl-cu12==2.20.5 # via # -c .pin/../.pin/constraints-cuda-torch.txt # torch -nvidia-nvjitlink-cu12==12.5.40 +nvidia-nvjitlink-cu12==12.5.82 # via # -c .pin/../.pin/constraints-cuda-torch.txt # nvidia-cusolver-cu12 @@ -216,7 +221,7 @@ ptera==1.4.1 # via # -c .pin/../.pin/constraints-cuda-torch.txt # voir -pyarrow==16.1.0 +pyarrow==17.0.0 # via # -c .pin/../.pin/constraints-cuda-torch.txt # datasets @@ -228,7 +233,7 @@ pygments==2.18.0 # via # -c .pin/../.pin/constraints-cuda-torch.txt # rich -pynvml==11.5.0 +pynvml==11.5.3 # via # -c .pin/../.pin/constraints-cuda-torch.txt # voir @@ -259,7 +264,6 @@ requests==2.32.3 # via # -c .pin/../.pin/constraints-cuda-torch.txt # datasets - # fsspec # huggingface-hub # transformers rich==13.7.1 @@ -280,7 +284,7 @@ six==1.16.0 # asttokens # fire # python-dateutil -sympy==1.12.1 +sympy==1.13.1 # via # -c .pin/../.pin/constraints-cuda-torch.txt # torch @@ -288,7 +292,7 @@ termcolor==2.4.0 # via # -c .pin/../.pin/constraints-cuda-torch.txt # fire -tokenizers==0.15.2 +tokenizers==0.19.1 # via # -c .pin/../.pin/constraints-cuda-torch.txt # transformers @@ -303,7 +307,7 @@ tqdm==4.66.4 # datasets # huggingface-hub # transformers -transformers==4.35.2 +transformers==4.42.4 # via # -c .pin/../.pin/constraints-cuda-torch.txt # -r benchmarks/llama/requirements.in @@ -321,7 +325,7 @@ tzdata==2024.1 # via # -c .pin/../.pin/constraints-cuda-torch.txt # pandas -urllib3==1.26.18 +urllib3==1.26.19 # via # -c .pin/../.pin/constraints-cuda-torch.txt # requests diff --git a/benchmarks/llama/requirements.hpu.txt b/benchmarks/llama/requirements.hpu.txt index ad49d2055..d00a6c54c 100644 --- a/benchmarks/llama/requirements.hpu.txt +++ b/benchmarks/llama/requirements.hpu.txt @@ -1,5 +1,5 @@ # -# This file is autogenerated by pip-compile with Python 3.11 +# This file is autogenerated by pip-compile with Python 3.10 # by the following command: # # pip-compile --output-file=benchmarks/llama/requirements.hpu.txt .pin/tmp-constraints-hpu-llm.txt benchmarks/llama/requirements.in @@ -25,6 +25,10 @@ asttokens==2.4.1 # via # -c .pin/../.pin/constraints-hpu-torch.txt # giving +async-timeout==4.0.3 + # via + # -c .pin/../.pin/constraints-hpu-torch.txt + # aiohttp attrs==23.2.0 # via # -c .pin/../.pin/constraints-hpu-torch.txt @@ -41,7 +45,7 @@ codefind==0.1.6 # via # -c .pin/../.pin/constraints-hpu-torch.txt # ptera -datasets==2.19.2 +datasets==2.20.0 # via # -c .pin/../.pin/constraints-hpu-torch.txt # -r benchmarks/llama/requirements.in @@ -58,7 +62,7 @@ fairscale==0.4.13 # via # -c .pin/../.pin/constraints-hpu-torch.txt # -r benchmarks/llama/requirements.in -filelock==3.14.0 +filelock==3.15.4 # via # -c .pin/../.pin/constraints-hpu-torch.txt # datasets @@ -75,7 +79,7 @@ frozenlist==1.4.1 # -c .pin/../.pin/constraints-hpu-torch.txt # aiohttp # aiosignal -fsspec[http]==2024.3.1 +fsspec[http]==2024.5.0 # via # -c .pin/../.pin/constraints-hpu-torch.txt # datasets @@ -86,7 +90,7 @@ giving==0.4.2 # -c .pin/../.pin/constraints-hpu-torch.txt # ptera # voir -huggingface-hub==0.23.3 +huggingface-hub==0.24.0 # via # -c .pin/../.pin/constraints-hpu-torch.txt # datasets @@ -181,7 +185,7 @@ nvidia-nccl-cu12==2.20.5 # via # -c .pin/../.pin/constraints-hpu-torch.txt # torch -nvidia-nvjitlink-cu12==12.5.40 +nvidia-nvjitlink-cu12==12.5.82 # via # -c .pin/../.pin/constraints-hpu-torch.txt # nvidia-cusolver-cu12 @@ -216,7 +220,7 @@ ptera==1.4.1 # via # -c .pin/../.pin/constraints-hpu-torch.txt # voir -pyarrow==16.1.0 +pyarrow==17.0.0 # via # -c .pin/../.pin/constraints-hpu-torch.txt # datasets @@ -228,7 +232,7 @@ pygments==2.18.0 # via # -c .pin/../.pin/constraints-hpu-torch.txt # rich -pynvml==11.5.0 +pynvml==11.5.3 # via # -c .pin/../.pin/constraints-hpu-torch.txt # voir @@ -279,7 +283,7 @@ six==1.16.0 # asttokens # fire # python-dateutil -sympy==1.12.1 +sympy==1.13.0 # via # -c .pin/../.pin/constraints-hpu-torch.txt # torch @@ -302,7 +306,7 @@ tqdm==4.66.4 # datasets # huggingface-hub # transformers -transformers==4.41.2 +transformers==4.42.4 # via # -c .pin/../.pin/constraints-hpu-torch.txt # -r benchmarks/llama/requirements.in @@ -320,7 +324,7 @@ tzdata==2024.1 # via # -c .pin/../.pin/constraints-hpu-torch.txt # pandas -urllib3==1.26.18 +urllib3==1.26.19 # via # -c .pin/../.pin/constraints-hpu-torch.txt # requests diff --git a/benchmarks/llama/requirements.rocm.txt b/benchmarks/llama/requirements.rocm.txt index 5738855ae..1e21d8476 100644 --- a/benchmarks/llama/requirements.rocm.txt +++ b/benchmarks/llama/requirements.rocm.txt @@ -1,5 +1,5 @@ # -# This file is autogenerated by pip-compile with Python 3.11 +# This file is autogenerated by pip-compile with Python 3.10 # by the following command: # # pip-compile --output-file=benchmarks/llama/requirements.rocm.txt .pin/tmp-constraints-rocm-llm.txt benchmarks/llama/requirements.in @@ -26,6 +26,10 @@ asttokens==2.4.1 # via # -c .pin/../.pin/constraints-rocm-torch.txt # giving +async-timeout==4.0.3 + # via + # -c .pin/../.pin/constraints-rocm-torch.txt + # aiohttp attrs==23.2.0 # via # -c .pin/../.pin/constraints-rocm-torch.txt @@ -42,7 +46,7 @@ codefind==0.1.6 # via # -c .pin/../.pin/constraints-rocm-torch.txt # ptera -datasets==2.19.2 +datasets==2.20.0 # via # -c .pin/../.pin/constraints-rocm-torch.txt # -r benchmarks/llama/requirements.in @@ -59,7 +63,7 @@ fairscale==0.4.13 # via # -c .pin/../.pin/constraints-rocm-torch.txt # -r benchmarks/llama/requirements.in -filelock==3.14.0 +filelock==3.15.4 # via # -c .pin/../.pin/constraints-rocm-torch.txt # datasets @@ -76,7 +80,7 @@ frozenlist==1.4.1 # -c .pin/../.pin/constraints-rocm-torch.txt # aiohttp # aiosignal -fsspec[http]==2024.3.1 +fsspec[http]==2024.5.0 # via # -c .pin/../.pin/constraints-rocm-torch.txt # datasets @@ -87,7 +91,7 @@ giving==0.4.2 # -c .pin/../.pin/constraints-rocm-torch.txt # ptera # voir -huggingface-hub==0.23.3 +huggingface-hub==0.23.5 # via # -c .pin/../.pin/constraints-rocm-torch.txt # datasets @@ -165,7 +169,7 @@ ptera==1.4.1 # via # -c .pin/../.pin/constraints-rocm-torch.txt # voir -pyarrow==16.1.0 +pyarrow==17.0.0 # via # -c .pin/../.pin/constraints-rocm-torch.txt # datasets @@ -177,7 +181,7 @@ pygments==2.18.0 # via # -c .pin/../.pin/constraints-rocm-torch.txt # rich -pynvml==11.5.0 +pynvml==11.5.3 # via # -c .pin/../.pin/constraints-rocm-torch.txt # voir @@ -232,7 +236,7 @@ six==1.16.0 # asttokens # fire # python-dateutil -sympy==1.12.1 +sympy==1.13.0 # via # -c .pin/../.pin/constraints-rocm-torch.txt # torch @@ -255,7 +259,7 @@ tqdm==4.66.4 # datasets # huggingface-hub # transformers -transformers==4.41.2 +transformers==4.42.4 # via # -c .pin/../.pin/constraints-rocm-torch.txt # -r benchmarks/llama/requirements.in @@ -269,7 +273,7 @@ tzdata==2024.1 # via # -c .pin/../.pin/constraints-rocm-torch.txt # pandas -urllib3==1.26.18 +urllib3==1.26.19 # via # -c .pin/../.pin/constraints-rocm-torch.txt # requests diff --git a/benchmarks/llama/requirements.xpu.txt b/benchmarks/llama/requirements.xpu.txt index c166d4ec4..5d7223852 100644 --- a/benchmarks/llama/requirements.xpu.txt +++ b/benchmarks/llama/requirements.xpu.txt @@ -1,5 +1,5 @@ # -# This file is autogenerated by pip-compile with Python 3.11 +# This file is autogenerated by pip-compile with Python 3.10 # by the following command: # # pip-compile --output-file=benchmarks/llama/requirements.xpu.txt .pin/tmp-constraints-xpu-llm.txt benchmarks/llama/requirements.in @@ -26,6 +26,10 @@ asttokens==2.4.1 # via # -c .pin/../.pin/constraints-xpu-torch.txt # giving +async-timeout==4.0.3 + # via + # -c .pin/../.pin/constraints-xpu-torch.txt + # aiohttp attrs==23.2.0 # via # -c .pin/../.pin/constraints-xpu-torch.txt @@ -42,11 +46,11 @@ codefind==0.1.6 # via # -c .pin/../.pin/constraints-xpu-torch.txt # ptera -datasets==2.14.7 +datasets==2.20.0 # via # -c .pin/../.pin/constraints-xpu-torch.txt # -r benchmarks/llama/requirements.in -dill==0.3.7 +dill==0.3.8 # via # -c .pin/../.pin/constraints-xpu-torch.txt # datasets @@ -59,13 +63,13 @@ fairscale==0.4.13 # via # -c .pin/../.pin/constraints-xpu-torch.txt # -r benchmarks/llama/requirements.in -filelock==3.14.0 +filelock==3.15.4 # via # -c .pin/../.pin/constraints-xpu-torch.txt + # datasets # huggingface-hub # torch # transformers - # triton fire==0.6.0 # via # -c .pin/../.pin/constraints-xpu-torch.txt @@ -75,7 +79,7 @@ frozenlist==1.4.1 # -c .pin/../.pin/constraints-xpu-torch.txt # aiohttp # aiosignal -fsspec[http]==2023.1.0 +fsspec[http]==2024.5.0 # via # -c .pin/../.pin/constraints-xpu-torch.txt # datasets @@ -86,7 +90,7 @@ giving==0.4.2 # -c .pin/../.pin/constraints-xpu-torch.txt # ptera # voir -huggingface-hub==0.17.3 +huggingface-hub==0.24.0 # via # -c .pin/../.pin/constraints-xpu-torch.txt # datasets @@ -122,7 +126,7 @@ multidict==6.0.5 # -c .pin/../.pin/constraints-xpu-torch.txt # aiohttp # yarl -multiprocess==0.70.15 +multiprocess==0.70.16 # via # -c .pin/../.pin/constraints-xpu-torch.txt # datasets @@ -138,58 +142,6 @@ numpy==1.26.4 # pandas # pyarrow # transformers -nvidia-cublas-cu12==12.1.3.1 - # via - # -c .pin/../.pin/constraints-xpu-torch.txt - # nvidia-cudnn-cu12 - # nvidia-cusolver-cu12 - # torch -nvidia-cuda-cupti-cu12==12.1.105 - # via - # -c .pin/../.pin/constraints-xpu-torch.txt - # torch -nvidia-cuda-nvrtc-cu12==12.1.105 - # via - # -c .pin/../.pin/constraints-xpu-torch.txt - # torch -nvidia-cuda-runtime-cu12==12.1.105 - # via - # -c .pin/../.pin/constraints-xpu-torch.txt - # torch -nvidia-cudnn-cu12==8.9.2.26 - # via - # -c .pin/../.pin/constraints-xpu-torch.txt - # torch -nvidia-cufft-cu12==11.0.2.54 - # via - # -c .pin/../.pin/constraints-xpu-torch.txt - # torch -nvidia-curand-cu12==10.3.2.106 - # via - # -c .pin/../.pin/constraints-xpu-torch.txt - # torch -nvidia-cusolver-cu12==11.4.5.107 - # via - # -c .pin/../.pin/constraints-xpu-torch.txt - # torch -nvidia-cusparse-cu12==12.1.0.106 - # via - # -c .pin/../.pin/constraints-xpu-torch.txt - # nvidia-cusolver-cu12 - # torch -nvidia-nccl-cu12==2.20.5 - # via - # -c .pin/../.pin/constraints-xpu-torch.txt - # torch -nvidia-nvjitlink-cu12==12.5.40 - # via - # -c .pin/../.pin/constraints-xpu-torch.txt - # nvidia-cusolver-cu12 - # nvidia-cusparse-cu12 -nvidia-nvtx-cu12==12.1.105 - # via - # -c .pin/../.pin/constraints-xpu-torch.txt - # torch omegaconf==2.3.0 # via # -c .pin/../.pin/constraints-xpu-torch.txt @@ -216,7 +168,7 @@ ptera==1.4.1 # via # -c .pin/../.pin/constraints-xpu-torch.txt # voir -pyarrow==16.1.0 +pyarrow==17.0.0 # via # -c .pin/../.pin/constraints-xpu-torch.txt # datasets @@ -228,7 +180,7 @@ pygments==2.18.0 # via # -c .pin/../.pin/constraints-xpu-torch.txt # rich -pynvml==11.5.0 +pynvml==11.5.3 # via # -c .pin/../.pin/constraints-xpu-torch.txt # voir @@ -259,7 +211,6 @@ requests==2.32.3 # via # -c .pin/../.pin/constraints-xpu-torch.txt # datasets - # fsspec # huggingface-hub # transformers rich==13.7.1 @@ -280,7 +231,7 @@ six==1.16.0 # asttokens # fire # python-dateutil -sympy==1.12.1 +sympy==1.13.0 # via # -c .pin/../.pin/constraints-xpu-torch.txt # torch @@ -288,11 +239,11 @@ termcolor==2.4.0 # via # -c .pin/../.pin/constraints-xpu-torch.txt # fire -tokenizers==0.15.2 +tokenizers==0.19.1 # via # -c .pin/../.pin/constraints-xpu-torch.txt # transformers -torch==2.3.1 +torch==2.1.0.post2+cxx11.abi # via # -c .pin/../.pin/constraints-xpu-torch.txt # -c .pin/../constraints/xpu.txt @@ -304,14 +255,10 @@ tqdm==4.66.4 # datasets # huggingface-hub # transformers -transformers==4.35.2 +transformers==4.42.4 # via # -c .pin/../.pin/constraints-xpu-torch.txt # -r benchmarks/llama/requirements.in -triton==2.3.1 - # via - # -c .pin/../.pin/constraints-xpu-torch.txt - # torch typing-extensions==4.12.2 # via # -c .pin/../.pin/constraints-xpu-torch.txt @@ -322,7 +269,7 @@ tzdata==2024.1 # via # -c .pin/../.pin/constraints-xpu-torch.txt # pandas -urllib3==1.26.18 +urllib3==1.26.19 # via # -c .pin/../.pin/constraints-xpu-torch.txt # requests diff --git a/benchmarks/stable_baselines3/requirements-bench.txt b/benchmarks/stable_baselines3/requirements-bench.txt deleted file mode 100644 index efec98654..000000000 --- a/benchmarks/stable_baselines3/requirements-bench.txt +++ /dev/null @@ -1,521 +0,0 @@ -# -# This file is autogenerated by pip-compile with Python 3.9 -# by the following command: -# -# pip-compile --output-file=requirements-bench.txt --resolver=backtracking /home/mila/b/breuleuo/code/milabench/pyproject.toml requirements-bench.in requirements-pre.txt -# -absl-py==1.4.0 - # via rliable -alabaster==0.7.13 - # via sphinx -alembic==1.9.2 - # via optuna -appdirs==1.4.4 - # via wandb -arch==5.3.0 - # via rliable -argcomplete==1.12.3 - # via nox -asttokens==2.2.1 - # via giving -attrs==22.2.0 - # via - # flake8-bugbear - # pytest - # pytype -babel==2.11.0 - # via sphinx -black==23.1.0 - # via stable-baselines3 -blessed==1.20.0 - # via milabench (/home/mila/b/breuleuo/code/milabench/pyproject.toml) -box2d-py==2.3.8 - # via -r requirements-bench.in -build==0.10.0 - # via pip-tools -certifi==2022.12.7 - # via - # requests - # sentry-sdk -chardet==5.1.0 - # via mbstrdecoder -charset-normalizer==3.0.1 - # via requests -click==8.1.3 - # via - # black - # pip-tools - # wandb -cloudpickle==2.2.1 - # via - # -r requirements-bench.in - # gym - # huggingface-sb3 - # stable-baselines3 -cmaes==0.9.1 - # via optuna -codefind==0.1.3 - # via ptera -coleo==0.3.2 - # via - # cp-template - # milabench (/home/mila/b/breuleuo/code/milabench/pyproject.toml) -colorama==0.4.6 - # via - # rich - # sphinx-autobuild -colorlog==6.7.0 - # via - # nox - # optuna -commonmark==0.9.1 - # via rich -contourpy==1.0.7 - # via matplotlib -coverage[toml]==7.1.0 - # via pytest-cov -cp-template==0.3.0 - # via milabench (/home/mila/b/breuleuo/code/milabench/pyproject.toml) -cycler==0.11.0 - # via matplotlib -dataproperty==0.55.0 - # via - # pytablewriter - # tabledata -distlib==0.3.6 - # via virtualenv -docker-pycreds==0.4.0 - # via wandb -docutils==0.19 - # via sphinx -exceptiongroup==1.1.0 - # via pytest -execnet==1.9.0 - # via pytest-xdist -executing==1.2.0 - # via varname -filelock==3.9.0 - # via - # huggingface-hub - # virtualenv -flake8==6.0.0 - # via - # flake8-bugbear - # stable-baselines3 -flake8-bugbear==23.1.20 - # via stable-baselines3 -fonttools==4.38.0 - # via matplotlib -gitdb==4.0.10 - # via gitpython -gitpython==3.1.30 - # via - # milabench (/home/mila/b/breuleuo/code/milabench/pyproject.toml) - # wandb -giving==0.4.1 - # via - # milabench (/home/mila/b/breuleuo/code/milabench/pyproject.toml) - # ptera -greenlet==2.0.2 - # via sqlalchemy -gym==0.21.0 - # via - # -r requirements-bench.in - # gym-minigrid - # panda-gym - # stable-baselines3 -gym-minigrid==1.0.3 - # via -r requirements-bench.in -hrepr==0.4.1 - # via milabench (/home/mila/b/breuleuo/code/milabench/pyproject.toml) -huggingface-hub==0.12.0 - # via huggingface-sb3 -huggingface-sb3==2.2.4 - # via -r requirements-bench.in -idna==3.4 - # via requests -imagesize==1.4.1 - # via sphinx -importlab==0.8 - # via pytype -importlib-metadata==4.13.0 - # via - # -r requirements-bench.in - # sphinx - # stable-baselines3 -iniconfig==2.0.0 - # via pytest -isort==5.12.0 - # via stable-baselines3 -jinja2==3.1.2 - # via - # pytype - # sphinx -joblib==1.2.0 - # via - # scikit-learn - # scikit-optimize -kiwisolver==1.4.4 - # via matplotlib -libcst==0.4.9 - # via pytype -livereload==2.6.3 - # via sphinx-autobuild -mako==1.2.4 - # via alembic -markupsafe==2.1.2 - # via - # jinja2 - # mako -matplotlib==3.6.3 - # via - # seaborn - # stable-baselines3 -mbstrdecoder==1.1.1 - # via - # dataproperty - # pytablewriter - # typepy -mccabe==0.7.0 - # via flake8 -mypy==0.991 - # via stable-baselines3 -mypy-extensions==0.4.3 - # via - # black - # mypy - # typing-inspect -networkx==2.8.3 - # via - # importlab - # pytype -ninja==1.11.1 - # via pytype -nox==2021.10.1 - # via milabench (/home/mila/b/breuleuo/code/milabench/pyproject.toml) -numpy==1.24.1 - # via - # arch - # cmaes - # contourpy - # gym - # gym-minigrid - # huggingface-sb3 - # matplotlib - # milabench (/home/mila/b/breuleuo/code/milabench/pyproject.toml) - # optuna - # panda-gym - # pandas - # patsy - # rliable - # scikit-learn - # scikit-optimize - # scipy - # seaborn - # stable-baselines3 - # statsmodels -nvidia-cublas-cu11==11.10.3.66 - # via - # nvidia-cudnn-cu11 - # torch -nvidia-cuda-nvrtc-cu11==11.7.99 - # via torch -nvidia-cuda-runtime-cu11==11.7.99 - # via torch -nvidia-cudnn-cu11==8.5.0.96 - # via torch -optuna==3.1.0 - # via -r requirements-bench.in -ovld==0.3.2 - # via - # hrepr - # milabench (/home/mila/b/breuleuo/code/milabench/pyproject.toml) - # voir -packaging==23.0 - # via - # black - # build - # huggingface-hub - # matplotlib - # nox - # optuna - # pytest - # sphinx - # statsmodels - # typepy -panda-gym==1.1.1 - # via -r requirements-bench.in -pandas==1.5.3 - # via - # arch - # milabench (/home/mila/b/breuleuo/code/milabench/pyproject.toml) - # seaborn - # stable-baselines3 - # statsmodels -pathspec==0.9.0 - # via - # -r requirements-bench.in - # black - # milabench (/home/mila/b/breuleuo/code/milabench/pyproject.toml) -pathtools==0.1.2 - # via wandb -pathvalidate==2.5.2 - # via pytablewriter -patsy==0.5.3 - # via statsmodels -pillow==9.4.0 - # via matplotlib -pip-tools==6.12.3 - # via milabench (/home/mila/b/breuleuo/code/milabench/pyproject.toml) -platformdirs==2.6.2 - # via - # black - # virtualenv -plotly==5.13.0 - # via -r requirements-bench.in -pluggy==1.0.0 - # via pytest -property-cached==1.6.4 - # via arch -protobuf==3.20.3 - # via wandb -psutil==5.9.4 - # via - # milabench (/home/mila/b/breuleuo/code/milabench/pyproject.toml) - # wandb -ptera==1.4.1 - # via - # coleo - # milabench (/home/mila/b/breuleuo/code/milabench/pyproject.toml) - # voir -py==1.11.0 - # via nox -pyaml==21.10.1 - # via scikit-optimize -pybullet==3.2.5 - # via - # -r requirements-bench.in - # panda-gym -pycodestyle==2.10.0 - # via flake8 -pydot==1.4.2 - # via pytype -pyenchant==3.2.2 - # via sphinxcontrib-spelling -pyflakes==3.0.1 - # via flake8 -pygments==2.14.0 - # via - # rich - # sphinx -pynvml==11.5.0 - # via milabench (/home/mila/b/breuleuo/code/milabench/pyproject.toml) -pyparsing==3.0.9 - # via - # matplotlib - # pydot -pyproject-hooks==1.0.0 - # via build -pystache==0.6.0 - # via cp-template -pytablewriter==0.64.2 - # via -r requirements-bench.in -pytest==7.2.1 - # via - # pytest-cov - # pytest-env - # pytest-xdist - # stable-baselines3 -pytest-cov==4.0.0 - # via stable-baselines3 -pytest-env==0.8.1 - # via stable-baselines3 -pytest-xdist==3.1.0 - # via stable-baselines3 -python-dateutil==2.8.2 - # via - # matplotlib - # pandas - # typepy -pytype==2023.1.31 - # via stable-baselines3 -pytz==2022.7.1 - # via - # babel - # pandas - # typepy -pyyaml==6.0 - # via - # -r requirements-bench.in - # huggingface-hub - # huggingface-sb3 - # libcst - # milabench (/home/mila/b/breuleuo/code/milabench/pyproject.toml) - # optuna - # pyaml - # wandb -reactivex==4.0.4 - # via giving -requests==2.28.2 - # via - # huggingface-hub - # milabench (/home/mila/b/breuleuo/code/milabench/pyproject.toml) - # sphinx - # wandb -rich==10.16.2 - # via - # -r requirements-bench.in - # milabench (/home/mila/b/breuleuo/code/milabench/pyproject.toml) -rliable==1.0.8 - # via -r requirements-bench.in -sb3-contrib==1.7.0 - # via -r requirements-bench.in -scikit-learn==1.2.1 - # via scikit-optimize -scikit-optimize==0.9.0 - # via -r requirements-bench.in -scipy==1.10.0 - # via - # arch - # rliable - # scikit-learn - # scikit-optimize - # stable-baselines3 - # statsmodels -seaborn==0.12.2 - # via - # -r requirements-bench.in - # rliable -sentry-sdk==1.14.0 - # via wandb -setproctitle==1.3.2 - # via wandb -six==1.16.0 - # via - # asttokens - # blessed - # docker-pycreds - # livereload - # patsy - # python-dateutil -smmap==5.0.0 - # via gitdb -snowballstemmer==2.2.0 - # via sphinx -sphinx==6.1.3 - # via - # sphinx-autobuild - # sphinx-autodoc-typehints - # sphinx-copybutton - # sphinx-rtd-theme - # sphinxcontrib-spelling - # stable-baselines3 -sphinx-autobuild==2021.3.14 - # via stable-baselines3 -sphinx-autodoc-typehints==1.22 - # via stable-baselines3 -sphinx-copybutton==0.5.1 - # via stable-baselines3 -sphinx-rtd-theme==0.5.1 - # via stable-baselines3 -sphinxcontrib-applehelp==1.0.4 - # via sphinx -sphinxcontrib-devhelp==1.0.2 - # via sphinx -sphinxcontrib-htmlhelp==2.0.1 - # via sphinx -sphinxcontrib-jsmath==1.0.1 - # via sphinx -sphinxcontrib-qthelp==1.0.3 - # via sphinx -sphinxcontrib-serializinghtml==1.1.5 - # via sphinx -sphinxcontrib-spelling==7.7.0 - # via stable-baselines3 -sqlalchemy==2.0.1 - # via - # alembic - # optuna -stable-baselines3[docs,extra_no_roms,tests]==1.7.0 - # via - # -r requirements-bench.in - # sb3-contrib -statsmodels==0.13.5 - # via arch -swig==4.1.1 - # via -r requirements-pre.txt -tabledata==1.3.0 - # via pytablewriter -tabulate==0.9.0 - # via pytype -tcolorpy==0.1.2 - # via pytablewriter -tenacity==8.1.0 - # via plotly -threadpoolctl==3.1.0 - # via scikit-learn -toml==0.10.2 - # via pytype -tomli==2.0.1 - # via - # black - # build - # coverage - # mypy - # pyproject-hooks - # pytest -torch==1.13.1 - # via stable-baselines3 -tornado==6.2 - # via livereload -tqdm==4.64.1 - # via - # -r requirements-bench.in - # huggingface-hub - # optuna -typepy[datetime]==1.3.0 - # via - # dataproperty - # pytablewriter - # tabledata -typing-extensions==4.4.0 - # via - # black - # huggingface-hub - # libcst - # mypy - # pytype - # reactivex - # sqlalchemy - # torch - # typing-inspect - # wandb -typing-inspect==0.8.0 - # via libcst -urllib3==1.26.14 - # via - # requests - # sentry-sdk -varname==0.10.0 - # via giving -virtualenv==20.20.0 - # via nox -voir==0.2.16 - # via milabench (/home/mila/b/breuleuo/code/milabench/pyproject.toml) -wandb==0.13.9 - # via -r requirements-bench.in -wasabi==1.1.1 - # via huggingface-sb3 -wcwidth==0.2.6 - # via blessed -wheel==0.38.4 - # via - # nvidia-cublas-cu11 - # nvidia-cuda-runtime-cu11 - # pip-tools -zipp==3.12.0 - # via importlib-metadata - -# The following packages are considered to be unsafe in a requirements file: -# pip -# setuptools diff --git a/benchmarks/stable_baselines3/requirements-pre.cuda.txt b/benchmarks/stable_baselines3/requirements-pre.cuda.txt deleted file mode 100644 index 31d0a94af..000000000 --- a/benchmarks/stable_baselines3/requirements-pre.cuda.txt +++ /dev/null @@ -1,13 +0,0 @@ -# -# This file is autogenerated by pip-compile with Python 3.9 -# by the following command: -# -# pip-compile --output-file=benchmarks/stable_baselines3/requirements-pre.cuda.txt --resolver=backtracking .pin-constraints-sb3.txt benchmarks/stable_baselines3/requirements-pre.in -# ---extra-index-url https://download.pytorch.org/whl/cu118 - -swig==4.1.1 - # via -r benchmarks/stable_baselines3/requirements-pre.in - -# Fix problem with gym install -setuptools==65.5.0 diff --git a/benchmarks/stable_baselines3/requirements-pre.rocm.txt b/benchmarks/stable_baselines3/requirements-pre.rocm.txt deleted file mode 100644 index aa122fa5f..000000000 --- a/benchmarks/stable_baselines3/requirements-pre.rocm.txt +++ /dev/null @@ -1,13 +0,0 @@ -# -# This file is autogenerated by pip-compile with Python 3.9 -# by the following command: -# -# pip-compile --output-file=benchmarks/stable_baselines3/requirements-pre.rocm.txt --resolver=backtracking .pin-constraints-sb3.txt benchmarks/stable_baselines3/requirements-pre.in -# ---extra-index-url https://download.pytorch.org/whl/rocm5.4.2/ - -swig==4.1.1 - # via -r benchmarks/stable_baselines3/requirements-pre.in - -# Fix problem with gym install -setuptools==65.5.0 diff --git a/benchmarks/stable_baselines3/requirements-pre.txt b/benchmarks/stable_baselines3/requirements-pre.txt deleted file mode 100644 index 1727292b5..000000000 --- a/benchmarks/stable_baselines3/requirements-pre.txt +++ /dev/null @@ -1,8 +0,0 @@ -# -# This file is autogenerated by pip-compile with Python 3.9 -# by the following command: -# -# pip-compile --output-file=requirements-pre.txt --resolver=backtracking requirements-pre.in -# -swig==4.1.1 - # via -r requirements-pre.in diff --git a/benchmarks/stable_baselines3/requirements.cuda.txt b/benchmarks/stable_baselines3/requirements.cuda.txt deleted file mode 100644 index 7af1e0780..000000000 --- a/benchmarks/stable_baselines3/requirements.cuda.txt +++ /dev/null @@ -1,319 +0,0 @@ -# -# This file is autogenerated by pip-compile with Python 3.9 -# by the following command: -# -# pip-compile --output-file=benchmarks/stable_baselines3/requirements.cuda.txt --resolver=backtracking .pin-constraints-sb3.txt benchmarks/stable_baselines3/requirements.in -# ---extra-index-url https://download.pytorch.org/whl/cu118 - -absl-py==1.4.0 - # via rliable -alembic==1.10.2 - # via optuna -antlr4-python3-runtime==4.9.3 - # via omegaconf -appdirs==1.4.4 - # via wandb -arch==5.3.0 - # via rliable -asttokens==2.2.1 - # via giving -box2d-py==2.3.8 - # via -r benchmarks/stable_baselines3/requirements.in -certifi==2022.12.7 - # via - # requests - # sentry-sdk -chardet==5.1.0 - # via mbstrdecoder -charset-normalizer==3.1.0 - # via requests -click==8.1.3 - # via wandb -cloudpickle==2.2.1 - # via - # -r benchmarks/stable_baselines3/requirements.in - # gym - # huggingface-sb3 - # stable-baselines3 -cmaes==0.9.1 - # via optuna -cmake==3.26.1 - # via triton -codefind==0.1.3 - # via ptera -colorlog==6.7.0 - # via optuna -contourpy==1.0.7 - # via matplotlib -cycler==0.11.0 - # via matplotlib -dataproperty==0.55.0 - # via - # pytablewriter - # tabledata -docker-pycreds==0.4.0 - # via wandb -executing==1.2.0 - # via varname -filelock==3.10.7 - # via - # huggingface-hub - # torch - # triton -fonttools==4.39.2 - # via matplotlib -gitdb==4.0.10 - # via gitpython -gitpython==3.1.31 - # via wandb -giving==0.4.2 - # via - # ptera - # voir -greenlet==2.0.2 - # via sqlalchemy -gym==0.21.0 - # via - # -r benchmarks/stable_baselines3/requirements.in - # gym-minigrid - # panda-gym - # stable-baselines3 -gym-minigrid==1.0.3 - # via -r benchmarks/stable_baselines3/requirements.in -huggingface-hub==0.13.3 - # via huggingface-sb3 -huggingface-sb3==2.2.4 - # via -r benchmarks/stable_baselines3/requirements.in -idna==3.4 - # via requests -importlib-metadata==4.13.0 - # via stable-baselines3 -importlib-resources==5.12.0 - # via matplotlib -jinja2==3.1.2 - # via torch -joblib==1.2.0 - # via - # scikit-learn - # scikit-optimize -kiwisolver==1.4.4 - # via matplotlib -lit==16.0.0 - # via triton -mako==1.2.4 - # via alembic -markdown-it-py==2.2.0 - # via rich -markupsafe==2.1.2 - # via - # jinja2 - # mako -matplotlib==3.7.1 - # via - # seaborn - # stable-baselines3 -mbstrdecoder==1.1.2 - # via - # dataproperty - # pytablewriter - # typepy -mdurl==0.1.2 - # via markdown-it-py -mpmath==1.3.0 - # via sympy -networkx==3.0 - # via torch -numpy==1.24.2 - # via - # arch - # cmaes - # contourpy - # gym - # gym-minigrid - # huggingface-sb3 - # matplotlib - # optuna - # panda-gym - # pandas - # patsy - # rliable - # scikit-learn - # scikit-optimize - # scipy - # seaborn - # stable-baselines3 - # statsmodels -omegaconf==2.3.0 - # via voir -optuna==3.1.0 - # via -r benchmarks/stable_baselines3/requirements.in -ovld==0.3.2 - # via voir -packaging==23.0 - # via - # huggingface-hub - # matplotlib - # optuna - # statsmodels - # typepy -panda-gym==1.1.1 - # via -r benchmarks/stable_baselines3/requirements.in -pandas==1.5.3 - # via - # arch - # seaborn - # stable-baselines3 - # statsmodels -pathtools==0.1.2 - # via wandb -pathvalidate==2.5.2 - # via pytablewriter -patsy==0.5.3 - # via statsmodels -pillow==9.4.0 - # via matplotlib -plotly==5.13.1 - # via -r benchmarks/stable_baselines3/requirements.in -property-cached==1.6.4 - # via arch -protobuf==4.22.1 - # via wandb -psutil==5.9.4 - # via wandb -ptera==1.4.1 - # via voir -pyaml==21.10.1 - # via scikit-optimize -pybullet==3.2.5 - # via - # -r benchmarks/stable_baselines3/requirements.in - # panda-gym -pygments==2.14.0 - # via rich -pynvml==11.5.0 - # via voir -pyparsing==3.0.9 - # via matplotlib -pytablewriter==0.64.2 - # via -r benchmarks/stable_baselines3/requirements.in -python-dateutil==2.8.2 - # via - # matplotlib - # pandas - # typepy -pytz==2023.2 - # via - # pandas - # typepy -pyyaml==6.0 - # via - # -r benchmarks/stable_baselines3/requirements.in - # huggingface-hub - # huggingface-sb3 - # omegaconf - # optuna - # pyaml - # wandb -reactivex==4.0.4 - # via giving -requests==2.28.2 - # via - # huggingface-hub - # wandb -rich==13.3.3 - # via voir -rliable==1.0.8 - # via -r benchmarks/stable_baselines3/requirements.in -sb3-contrib==1.7.0 - # via -r benchmarks/stable_baselines3/requirements.in -scikit-learn==1.2.2 - # via scikit-optimize -scikit-optimize==0.9.0 - # via -r benchmarks/stable_baselines3/requirements.in -scipy==1.10.1 - # via - # arch - # rliable - # scikit-learn - # scikit-optimize - # statsmodels -seaborn==0.12.2 - # via - # -r benchmarks/stable_baselines3/requirements.in - # rliable -sentry-sdk==1.17.0 - # via wandb -setproctitle==1.3.2 - # via wandb -six==1.16.0 - # via - # asttokens - # docker-pycreds - # patsy - # python-dateutil -smmap==5.0.0 - # via gitdb -sqlalchemy==2.0.7 - # via - # alembic - # optuna -stable-baselines3==1.7.0 - # via - # -r benchmarks/stable_baselines3/requirements.in - # sb3-contrib -statsmodels==0.13.5 - # via arch -sympy==1.11.1 - # via torch -tabledata==1.3.1 - # via pytablewriter -tcolorpy==0.1.2 - # via pytablewriter -tenacity==8.2.2 - # via plotly -threadpoolctl==3.1.0 - # via scikit-learn -torch==2.0.0+cu118 - # via - # stable-baselines3 - # triton -tqdm==4.65.0 - # via - # -r benchmarks/stable_baselines3/requirements.in - # huggingface-hub - # optuna -triton==2.0.0 - # via torch -typepy[datetime]==1.3.0 - # via - # dataproperty - # pytablewriter - # tabledata -typing-extensions==4.5.0 - # via - # alembic - # huggingface-hub - # reactivex - # sqlalchemy - # torch - # wandb -urllib3==1.26.15 - # via - # requests - # sentry-sdk -varname==0.10.0 - # via giving -voir @ git+https://github.com/breuleux/voir.git - # via -r benchmarks/stable_baselines3/requirements.in -wandb==0.14.0 - # via -r benchmarks/stable_baselines3/requirements.in -wasabi==1.1.1 - # via huggingface-sb3 -zipp==3.15.0 - # via - # importlib-metadata - # importlib-resources - -# The following packages are considered to be unsafe in a requirements file: -# setuptools diff --git a/benchmarks/stable_baselines3/requirements.rocm.txt b/benchmarks/stable_baselines3/requirements.rocm.txt deleted file mode 100644 index 14b49bd41..000000000 --- a/benchmarks/stable_baselines3/requirements.rocm.txt +++ /dev/null @@ -1,319 +0,0 @@ -# -# This file is autogenerated by pip-compile with Python 3.9 -# by the following command: -# -# pip-compile --output-file=benchmarks/stable_baselines3/requirements.rocm.txt --resolver=backtracking .pin-constraints-sb3.txt benchmarks/stable_baselines3/requirements.in -# ---extra-index-url https://download.pytorch.org/whl/rocm5.4.2/ - -absl-py==1.4.0 - # via rliable -alembic==1.10.2 - # via optuna -antlr4-python3-runtime==4.9.3 - # via omegaconf -appdirs==1.4.4 - # via wandb -arch==5.3.0 - # via rliable -asttokens==2.2.1 - # via giving -box2d-py==2.3.8 - # via -r benchmarks/stable_baselines3/requirements.in -certifi==2022.12.7 - # via - # requests - # sentry-sdk -chardet==5.1.0 - # via mbstrdecoder -charset-normalizer==3.1.0 - # via requests -click==8.1.3 - # via wandb -cloudpickle==2.2.1 - # via - # -r benchmarks/stable_baselines3/requirements.in - # gym - # huggingface-sb3 - # stable-baselines3 -cmaes==0.9.1 - # via optuna -cmake==3.26.1 - # via pytorch-triton-rocm -codefind==0.1.3 - # via ptera -colorlog==6.7.0 - # via optuna -contourpy==1.0.7 - # via matplotlib -cycler==0.11.0 - # via matplotlib -dataproperty==0.55.0 - # via - # pytablewriter - # tabledata -docker-pycreds==0.4.0 - # via wandb -executing==1.2.0 - # via varname -filelock==3.10.7 - # via - # huggingface-hub - # pytorch-triton-rocm - # torch -fonttools==4.39.2 - # via matplotlib -gitdb==4.0.10 - # via gitpython -gitpython==3.1.31 - # via wandb -giving==0.4.2 - # via - # ptera - # voir -greenlet==2.0.2 - # via sqlalchemy -gym==0.21.0 - # via - # -r benchmarks/stable_baselines3/requirements.in - # gym-minigrid - # panda-gym - # stable-baselines3 -gym-minigrid==1.0.3 - # via -r benchmarks/stable_baselines3/requirements.in -huggingface-hub==0.13.3 - # via huggingface-sb3 -huggingface-sb3==2.2.4 - # via -r benchmarks/stable_baselines3/requirements.in -idna==3.4 - # via requests -importlib-metadata==4.13.0 - # via stable-baselines3 -importlib-resources==5.12.0 - # via matplotlib -jinja2==3.1.2 - # via torch -joblib==1.2.0 - # via - # scikit-learn - # scikit-optimize -kiwisolver==1.4.4 - # via matplotlib -lit==16.0.0 - # via pytorch-triton-rocm -mako==1.2.4 - # via alembic -markdown-it-py==2.2.0 - # via rich -markupsafe==2.1.2 - # via - # jinja2 - # mako -matplotlib==3.7.1 - # via - # seaborn - # stable-baselines3 -mbstrdecoder==1.1.2 - # via - # dataproperty - # pytablewriter - # typepy -mdurl==0.1.2 - # via markdown-it-py -mpmath==1.3.0 - # via sympy -networkx==3.0 - # via torch -numpy==1.24.2 - # via - # arch - # cmaes - # contourpy - # gym - # gym-minigrid - # huggingface-sb3 - # matplotlib - # optuna - # panda-gym - # pandas - # patsy - # rliable - # scikit-learn - # scikit-optimize - # scipy - # seaborn - # stable-baselines3 - # statsmodels -omegaconf==2.3.0 - # via voir -optuna==3.1.0 - # via -r benchmarks/stable_baselines3/requirements.in -ovld==0.3.2 - # via voir -packaging==23.0 - # via - # huggingface-hub - # matplotlib - # optuna - # statsmodels - # typepy -panda-gym==1.1.1 - # via -r benchmarks/stable_baselines3/requirements.in -pandas==1.5.3 - # via - # arch - # seaborn - # stable-baselines3 - # statsmodels -pathtools==0.1.2 - # via wandb -pathvalidate==2.5.2 - # via pytablewriter -patsy==0.5.3 - # via statsmodels -pillow==9.4.0 - # via matplotlib -plotly==5.13.1 - # via -r benchmarks/stable_baselines3/requirements.in -property-cached==1.6.4 - # via arch -protobuf==4.22.1 - # via wandb -psutil==5.9.4 - # via wandb -ptera==1.4.1 - # via voir -pyaml==21.10.1 - # via scikit-optimize -pybullet==3.2.5 - # via - # -r benchmarks/stable_baselines3/requirements.in - # panda-gym -pygments==2.14.0 - # via rich -pynvml==11.5.0 - # via voir -pyparsing==3.0.9 - # via matplotlib -pytablewriter==0.64.2 - # via -r benchmarks/stable_baselines3/requirements.in -python-dateutil==2.8.2 - # via - # matplotlib - # pandas - # typepy -pytorch-triton-rocm==2.0.1 - # via torch -pytz==2023.2 - # via - # pandas - # typepy -pyyaml==6.0 - # via - # -r benchmarks/stable_baselines3/requirements.in - # huggingface-hub - # huggingface-sb3 - # omegaconf - # optuna - # pyaml - # wandb -reactivex==4.0.4 - # via giving -requests==2.28.2 - # via - # huggingface-hub - # wandb -rich==13.3.3 - # via voir -rliable==1.0.8 - # via -r benchmarks/stable_baselines3/requirements.in -sb3-contrib==1.7.0 - # via -r benchmarks/stable_baselines3/requirements.in -scikit-learn==1.2.2 - # via scikit-optimize -scikit-optimize==0.9.0 - # via -r benchmarks/stable_baselines3/requirements.in -scipy==1.10.1 - # via - # arch - # rliable - # scikit-learn - # scikit-optimize - # statsmodels -seaborn==0.12.2 - # via - # -r benchmarks/stable_baselines3/requirements.in - # rliable -sentry-sdk==1.17.0 - # via wandb -setproctitle==1.3.2 - # via wandb -six==1.16.0 - # via - # asttokens - # docker-pycreds - # patsy - # python-dateutil -smmap==5.0.0 - # via gitdb -sqlalchemy==2.0.7 - # via - # alembic - # optuna -stable-baselines3==1.7.0 - # via - # -r benchmarks/stable_baselines3/requirements.in - # sb3-contrib -statsmodels==0.13.5 - # via arch -sympy==1.11.1 - # via torch -tabledata==1.3.1 - # via pytablewriter -tcolorpy==0.1.2 - # via pytablewriter -tenacity==8.2.2 - # via plotly -threadpoolctl==3.1.0 - # via scikit-learn -torch==2.0.0+rocm5.4.2 - # via - # pytorch-triton-rocm - # stable-baselines3 -tqdm==4.65.0 - # via - # -r benchmarks/stable_baselines3/requirements.in - # huggingface-hub - # optuna -typepy[datetime]==1.3.0 - # via - # dataproperty - # pytablewriter - # tabledata -typing-extensions==4.5.0 - # via - # alembic - # huggingface-hub - # reactivex - # sqlalchemy - # torch - # wandb -urllib3==1.26.15 - # via - # requests - # sentry-sdk -varname==0.10.0 - # via giving -voir @ git+https://github.com/breuleux/voir.git - # via -r benchmarks/stable_baselines3/requirements.in -wandb==0.14.0 - # via -r benchmarks/stable_baselines3/requirements.in -wasabi==1.1.1 - # via huggingface-sb3 -zipp==3.15.0 - # via - # importlib-metadata - # importlib-resources - -# The following packages are considered to be unsafe in a requirements file: -# setuptools diff --git a/benchmarks/stargan/benchfile.py b/benchmarks/stargan/benchfile.py index 43edc80a8..9c0add061 100644 --- a/benchmarks/stargan/benchfile.py +++ b/benchmarks/stargan/benchfile.py @@ -5,5 +5,9 @@ class StarganBenchmark(Package): base_requirements = "requirements.in" main_script = "stargan/main.py" + @property + def working_directory(self): + return self.dirs.code / "stargan" + __pack__ = StarganBenchmark diff --git a/benchmarks/stargan/requirements.cuda.txt b/benchmarks/stargan/requirements.cuda.txt index 18d5974c5..9cb7eb695 100644 --- a/benchmarks/stargan/requirements.cuda.txt +++ b/benchmarks/stargan/requirements.cuda.txt @@ -1,5 +1,5 @@ # -# This file is autogenerated by pip-compile with Python 3.11 +# This file is autogenerated by pip-compile with Python 3.10 # by the following command: # # pip-compile --output-file=benchmarks/stargan/requirements.cuda.txt .pin/tmp-constraints-cuda-stargan.txt benchmarks/stargan/requirements.in @@ -17,6 +17,18 @@ asttokens==2.4.1 # via # -c .pin/../.pin/constraints-cuda-torch.txt # giving +beautifulsoup4==4.12.3 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # gdown +certifi==2024.7.4 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # requests +charset-normalizer==3.3.2 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # requests codefind==0.1.6 # via # -c .pin/../.pin/constraints-cuda-torch.txt @@ -25,20 +37,29 @@ executing==1.2.0 # via # -c .pin/../.pin/constraints-cuda-torch.txt # varname -filelock==3.14.0 +filelock==3.15.4 # via # -c .pin/../.pin/constraints-cuda-torch.txt + # gdown # torch # triton -fsspec==2023.1.0 +fsspec==2024.5.0 # via # -c .pin/../.pin/constraints-cuda-torch.txt # torch +gdown==5.2.0 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # -r benchmarks/stargan/requirements.in giving==0.4.2 # via # -c .pin/../.pin/constraints-cuda-torch.txt # ptera # voir +idna==3.7 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # requests jinja2==3.1.4 # via # -c .pin/../.pin/constraints-cuda-torch.txt @@ -111,7 +132,7 @@ nvidia-nccl-cu12==2.20.5 # via # -c .pin/../.pin/constraints-cuda-torch.txt # torch -nvidia-nvjitlink-cu12==12.5.40 +nvidia-nvjitlink-cu12==12.5.82 # via # -c .pin/../.pin/constraints-cuda-torch.txt # nvidia-cusolver-cu12 @@ -128,7 +149,7 @@ ovld==0.3.5 # via # -c .pin/../.pin/constraints-cuda-torch.txt # voir -pillow==10.3.0 +pillow==10.4.0 # via # -c .pin/../.pin/constraints-cuda-torch.txt # torchvision @@ -144,10 +165,14 @@ pygments==2.18.0 # via # -c .pin/../.pin/constraints-cuda-torch.txt # rich -pynvml==11.5.0 +pynvml==11.5.3 # via # -c .pin/../.pin/constraints-cuda-torch.txt # voir +pysocks==1.7.1 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # requests pyyaml==6.0.1 # via # -c .pin/../.pin/constraints-cuda-torch.txt @@ -156,6 +181,10 @@ reactivex==4.0.4 # via # -c .pin/../.pin/constraints-cuda-torch.txt # giving +requests[socks]==2.32.3 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # gdown rich==13.7.1 # via # -c .pin/../.pin/constraints-cuda-torch.txt @@ -164,7 +193,11 @@ six==1.16.0 # via # -c .pin/../.pin/constraints-cuda-torch.txt # asttokens -sympy==1.12.1 +soupsieve==2.5 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # beautifulsoup4 +sympy==1.13.1 # via # -c .pin/../.pin/constraints-cuda-torch.txt # torch @@ -177,6 +210,10 @@ torchvision==0.18.1+cu121 # via # -c .pin/../.pin/constraints-cuda-torch.txt # -r benchmarks/stargan/requirements.in +tqdm==4.66.4 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # gdown triton==2.3.1 # via # -c .pin/../.pin/constraints-cuda-torch.txt @@ -186,6 +223,10 @@ typing-extensions==4.12.2 # -c .pin/../.pin/constraints-cuda-torch.txt # reactivex # torch +urllib3==1.26.19 + # via + # -c .pin/../.pin/constraints-cuda-torch.txt + # requests varname==0.10.0 # via # -c .pin/../.pin/constraints-cuda-torch.txt diff --git a/benchmarks/stargan/requirements.hpu.txt b/benchmarks/stargan/requirements.hpu.txt index 271935f06..07661a575 100644 --- a/benchmarks/stargan/requirements.hpu.txt +++ b/benchmarks/stargan/requirements.hpu.txt @@ -1,5 +1,5 @@ # -# This file is autogenerated by pip-compile with Python 3.11 +# This file is autogenerated by pip-compile with Python 3.10 # by the following command: # # pip-compile --output-file=benchmarks/stargan/requirements.hpu.txt .pin/tmp-constraints-hpu-stargan.txt benchmarks/stargan/requirements.in @@ -16,6 +16,18 @@ asttokens==2.4.1 # via # -c .pin/../.pin/constraints-hpu-torch.txt # giving +beautifulsoup4==4.12.3 + # via + # -c .pin/../.pin/constraints-hpu-torch.txt + # gdown +certifi==2024.6.2 + # via + # -c .pin/../.pin/constraints-hpu-torch.txt + # requests +charset-normalizer==3.3.2 + # via + # -c .pin/../.pin/constraints-hpu-torch.txt + # requests codefind==0.1.6 # via # -c .pin/../.pin/constraints-hpu-torch.txt @@ -24,20 +36,29 @@ executing==1.2.0 # via # -c .pin/../.pin/constraints-hpu-torch.txt # varname -filelock==3.14.0 +filelock==3.15.4 # via # -c .pin/../.pin/constraints-hpu-torch.txt + # gdown # torch # triton -fsspec==2024.3.1 +fsspec==2024.5.0 # via # -c .pin/../.pin/constraints-hpu-torch.txt # torch +gdown==5.2.0 + # via + # -c .pin/../.pin/constraints-hpu-torch.txt + # -r benchmarks/stargan/requirements.in giving==0.4.2 # via # -c .pin/../.pin/constraints-hpu-torch.txt # ptera # voir +idna==3.7 + # via + # -c .pin/../.pin/constraints-hpu-torch.txt + # requests jinja2==3.1.4 # via # -c .pin/../.pin/constraints-hpu-torch.txt @@ -110,7 +131,7 @@ nvidia-nccl-cu12==2.20.5 # via # -c .pin/../.pin/constraints-hpu-torch.txt # torch -nvidia-nvjitlink-cu12==12.5.40 +nvidia-nvjitlink-cu12==12.5.82 # via # -c .pin/../.pin/constraints-hpu-torch.txt # nvidia-cusolver-cu12 @@ -127,7 +148,7 @@ ovld==0.3.5 # via # -c .pin/../.pin/constraints-hpu-torch.txt # voir -pillow==10.3.0 +pillow==10.4.0 # via # -c .pin/../.pin/constraints-hpu-torch.txt # torchvision @@ -143,10 +164,14 @@ pygments==2.18.0 # via # -c .pin/../.pin/constraints-hpu-torch.txt # rich -pynvml==11.5.0 +pynvml==11.5.3 # via # -c .pin/../.pin/constraints-hpu-torch.txt # voir +pysocks==1.7.1 + # via + # -c .pin/../.pin/constraints-hpu-torch.txt + # requests pyyaml==6.0.1 # via # -c .pin/../.pin/constraints-hpu-torch.txt @@ -155,6 +180,10 @@ reactivex==4.0.4 # via # -c .pin/../.pin/constraints-hpu-torch.txt # giving +requests[socks]==2.32.3 + # via + # -c .pin/../.pin/constraints-hpu-torch.txt + # gdown rich==13.7.1 # via # -c .pin/../.pin/constraints-hpu-torch.txt @@ -163,7 +192,11 @@ six==1.16.0 # via # -c .pin/../.pin/constraints-hpu-torch.txt # asttokens -sympy==1.12.1 +soupsieve==2.5 + # via + # -c .pin/../.pin/constraints-hpu-torch.txt + # beautifulsoup4 +sympy==1.13.0 # via # -c .pin/../.pin/constraints-hpu-torch.txt # torch @@ -176,6 +209,10 @@ torchvision==0.18.1 # via # -c .pin/../.pin/constraints-hpu-torch.txt # -r benchmarks/stargan/requirements.in +tqdm==4.66.4 + # via + # -c .pin/../.pin/constraints-hpu-torch.txt + # gdown triton==2.3.1 # via # -c .pin/../.pin/constraints-hpu-torch.txt @@ -185,6 +222,10 @@ typing-extensions==4.12.2 # -c .pin/../.pin/constraints-hpu-torch.txt # reactivex # torch +urllib3==1.26.19 + # via + # -c .pin/../.pin/constraints-hpu-torch.txt + # requests varname==0.10.0 # via # -c .pin/../.pin/constraints-hpu-torch.txt diff --git a/benchmarks/stargan/requirements.rocm.txt b/benchmarks/stargan/requirements.rocm.txt index 7d428c6c8..b9b59daa9 100644 --- a/benchmarks/stargan/requirements.rocm.txt +++ b/benchmarks/stargan/requirements.rocm.txt @@ -1,5 +1,5 @@ # -# This file is autogenerated by pip-compile with Python 3.11 +# This file is autogenerated by pip-compile with Python 3.10 # by the following command: # # pip-compile --output-file=benchmarks/stargan/requirements.rocm.txt .pin/tmp-constraints-rocm-stargan.txt benchmarks/stargan/requirements.in @@ -17,6 +17,18 @@ asttokens==2.4.1 # via # -c .pin/../.pin/constraints-rocm-torch.txt # giving +beautifulsoup4==4.12.3 + # via + # -c .pin/../.pin/constraints-rocm-torch.txt + # gdown +certifi==2024.6.2 + # via + # -c .pin/../.pin/constraints-rocm-torch.txt + # requests +charset-normalizer==3.3.2 + # via + # -c .pin/../.pin/constraints-rocm-torch.txt + # requests codefind==0.1.6 # via # -c .pin/../.pin/constraints-rocm-torch.txt @@ -25,20 +37,29 @@ executing==1.2.0 # via # -c .pin/../.pin/constraints-rocm-torch.txt # varname -filelock==3.14.0 +filelock==3.15.4 # via # -c .pin/../.pin/constraints-rocm-torch.txt + # gdown # pytorch-triton-rocm # torch -fsspec==2024.3.1 +fsspec==2024.5.0 # via # -c .pin/../.pin/constraints-rocm-torch.txt # torch +gdown==5.2.0 + # via + # -c .pin/../.pin/constraints-rocm-torch.txt + # -r benchmarks/stargan/requirements.in giving==0.4.2 # via # -c .pin/../.pin/constraints-rocm-torch.txt # ptera # voir +idna==3.7 + # via + # -c .pin/../.pin/constraints-rocm-torch.txt + # requests jinja2==3.1.4 # via # -c .pin/../.pin/constraints-rocm-torch.txt @@ -76,7 +97,7 @@ ovld==0.3.5 # via # -c .pin/../.pin/constraints-rocm-torch.txt # voir -pillow==10.3.0 +pillow==10.4.0 # via # -c .pin/../.pin/constraints-rocm-torch.txt # torchvision @@ -92,10 +113,14 @@ pygments==2.18.0 # via # -c .pin/../.pin/constraints-rocm-torch.txt # rich -pynvml==11.5.0 +pynvml==11.5.3 # via # -c .pin/../.pin/constraints-rocm-torch.txt # voir +pysocks==1.7.1 + # via + # -c .pin/../.pin/constraints-rocm-torch.txt + # requests pytorch-triton-rocm==2.3.1 # via # -c .pin/../.pin/constraints-rocm-torch.txt @@ -108,6 +133,10 @@ reactivex==4.0.4 # via # -c .pin/../.pin/constraints-rocm-torch.txt # giving +requests[socks]==2.32.3 + # via + # -c .pin/../.pin/constraints-rocm-torch.txt + # gdown rich==13.7.1 # via # -c .pin/../.pin/constraints-rocm-torch.txt @@ -116,7 +145,11 @@ six==1.16.0 # via # -c .pin/../.pin/constraints-rocm-torch.txt # asttokens -sympy==1.12.1 +soupsieve==2.5 + # via + # -c .pin/../.pin/constraints-rocm-torch.txt + # beautifulsoup4 +sympy==1.13.0 # via # -c .pin/../.pin/constraints-rocm-torch.txt # torch @@ -129,11 +162,19 @@ torchvision==0.18.1+rocm6.0 # via # -c .pin/../.pin/constraints-rocm-torch.txt # -r benchmarks/stargan/requirements.in +tqdm==4.66.4 + # via + # -c .pin/../.pin/constraints-rocm-torch.txt + # gdown typing-extensions==4.12.2 # via # -c .pin/../.pin/constraints-rocm-torch.txt # reactivex # torch +urllib3==1.26.19 + # via + # -c .pin/../.pin/constraints-rocm-torch.txt + # requests varname==0.10.0 # via # -c .pin/../.pin/constraints-rocm-torch.txt diff --git a/benchmarks/stargan/requirements.xpu.txt b/benchmarks/stargan/requirements.xpu.txt index 3b4e457e6..d74970aed 100644 --- a/benchmarks/stargan/requirements.xpu.txt +++ b/benchmarks/stargan/requirements.xpu.txt @@ -1,5 +1,5 @@ # -# This file is autogenerated by pip-compile with Python 3.11 +# This file is autogenerated by pip-compile with Python 3.10 # by the following command: # # pip-compile --output-file=benchmarks/stargan/requirements.xpu.txt .pin/tmp-constraints-xpu-stargan.txt benchmarks/stargan/requirements.in @@ -17,6 +17,18 @@ asttokens==2.4.1 # via # -c .pin/../.pin/constraints-xpu-torch.txt # giving +beautifulsoup4==4.12.3 + # via + # -c .pin/../.pin/constraints-xpu-torch.txt + # gdown +certifi==2024.6.2 + # via + # -c .pin/../.pin/constraints-xpu-torch.txt + # requests +charset-normalizer==3.3.2 + # via + # -c .pin/../.pin/constraints-xpu-torch.txt + # requests codefind==0.1.6 # via # -c .pin/../.pin/constraints-xpu-torch.txt @@ -25,20 +37,28 @@ executing==1.2.0 # via # -c .pin/../.pin/constraints-xpu-torch.txt # varname -filelock==3.14.0 +filelock==3.15.4 # via # -c .pin/../.pin/constraints-xpu-torch.txt + # gdown # torch - # triton -fsspec==2023.1.0 +fsspec==2024.5.0 # via # -c .pin/../.pin/constraints-xpu-torch.txt # torch +gdown==5.2.0 + # via + # -c .pin/../.pin/constraints-xpu-torch.txt + # -r benchmarks/stargan/requirements.in giving==0.4.2 # via # -c .pin/../.pin/constraints-xpu-torch.txt # ptera # voir +idna==3.7 + # via + # -c .pin/../.pin/constraints-xpu-torch.txt + # requests jinja2==3.1.4 # via # -c .pin/../.pin/constraints-xpu-torch.txt @@ -68,58 +88,6 @@ numpy==1.26.4 # -c .pin/../.pin/constraints-xpu-torch.txt # -r benchmarks/stargan/requirements.in # torchvision -nvidia-cublas-cu12==12.1.3.1 - # via - # -c .pin/../.pin/constraints-xpu-torch.txt - # nvidia-cudnn-cu12 - # nvidia-cusolver-cu12 - # torch -nvidia-cuda-cupti-cu12==12.1.105 - # via - # -c .pin/../.pin/constraints-xpu-torch.txt - # torch -nvidia-cuda-nvrtc-cu12==12.1.105 - # via - # -c .pin/../.pin/constraints-xpu-torch.txt - # torch -nvidia-cuda-runtime-cu12==12.1.105 - # via - # -c .pin/../.pin/constraints-xpu-torch.txt - # torch -nvidia-cudnn-cu12==8.9.2.26 - # via - # -c .pin/../.pin/constraints-xpu-torch.txt - # torch -nvidia-cufft-cu12==11.0.2.54 - # via - # -c .pin/../.pin/constraints-xpu-torch.txt - # torch -nvidia-curand-cu12==10.3.2.106 - # via - # -c .pin/../.pin/constraints-xpu-torch.txt - # torch -nvidia-cusolver-cu12==11.4.5.107 - # via - # -c .pin/../.pin/constraints-xpu-torch.txt - # torch -nvidia-cusparse-cu12==12.1.0.106 - # via - # -c .pin/../.pin/constraints-xpu-torch.txt - # nvidia-cusolver-cu12 - # torch -nvidia-nccl-cu12==2.20.5 - # via - # -c .pin/../.pin/constraints-xpu-torch.txt - # torch -nvidia-nvjitlink-cu12==12.5.40 - # via - # -c .pin/../.pin/constraints-xpu-torch.txt - # nvidia-cusolver-cu12 - # nvidia-cusparse-cu12 -nvidia-nvtx-cu12==12.1.105 - # via - # -c .pin/../.pin/constraints-xpu-torch.txt - # torch omegaconf==2.3.0 # via # -c .pin/../.pin/constraints-xpu-torch.txt @@ -128,7 +96,7 @@ ovld==0.3.5 # via # -c .pin/../.pin/constraints-xpu-torch.txt # voir -pillow==10.3.0 +pillow==10.4.0 # via # -c .pin/../.pin/constraints-xpu-torch.txt # torchvision @@ -144,10 +112,14 @@ pygments==2.18.0 # via # -c .pin/../.pin/constraints-xpu-torch.txt # rich -pynvml==11.5.0 +pynvml==11.5.3 # via # -c .pin/../.pin/constraints-xpu-torch.txt # voir +pysocks==1.7.1 + # via + # -c .pin/../.pin/constraints-xpu-torch.txt + # requests pyyaml==6.0.1 # via # -c .pin/../.pin/constraints-xpu-torch.txt @@ -156,6 +128,11 @@ reactivex==4.0.4 # via # -c .pin/../.pin/constraints-xpu-torch.txt # giving +requests[socks]==2.32.3 + # via + # -c .pin/../.pin/constraints-xpu-torch.txt + # gdown + # torchvision rich==13.7.1 # via # -c .pin/../.pin/constraints-xpu-torch.txt @@ -164,30 +141,38 @@ six==1.16.0 # via # -c .pin/../.pin/constraints-xpu-torch.txt # asttokens -sympy==1.12.1 +soupsieve==2.5 + # via + # -c .pin/../.pin/constraints-xpu-torch.txt + # beautifulsoup4 +sympy==1.13.0 # via # -c .pin/../.pin/constraints-xpu-torch.txt # torch -torch==2.3.1 +torch==2.1.0.post2+cxx11.abi # via # -c .pin/../.pin/constraints-xpu-torch.txt # -c .pin/../constraints/xpu.txt # -r benchmarks/stargan/requirements.in # torchvision -torchvision==0.18.1 +torchvision==0.16.0.post2+cxx11.abi # via # -c .pin/../.pin/constraints-xpu-torch.txt # -c .pin/../constraints/xpu.txt # -r benchmarks/stargan/requirements.in -triton==2.3.1 +tqdm==4.66.4 # via # -c .pin/../.pin/constraints-xpu-torch.txt - # torch + # gdown typing-extensions==4.12.2 # via # -c .pin/../.pin/constraints-xpu-torch.txt # reactivex # torch +urllib3==1.26.19 + # via + # -c .pin/../.pin/constraints-xpu-torch.txt + # requests varname==0.10.0 # via # -c .pin/../.pin/constraints-xpu-torch.txt diff --git a/benchmarks/super-slomo/benchfile.py b/benchmarks/super-slomo/benchfile.py index 8b2097106..757c323f0 100644 --- a/benchmarks/super-slomo/benchfile.py +++ b/benchmarks/super-slomo/benchfile.py @@ -6,5 +6,8 @@ class SuperSlomoPack(Package): prepare_script = "prepare.py" main_script = "slomo/train.py" + @property + def working_directory(self): + return self.dirs.code / "slomo" __pack__ = SuperSlomoPack diff --git a/benchmarks/super-slomo/requirements.cuda.txt b/benchmarks/super-slomo/requirements.cuda.txt index 6bded6cd5..0cc1b2000 100644 --- a/benchmarks/super-slomo/requirements.cuda.txt +++ b/benchmarks/super-slomo/requirements.cuda.txt @@ -1,5 +1,5 @@ # -# This file is autogenerated by pip-compile with Python 3.11 +# This file is autogenerated by pip-compile with Python 3.10 # by the following command: # # pip-compile --output-file=benchmarks/super-slomo/requirements.cuda.txt .pin/tmp-constraints-cuda-super-slomo.txt benchmarks/super-slomo/requirements.in @@ -25,12 +25,12 @@ executing==1.2.0 # via # -c .pin/../.pin/constraints-cuda-torch.txt # varname -filelock==3.14.0 +filelock==3.15.4 # via # -c .pin/../.pin/constraints-cuda-torch.txt # torch # triton -fsspec==2023.1.0 +fsspec==2024.5.0 # via # -c .pin/../.pin/constraints-cuda-torch.txt # torch @@ -112,7 +112,7 @@ nvidia-nccl-cu12==2.20.5 # via # -c .pin/../.pin/constraints-cuda-torch.txt # torch -nvidia-nvjitlink-cu12==12.5.40 +nvidia-nvjitlink-cu12==12.5.82 # via # -c .pin/../.pin/constraints-cuda-torch.txt # nvidia-cusolver-cu12 @@ -125,7 +125,7 @@ omegaconf==2.3.0 # via # -c .pin/../.pin/constraints-cuda-torch.txt # voir -opencv-python==4.10.0.82 +opencv-python==4.10.0.84 # via # -c .pin/../.pin/constraints-cuda-torch.txt # -r benchmarks/super-slomo/requirements.in @@ -133,7 +133,7 @@ ovld==0.3.5 # via # -c .pin/../.pin/constraints-cuda-torch.txt # voir -pillow==10.3.0 +pillow==10.4.0 # via # -c .pin/../.pin/constraints-cuda-torch.txt # torchvision @@ -149,7 +149,7 @@ pygments==2.18.0 # via # -c .pin/../.pin/constraints-cuda-torch.txt # rich -pynvml==11.5.0 +pynvml==11.5.3 # via # -c .pin/../.pin/constraints-cuda-torch.txt # voir @@ -169,7 +169,7 @@ six==1.16.0 # via # -c .pin/../.pin/constraints-cuda-torch.txt # asttokens -sympy==1.12.1 +sympy==1.13.1 # via # -c .pin/../.pin/constraints-cuda-torch.txt # torch diff --git a/benchmarks/super-slomo/requirements.hpu.txt b/benchmarks/super-slomo/requirements.hpu.txt index c72776284..f3a9430ee 100644 --- a/benchmarks/super-slomo/requirements.hpu.txt +++ b/benchmarks/super-slomo/requirements.hpu.txt @@ -1,5 +1,5 @@ # -# This file is autogenerated by pip-compile with Python 3.11 +# This file is autogenerated by pip-compile with Python 3.10 # by the following command: # # pip-compile --output-file=benchmarks/super-slomo/requirements.hpu.txt .pin/tmp-constraints-hpu-super-slomo.txt benchmarks/super-slomo/requirements.in @@ -24,12 +24,12 @@ executing==1.2.0 # via # -c .pin/../.pin/constraints-hpu-torch.txt # varname -filelock==3.14.0 +filelock==3.15.4 # via # -c .pin/../.pin/constraints-hpu-torch.txt # torch # triton -fsspec==2024.3.1 +fsspec==2024.5.0 # via # -c .pin/../.pin/constraints-hpu-torch.txt # torch @@ -111,7 +111,7 @@ nvidia-nccl-cu12==2.20.5 # via # -c .pin/../.pin/constraints-hpu-torch.txt # torch -nvidia-nvjitlink-cu12==12.5.40 +nvidia-nvjitlink-cu12==12.5.82 # via # -c .pin/../.pin/constraints-hpu-torch.txt # nvidia-cusolver-cu12 @@ -124,7 +124,7 @@ omegaconf==2.3.0 # via # -c .pin/../.pin/constraints-hpu-torch.txt # voir -opencv-python==4.10.0.82 +opencv-python==4.10.0.84 # via # -c .pin/../.pin/constraints-hpu-torch.txt # -r benchmarks/super-slomo/requirements.in @@ -132,7 +132,7 @@ ovld==0.3.5 # via # -c .pin/../.pin/constraints-hpu-torch.txt # voir -pillow==10.3.0 +pillow==10.4.0 # via # -c .pin/../.pin/constraints-hpu-torch.txt # torchvision @@ -148,7 +148,7 @@ pygments==2.18.0 # via # -c .pin/../.pin/constraints-hpu-torch.txt # rich -pynvml==11.5.0 +pynvml==11.5.3 # via # -c .pin/../.pin/constraints-hpu-torch.txt # voir @@ -168,7 +168,7 @@ six==1.16.0 # via # -c .pin/../.pin/constraints-hpu-torch.txt # asttokens -sympy==1.12.1 +sympy==1.13.0 # via # -c .pin/../.pin/constraints-hpu-torch.txt # torch diff --git a/benchmarks/super-slomo/requirements.rocm.txt b/benchmarks/super-slomo/requirements.rocm.txt index e2f31f0c4..d5a8e913f 100644 --- a/benchmarks/super-slomo/requirements.rocm.txt +++ b/benchmarks/super-slomo/requirements.rocm.txt @@ -1,5 +1,5 @@ # -# This file is autogenerated by pip-compile with Python 3.11 +# This file is autogenerated by pip-compile with Python 3.10 # by the following command: # # pip-compile --output-file=benchmarks/super-slomo/requirements.rocm.txt .pin/tmp-constraints-rocm-super-slomo.txt benchmarks/super-slomo/requirements.in @@ -25,12 +25,12 @@ executing==1.2.0 # via # -c .pin/../.pin/constraints-rocm-torch.txt # varname -filelock==3.14.0 +filelock==3.15.4 # via # -c .pin/../.pin/constraints-rocm-torch.txt # pytorch-triton-rocm # torch -fsspec==2024.3.1 +fsspec==2024.5.0 # via # -c .pin/../.pin/constraints-rocm-torch.txt # torch @@ -73,7 +73,7 @@ omegaconf==2.3.0 # via # -c .pin/../.pin/constraints-rocm-torch.txt # voir -opencv-python==4.10.0.82 +opencv-python==4.10.0.84 # via # -c .pin/../.pin/constraints-rocm-torch.txt # -r benchmarks/super-slomo/requirements.in @@ -81,7 +81,7 @@ ovld==0.3.5 # via # -c .pin/../.pin/constraints-rocm-torch.txt # voir -pillow==10.3.0 +pillow==10.4.0 # via # -c .pin/../.pin/constraints-rocm-torch.txt # torchvision @@ -97,7 +97,7 @@ pygments==2.18.0 # via # -c .pin/../.pin/constraints-rocm-torch.txt # rich -pynvml==11.5.0 +pynvml==11.5.3 # via # -c .pin/../.pin/constraints-rocm-torch.txt # voir @@ -121,7 +121,7 @@ six==1.16.0 # via # -c .pin/../.pin/constraints-rocm-torch.txt # asttokens -sympy==1.12.1 +sympy==1.13.0 # via # -c .pin/../.pin/constraints-rocm-torch.txt # torch diff --git a/benchmarks/super-slomo/requirements.xpu.txt b/benchmarks/super-slomo/requirements.xpu.txt index 1db2c0875..cbd3246f3 100644 --- a/benchmarks/super-slomo/requirements.xpu.txt +++ b/benchmarks/super-slomo/requirements.xpu.txt @@ -1,5 +1,5 @@ # -# This file is autogenerated by pip-compile with Python 3.11 +# This file is autogenerated by pip-compile with Python 3.10 # by the following command: # # pip-compile --output-file=benchmarks/super-slomo/requirements.xpu.txt .pin/tmp-constraints-xpu-super-slomo.txt benchmarks/super-slomo/requirements.in @@ -17,6 +17,14 @@ asttokens==2.4.1 # via # -c .pin/../.pin/constraints-xpu-torch.txt # giving +certifi==2024.6.2 + # via + # -c .pin/../.pin/constraints-xpu-torch.txt + # requests +charset-normalizer==3.3.2 + # via + # -c .pin/../.pin/constraints-xpu-torch.txt + # requests codefind==0.1.6 # via # -c .pin/../.pin/constraints-xpu-torch.txt @@ -25,12 +33,11 @@ executing==1.2.0 # via # -c .pin/../.pin/constraints-xpu-torch.txt # varname -filelock==3.14.0 +filelock==3.15.4 # via # -c .pin/../.pin/constraints-xpu-torch.txt # torch - # triton -fsspec==2023.1.0 +fsspec==2024.5.0 # via # -c .pin/../.pin/constraints-xpu-torch.txt # torch @@ -39,6 +46,10 @@ giving==0.4.2 # -c .pin/../.pin/constraints-xpu-torch.txt # ptera # voir +idna==3.7 + # via + # -c .pin/../.pin/constraints-xpu-torch.txt + # requests jinja2==3.1.4 # via # -c .pin/../.pin/constraints-xpu-torch.txt @@ -69,63 +80,11 @@ numpy==1.26.4 # -r benchmarks/super-slomo/requirements.in # opencv-python # torchvision -nvidia-cublas-cu12==12.1.3.1 - # via - # -c .pin/../.pin/constraints-xpu-torch.txt - # nvidia-cudnn-cu12 - # nvidia-cusolver-cu12 - # torch -nvidia-cuda-cupti-cu12==12.1.105 - # via - # -c .pin/../.pin/constraints-xpu-torch.txt - # torch -nvidia-cuda-nvrtc-cu12==12.1.105 - # via - # -c .pin/../.pin/constraints-xpu-torch.txt - # torch -nvidia-cuda-runtime-cu12==12.1.105 - # via - # -c .pin/../.pin/constraints-xpu-torch.txt - # torch -nvidia-cudnn-cu12==8.9.2.26 - # via - # -c .pin/../.pin/constraints-xpu-torch.txt - # torch -nvidia-cufft-cu12==11.0.2.54 - # via - # -c .pin/../.pin/constraints-xpu-torch.txt - # torch -nvidia-curand-cu12==10.3.2.106 - # via - # -c .pin/../.pin/constraints-xpu-torch.txt - # torch -nvidia-cusolver-cu12==11.4.5.107 - # via - # -c .pin/../.pin/constraints-xpu-torch.txt - # torch -nvidia-cusparse-cu12==12.1.0.106 - # via - # -c .pin/../.pin/constraints-xpu-torch.txt - # nvidia-cusolver-cu12 - # torch -nvidia-nccl-cu12==2.20.5 - # via - # -c .pin/../.pin/constraints-xpu-torch.txt - # torch -nvidia-nvjitlink-cu12==12.5.40 - # via - # -c .pin/../.pin/constraints-xpu-torch.txt - # nvidia-cusolver-cu12 - # nvidia-cusparse-cu12 -nvidia-nvtx-cu12==12.1.105 - # via - # -c .pin/../.pin/constraints-xpu-torch.txt - # torch omegaconf==2.3.0 # via # -c .pin/../.pin/constraints-xpu-torch.txt # voir -opencv-python==4.10.0.82 +opencv-python==4.10.0.84 # via # -c .pin/../.pin/constraints-xpu-torch.txt # -r benchmarks/super-slomo/requirements.in @@ -133,7 +92,7 @@ ovld==0.3.5 # via # -c .pin/../.pin/constraints-xpu-torch.txt # voir -pillow==10.3.0 +pillow==10.4.0 # via # -c .pin/../.pin/constraints-xpu-torch.txt # torchvision @@ -149,7 +108,7 @@ pygments==2.18.0 # via # -c .pin/../.pin/constraints-xpu-torch.txt # rich -pynvml==11.5.0 +pynvml==11.5.3 # via # -c .pin/../.pin/constraints-xpu-torch.txt # voir @@ -161,6 +120,10 @@ reactivex==4.0.4 # via # -c .pin/../.pin/constraints-xpu-torch.txt # giving +requests==2.32.3 + # via + # -c .pin/../.pin/constraints-xpu-torch.txt + # torchvision rich==13.7.1 # via # -c .pin/../.pin/constraints-xpu-torch.txt @@ -169,17 +132,17 @@ six==1.16.0 # via # -c .pin/../.pin/constraints-xpu-torch.txt # asttokens -sympy==1.12.1 +sympy==1.13.0 # via # -c .pin/../.pin/constraints-xpu-torch.txt # torch -torch==2.3.1 +torch==2.1.0.post2+cxx11.abi # via # -c .pin/../.pin/constraints-xpu-torch.txt # -c .pin/../constraints/xpu.txt # -r benchmarks/super-slomo/requirements.in # torchvision -torchvision==0.18.1 +torchvision==0.16.0.post2+cxx11.abi # via # -c .pin/../.pin/constraints-xpu-torch.txt # -c .pin/../constraints/xpu.txt @@ -188,15 +151,15 @@ tqdm==4.66.4 # via # -c .pin/../.pin/constraints-xpu-torch.txt # -r benchmarks/super-slomo/requirements.in -triton==2.3.1 - # via - # -c .pin/../.pin/constraints-xpu-torch.txt - # torch typing-extensions==4.12.2 # via # -c .pin/../.pin/constraints-xpu-torch.txt # reactivex # torch +urllib3==1.26.19 + # via + # -c .pin/../.pin/constraints-xpu-torch.txt + # requests varname==0.10.0 # via # -c .pin/../.pin/constraints-xpu-torch.txt diff --git a/benchmarks/timm/benchfile.py b/benchmarks/timm/benchfile.py index 2c5357ef9..94be19e6b 100644 --- a/benchmarks/timm/benchfile.py +++ b/benchmarks/timm/benchfile.py @@ -9,6 +9,10 @@ class TimmBenchmarkPack(Package): base_requirements = "requirements.in" main_script = "pytorch-image-models/train.py" + @property + def working_directory(self): + return self.dirs.code / "pytorch-image-models" + def make_env(self): return { **super().make_env(), @@ -26,18 +30,27 @@ def argv(self): ] async def install(self): - await super().install() - timm = self.dirs.code / "pytorch-image-models" if not timm.exists(): timm.clone_subtree( "https://github.com/huggingface/pytorch-image-models", BRANCH ) + # Install TIMM first + # await self.pip_install("-e", str(timm)) + + # install the rest, which might override what TIMM specified + await super().install() + def build_run_plan(self): - # self.config is not the right config for this - plan = super().build_run_plan() - return TorchRunCommand(plan, use_stdout=True) + import milabench.commands as cmd + main = self.dirs.code / self.main_script + + # torchrun ... -m voir ... train_script ... + return TorchRunCommand( + cmd.VoirCommand(cmd.PackCommand(self, *self.argv, lazy=True), cwd=main.parent, module=True), + module=True + ) __pack__ = TimmBenchmarkPack diff --git a/benchmarks/timm/requirements.cuda.txt b/benchmarks/timm/requirements.cuda.txt index 6cc90c55f..6d10fab4e 100644 --- a/benchmarks/timm/requirements.cuda.txt +++ b/benchmarks/timm/requirements.cuda.txt @@ -1,5 +1,5 @@ # -# This file is autogenerated by pip-compile with Python 3.11 +# This file is autogenerated by pip-compile with Python 3.10 # by the following command: # # pip-compile --output-file=benchmarks/timm/requirements.cuda.txt .pin/tmp-constraints-cuda-timm.txt benchmarks/timm/requirements.in @@ -17,7 +17,7 @@ asttokens==2.4.1 # via # -c .pin/../.pin/constraints-cuda-torch.txt # giving -certifi==2024.6.2 +certifi==2024.7.4 # via # -c .pin/../.pin/constraints-cuda-torch.txt # requests @@ -33,13 +33,13 @@ executing==1.2.0 # via # -c .pin/../.pin/constraints-cuda-torch.txt # varname -filelock==3.14.0 +filelock==3.15.4 # via # -c .pin/../.pin/constraints-cuda-torch.txt # huggingface-hub # torch # triton -fsspec==2023.1.0 +fsspec==2024.5.0 # via # -c .pin/../.pin/constraints-cuda-torch.txt # huggingface-hub @@ -49,7 +49,7 @@ giving==0.4.2 # -c .pin/../.pin/constraints-cuda-torch.txt # ptera # voir -huggingface-hub==0.17.3 +huggingface-hub==0.24.0 # via # -c .pin/../.pin/constraints-cuda-torch.txt # -r benchmarks/timm/requirements.in @@ -128,7 +128,7 @@ nvidia-nccl-cu12==2.20.5 # via # -c .pin/../.pin/constraints-cuda-torch.txt # torch -nvidia-nvjitlink-cu12==12.5.40 +nvidia-nvjitlink-cu12==12.5.82 # via # -c .pin/../.pin/constraints-cuda-torch.txt # nvidia-cusolver-cu12 @@ -149,7 +149,7 @@ packaging==24.1 # via # -c .pin/../.pin/constraints-cuda-torch.txt # huggingface-hub -pillow==10.3.0 +pillow==10.4.0 # via # -c .pin/../.pin/constraints-cuda-torch.txt # torchvision @@ -165,7 +165,7 @@ pygments==2.18.0 # via # -c .pin/../.pin/constraints-cuda-torch.txt # rich -pynvml==11.5.0 +pynvml==11.5.3 # via # -c .pin/../.pin/constraints-cuda-torch.txt # voir @@ -195,7 +195,7 @@ six==1.16.0 # via # -c .pin/../.pin/constraints-cuda-torch.txt # asttokens -sympy==1.12.1 +sympy==1.13.1 # via # -c .pin/../.pin/constraints-cuda-torch.txt # torch @@ -222,7 +222,7 @@ typing-extensions==4.12.2 # huggingface-hub # reactivex # torch -urllib3==1.26.18 +urllib3==1.26.19 # via # -c .pin/../.pin/constraints-cuda-torch.txt # requests diff --git a/benchmarks/timm/requirements.hpu.txt b/benchmarks/timm/requirements.hpu.txt index 03e5021e8..42ec5ab89 100644 --- a/benchmarks/timm/requirements.hpu.txt +++ b/benchmarks/timm/requirements.hpu.txt @@ -1,5 +1,5 @@ # -# This file is autogenerated by pip-compile with Python 3.11 +# This file is autogenerated by pip-compile with Python 3.10 # by the following command: # # pip-compile --output-file=benchmarks/timm/requirements.hpu.txt .pin/tmp-constraints-hpu-timm.txt benchmarks/timm/requirements.in @@ -32,13 +32,13 @@ executing==1.2.0 # via # -c .pin/../.pin/constraints-hpu-torch.txt # varname -filelock==3.14.0 +filelock==3.15.4 # via # -c .pin/../.pin/constraints-hpu-torch.txt # huggingface-hub # torch # triton -fsspec==2024.3.1 +fsspec==2024.5.0 # via # -c .pin/../.pin/constraints-hpu-torch.txt # huggingface-hub @@ -48,7 +48,7 @@ giving==0.4.2 # -c .pin/../.pin/constraints-hpu-torch.txt # ptera # voir -huggingface-hub==0.23.3 +huggingface-hub==0.24.0 # via # -c .pin/../.pin/constraints-hpu-torch.txt # -r benchmarks/timm/requirements.in @@ -127,7 +127,7 @@ nvidia-nccl-cu12==2.20.5 # via # -c .pin/../.pin/constraints-hpu-torch.txt # torch -nvidia-nvjitlink-cu12==12.5.40 +nvidia-nvjitlink-cu12==12.5.82 # via # -c .pin/../.pin/constraints-hpu-torch.txt # nvidia-cusolver-cu12 @@ -148,7 +148,7 @@ packaging==24.1 # via # -c .pin/../.pin/constraints-hpu-torch.txt # huggingface-hub -pillow==10.3.0 +pillow==10.4.0 # via # -c .pin/../.pin/constraints-hpu-torch.txt # torchvision @@ -164,7 +164,7 @@ pygments==2.18.0 # via # -c .pin/../.pin/constraints-hpu-torch.txt # rich -pynvml==11.5.0 +pynvml==11.5.3 # via # -c .pin/../.pin/constraints-hpu-torch.txt # voir @@ -194,7 +194,7 @@ six==1.16.0 # via # -c .pin/../.pin/constraints-hpu-torch.txt # asttokens -sympy==1.12.1 +sympy==1.13.0 # via # -c .pin/../.pin/constraints-hpu-torch.txt # torch @@ -221,7 +221,7 @@ typing-extensions==4.12.2 # huggingface-hub # reactivex # torch -urllib3==1.26.18 +urllib3==1.26.19 # via # -c .pin/../.pin/constraints-hpu-torch.txt # requests diff --git a/benchmarks/timm/requirements.rocm.txt b/benchmarks/timm/requirements.rocm.txt index 58fdf7146..6bfbef023 100644 --- a/benchmarks/timm/requirements.rocm.txt +++ b/benchmarks/timm/requirements.rocm.txt @@ -1,5 +1,5 @@ # -# This file is autogenerated by pip-compile with Python 3.11 +# This file is autogenerated by pip-compile with Python 3.10 # by the following command: # # pip-compile --output-file=benchmarks/timm/requirements.rocm.txt .pin/tmp-constraints-rocm-timm.txt benchmarks/timm/requirements.in @@ -33,13 +33,13 @@ executing==1.2.0 # via # -c .pin/../.pin/constraints-rocm-torch.txt # varname -filelock==3.14.0 +filelock==3.15.4 # via # -c .pin/../.pin/constraints-rocm-torch.txt # huggingface-hub # pytorch-triton-rocm # torch -fsspec==2024.3.1 +fsspec==2024.5.0 # via # -c .pin/../.pin/constraints-rocm-torch.txt # huggingface-hub @@ -49,7 +49,7 @@ giving==0.4.2 # -c .pin/../.pin/constraints-rocm-torch.txt # ptera # voir -huggingface-hub==0.23.3 +huggingface-hub==0.23.5 # via # -c .pin/../.pin/constraints-rocm-torch.txt # -r benchmarks/timm/requirements.in @@ -97,7 +97,7 @@ packaging==24.1 # via # -c .pin/../.pin/constraints-rocm-torch.txt # huggingface-hub -pillow==10.3.0 +pillow==10.4.0 # via # -c .pin/../.pin/constraints-rocm-torch.txt # torchvision @@ -113,7 +113,7 @@ pygments==2.18.0 # via # -c .pin/../.pin/constraints-rocm-torch.txt # rich -pynvml==11.5.0 +pynvml==11.5.3 # via # -c .pin/../.pin/constraints-rocm-torch.txt # voir @@ -147,7 +147,7 @@ six==1.16.0 # via # -c .pin/../.pin/constraints-rocm-torch.txt # asttokens -sympy==1.12.1 +sympy==1.13.0 # via # -c .pin/../.pin/constraints-rocm-torch.txt # torch @@ -170,7 +170,7 @@ typing-extensions==4.12.2 # huggingface-hub # reactivex # torch -urllib3==1.26.18 +urllib3==1.26.19 # via # -c .pin/../.pin/constraints-rocm-torch.txt # requests diff --git a/benchmarks/timm/requirements.xpu.txt b/benchmarks/timm/requirements.xpu.txt index d57a12d32..9280b2fe6 100644 --- a/benchmarks/timm/requirements.xpu.txt +++ b/benchmarks/timm/requirements.xpu.txt @@ -1,5 +1,5 @@ # -# This file is autogenerated by pip-compile with Python 3.11 +# This file is autogenerated by pip-compile with Python 3.10 # by the following command: # # pip-compile --output-file=benchmarks/timm/requirements.xpu.txt .pin/tmp-constraints-xpu-timm.txt benchmarks/timm/requirements.in @@ -33,13 +33,12 @@ executing==1.2.0 # via # -c .pin/../.pin/constraints-xpu-torch.txt # varname -filelock==3.14.0 +filelock==3.15.4 # via # -c .pin/../.pin/constraints-xpu-torch.txt # huggingface-hub # torch - # triton -fsspec==2023.1.0 +fsspec==2024.5.0 # via # -c .pin/../.pin/constraints-xpu-torch.txt # huggingface-hub @@ -49,7 +48,7 @@ giving==0.4.2 # -c .pin/../.pin/constraints-xpu-torch.txt # ptera # voir -huggingface-hub==0.17.3 +huggingface-hub==0.24.0 # via # -c .pin/../.pin/constraints-xpu-torch.txt # -r benchmarks/timm/requirements.in @@ -85,58 +84,6 @@ numpy==1.26.4 # via # -c .pin/../.pin/constraints-xpu-torch.txt # torchvision -nvidia-cublas-cu12==12.1.3.1 - # via - # -c .pin/../.pin/constraints-xpu-torch.txt - # nvidia-cudnn-cu12 - # nvidia-cusolver-cu12 - # torch -nvidia-cuda-cupti-cu12==12.1.105 - # via - # -c .pin/../.pin/constraints-xpu-torch.txt - # torch -nvidia-cuda-nvrtc-cu12==12.1.105 - # via - # -c .pin/../.pin/constraints-xpu-torch.txt - # torch -nvidia-cuda-runtime-cu12==12.1.105 - # via - # -c .pin/../.pin/constraints-xpu-torch.txt - # torch -nvidia-cudnn-cu12==8.9.2.26 - # via - # -c .pin/../.pin/constraints-xpu-torch.txt - # torch -nvidia-cufft-cu12==11.0.2.54 - # via - # -c .pin/../.pin/constraints-xpu-torch.txt - # torch -nvidia-curand-cu12==10.3.2.106 - # via - # -c .pin/../.pin/constraints-xpu-torch.txt - # torch -nvidia-cusolver-cu12==11.4.5.107 - # via - # -c .pin/../.pin/constraints-xpu-torch.txt - # torch -nvidia-cusparse-cu12==12.1.0.106 - # via - # -c .pin/../.pin/constraints-xpu-torch.txt - # nvidia-cusolver-cu12 - # torch -nvidia-nccl-cu12==2.20.5 - # via - # -c .pin/../.pin/constraints-xpu-torch.txt - # torch -nvidia-nvjitlink-cu12==12.5.40 - # via - # -c .pin/../.pin/constraints-xpu-torch.txt - # nvidia-cusolver-cu12 - # nvidia-cusparse-cu12 -nvidia-nvtx-cu12==12.1.105 - # via - # -c .pin/../.pin/constraints-xpu-torch.txt - # torch omegaconf==2.3.0 # via # -c .pin/../.pin/constraints-xpu-torch.txt @@ -149,7 +96,7 @@ packaging==24.1 # via # -c .pin/../.pin/constraints-xpu-torch.txt # huggingface-hub -pillow==10.3.0 +pillow==10.4.0 # via # -c .pin/../.pin/constraints-xpu-torch.txt # torchvision @@ -165,7 +112,7 @@ pygments==2.18.0 # via # -c .pin/../.pin/constraints-xpu-torch.txt # rich -pynvml==11.5.0 +pynvml==11.5.3 # via # -c .pin/../.pin/constraints-xpu-torch.txt # voir @@ -183,6 +130,7 @@ requests==2.32.3 # via # -c .pin/../.pin/constraints-xpu-torch.txt # huggingface-hub + # torchvision rich==13.7.1 # via # -c .pin/../.pin/constraints-xpu-torch.txt @@ -195,17 +143,17 @@ six==1.16.0 # via # -c .pin/../.pin/constraints-xpu-torch.txt # asttokens -sympy==1.12.1 +sympy==1.13.0 # via # -c .pin/../.pin/constraints-xpu-torch.txt # torch -torch==2.3.1 +torch==2.1.0.post2+cxx11.abi # via # -c .pin/../.pin/constraints-xpu-torch.txt # -c .pin/../constraints/xpu.txt # -r benchmarks/timm/requirements.in # torchvision -torchvision==0.18.1 +torchvision==0.16.0.post2+cxx11.abi # via # -c .pin/../.pin/constraints-xpu-torch.txt # -c .pin/../constraints/xpu.txt @@ -214,17 +162,13 @@ tqdm==4.66.4 # via # -c .pin/../.pin/constraints-xpu-torch.txt # huggingface-hub -triton==2.3.1 - # via - # -c .pin/../.pin/constraints-xpu-torch.txt - # torch typing-extensions==4.12.2 # via # -c .pin/../.pin/constraints-xpu-torch.txt # huggingface-hub # reactivex # torch -urllib3==1.26.18 +urllib3==1.26.19 # via # -c .pin/../.pin/constraints-xpu-torch.txt # requests diff --git a/benchmarks/timm/voirfile.py b/benchmarks/timm/voirfile.py index 96922d144..b1b33cc49 100644 --- a/benchmarks/timm/voirfile.py +++ b/benchmarks/timm/voirfile.py @@ -35,16 +35,13 @@ def instrument_main(ov, options: Config): import torchcompat.core as accelerator from benchmate.observer import BenchObserver - from timm.utils.distributed import is_global_primary - observer = BenchObserver( accelerator.Event, earlystop=options.stop + options.skip, - rank=int(os.getenv("RANK", 0)), - device=accelerator.fetch_device(int(os.getenv("RANK", 0))), backward_callback=accelerator.mark_step, step_callback=accelerator.mark_step, - batch_size_fn=lambda x: len(x[0]) + batch_size_fn=lambda x: len(x[0]), + stdout=False, ) probe = ov.probe("/timm.data.loader/create_loader() as loader", overridable=True) @@ -71,7 +68,7 @@ def instrument_main(ov, options: Config): monitor(poll_interval=options.gpu_poll) ] - if is_global_primary: + if int(os.getenv("RANK", 0)) == 0: instruments.append(early_stop(n=options.stop, key="rate", task="train", signal="stop")) ov.require(*instruments) diff --git a/benchmarks/torchvision/Makefile b/benchmarks/torchvision/Makefile new file mode 100644 index 000000000..680a2a265 --- /dev/null +++ b/benchmarks/torchvision/Makefile @@ -0,0 +1,14 @@ + +install: + milabench install --config dev.yaml --base base --force + +tests: + milabench install --config dev.yaml --base base + milabench prepare --config dev.yaml --base base + milabench run --config dev.yaml --base base + +gpus: + milabench run --config dev.yaml --base base --select diffusion-gpus + +nodes: + milabench run --config dev.yaml --base base --select diffusion-nodes \ No newline at end of file diff --git a/benchmarks/torchvision/dev.yaml b/benchmarks/torchvision/dev.yaml new file mode 100644 index 000000000..b51946e38 --- /dev/null +++ b/benchmarks/torchvision/dev.yaml @@ -0,0 +1,21 @@ + +vision: + inherits: _defaults + definition: . + install-variant: unpinned + install_group: torch + num_machines: 1 + plan: + method: per_gpu + + argv: + --precision: 'tf32-fp16' + --lr: 0.01 + --no-stdout: true + --epochs: 50 + --loader: pytorch + --data: "{milabench_data}/FakeImageNet" + --model: resnet50 + --batch-size: 256 + --num-workers: "auto({n_worker}, 8)" + --loader: pytorch \ No newline at end of file diff --git a/benchmarks/torchvision/requirements.cuda.txt b/benchmarks/torchvision/requirements.cuda.txt index 4d39cd13c..ea33e86f2 100644 --- a/benchmarks/torchvision/requirements.cuda.txt +++ b/benchmarks/torchvision/requirements.cuda.txt @@ -1,5 +1,5 @@ # -# This file is autogenerated by pip-compile with Python 3.11 +# This file is autogenerated by pip-compile with Python 3.10 # by the following command: # # pip-compile --output-file=benchmarks/torchvision/requirements.cuda.txt .pin/tmp-constraints-cuda-torchvision.txt benchmarks/torchvision/requirements.in @@ -25,12 +25,12 @@ executing==1.2.0 # via # -c .pin/../.pin/constraints-cuda-torch.txt # varname -filelock==3.14.0 +filelock==3.15.4 # via # -c .pin/../.pin/constraints-cuda-torch.txt # torch # triton -fsspec==2023.1.0 +fsspec==2024.5.0 # via # -c .pin/../.pin/constraints-cuda-torch.txt # torch @@ -114,7 +114,7 @@ nvidia-nccl-cu12==2.20.5 # via # -c .pin/../.pin/constraints-cuda-torch.txt # torch -nvidia-nvjitlink-cu12==12.5.40 +nvidia-nvjitlink-cu12==12.5.82 # via # -c .pin/../.pin/constraints-cuda-torch.txt # nvidia-cusolver-cu12 @@ -131,7 +131,7 @@ ovld==0.3.5 # via # -c .pin/../.pin/constraints-cuda-torch.txt # voir -pillow==10.3.0 +pillow==10.4.0 # via # -c .pin/../.pin/constraints-cuda-torch.txt # torchvision @@ -147,7 +147,7 @@ pygments==2.18.0 # via # -c .pin/../.pin/constraints-cuda-torch.txt # rich -pynvml==11.5.0 +pynvml==11.5.3 # via # -c .pin/../.pin/constraints-cuda-torch.txt # voir @@ -167,7 +167,7 @@ six==1.16.0 # via # -c .pin/../.pin/constraints-cuda-torch.txt # asttokens -sympy==1.12.1 +sympy==1.13.1 # via # -c .pin/../.pin/constraints-cuda-torch.txt # torch @@ -175,9 +175,8 @@ torch==2.3.1+cu121 # via # -c .pin/../.pin/constraints-cuda-torch.txt # -r benchmarks/torchvision/requirements.in - # torchcompat # torchvision -torchcompat==1.0.2 +torchcompat==1.1.4 # via # -c .pin/../.pin/constraints-cuda-torch.txt # -c .pin/../constraints/cuda.txt diff --git a/benchmarks/torchvision/requirements.hpu.txt b/benchmarks/torchvision/requirements.hpu.txt index 37db145de..08f384f9c 100644 --- a/benchmarks/torchvision/requirements.hpu.txt +++ b/benchmarks/torchvision/requirements.hpu.txt @@ -1,5 +1,5 @@ # -# This file is autogenerated by pip-compile with Python 3.11 +# This file is autogenerated by pip-compile with Python 3.10 # by the following command: # # pip-compile --output-file=benchmarks/torchvision/requirements.hpu.txt .pin/tmp-constraints-hpu-torchvision.txt benchmarks/torchvision/requirements.in @@ -24,12 +24,12 @@ executing==1.2.0 # via # -c .pin/../.pin/constraints-hpu-torch.txt # varname -filelock==3.14.0 +filelock==3.15.4 # via # -c .pin/../.pin/constraints-hpu-torch.txt # torch # triton -fsspec==2024.3.1 +fsspec==2024.5.0 # via # -c .pin/../.pin/constraints-hpu-torch.txt # torch @@ -113,7 +113,7 @@ nvidia-nccl-cu12==2.20.5 # via # -c .pin/../.pin/constraints-hpu-torch.txt # torch -nvidia-nvjitlink-cu12==12.5.40 +nvidia-nvjitlink-cu12==12.5.82 # via # -c .pin/../.pin/constraints-hpu-torch.txt # nvidia-cusolver-cu12 @@ -130,7 +130,7 @@ ovld==0.3.5 # via # -c .pin/../.pin/constraints-hpu-torch.txt # voir -pillow==10.3.0 +pillow==10.4.0 # via # -c .pin/../.pin/constraints-hpu-torch.txt # torchvision @@ -146,7 +146,7 @@ pygments==2.18.0 # via # -c .pin/../.pin/constraints-hpu-torch.txt # rich -pynvml==11.5.0 +pynvml==11.5.3 # via # -c .pin/../.pin/constraints-hpu-torch.txt # voir @@ -166,7 +166,7 @@ six==1.16.0 # via # -c .pin/../.pin/constraints-hpu-torch.txt # asttokens -sympy==1.12.1 +sympy==1.13.0 # via # -c .pin/../.pin/constraints-hpu-torch.txt # torch @@ -174,9 +174,8 @@ torch==2.3.1 # via # -c .pin/../.pin/constraints-hpu-torch.txt # -r benchmarks/torchvision/requirements.in - # torchcompat # torchvision -torchcompat==1.0.2 +torchcompat==1.1.4 # via # -c .pin/../.pin/constraints-hpu-torch.txt # -c .pin/../constraints/hpu.txt diff --git a/benchmarks/torchvision/requirements.rocm.txt b/benchmarks/torchvision/requirements.rocm.txt index 781bd15cf..01b9ff663 100644 --- a/benchmarks/torchvision/requirements.rocm.txt +++ b/benchmarks/torchvision/requirements.rocm.txt @@ -1,5 +1,5 @@ # -# This file is autogenerated by pip-compile with Python 3.11 +# This file is autogenerated by pip-compile with Python 3.10 # by the following command: # # pip-compile --output-file=benchmarks/torchvision/requirements.rocm.txt .pin/tmp-constraints-rocm-torchvision.txt benchmarks/torchvision/requirements.in @@ -25,12 +25,12 @@ executing==1.2.0 # via # -c .pin/../.pin/constraints-rocm-torch.txt # varname -filelock==3.14.0 +filelock==3.15.4 # via # -c .pin/../.pin/constraints-rocm-torch.txt # pytorch-triton-rocm # torch -fsspec==2024.3.1 +fsspec==2024.5.0 # via # -c .pin/../.pin/constraints-rocm-torch.txt # torch @@ -79,7 +79,7 @@ ovld==0.3.5 # via # -c .pin/../.pin/constraints-rocm-torch.txt # voir -pillow==10.3.0 +pillow==10.4.0 # via # -c .pin/../.pin/constraints-rocm-torch.txt # torchvision @@ -95,7 +95,7 @@ pygments==2.18.0 # via # -c .pin/../.pin/constraints-rocm-torch.txt # rich -pynvml==11.5.0 +pynvml==11.5.3 # via # -c .pin/../.pin/constraints-rocm-torch.txt # voir @@ -119,7 +119,7 @@ six==1.16.0 # via # -c .pin/../.pin/constraints-rocm-torch.txt # asttokens -sympy==1.12.1 +sympy==1.13.0 # via # -c .pin/../.pin/constraints-rocm-torch.txt # torch @@ -127,9 +127,8 @@ torch==2.3.1+rocm6.0 # via # -c .pin/../.pin/constraints-rocm-torch.txt # -r benchmarks/torchvision/requirements.in - # torchcompat # torchvision -torchcompat==1.0.2 +torchcompat==1.1.4 # via # -c .pin/../.pin/constraints-rocm-torch.txt # -c .pin/../constraints/rocm.txt diff --git a/benchmarks/torchvision/requirements.xpu.txt b/benchmarks/torchvision/requirements.xpu.txt index 0ec712dd0..61a0b51e1 100644 --- a/benchmarks/torchvision/requirements.xpu.txt +++ b/benchmarks/torchvision/requirements.xpu.txt @@ -1,5 +1,5 @@ # -# This file is autogenerated by pip-compile with Python 3.11 +# This file is autogenerated by pip-compile with Python 3.10 # by the following command: # # pip-compile --output-file=benchmarks/torchvision/requirements.xpu.txt .pin/tmp-constraints-xpu-torchvision.txt benchmarks/torchvision/requirements.in @@ -17,6 +17,14 @@ asttokens==2.4.1 # via # -c .pin/../.pin/constraints-xpu-torch.txt # giving +certifi==2024.6.2 + # via + # -c .pin/../.pin/constraints-xpu-torch.txt + # requests +charset-normalizer==3.3.2 + # via + # -c .pin/../.pin/constraints-xpu-torch.txt + # requests codefind==0.1.6 # via # -c .pin/../.pin/constraints-xpu-torch.txt @@ -25,12 +33,11 @@ executing==1.2.0 # via # -c .pin/../.pin/constraints-xpu-torch.txt # varname -filelock==3.14.0 +filelock==3.15.4 # via # -c .pin/../.pin/constraints-xpu-torch.txt # torch - # triton -fsspec==2023.1.0 +fsspec==2024.5.0 # via # -c .pin/../.pin/constraints-xpu-torch.txt # torch @@ -39,6 +46,10 @@ giving==0.4.2 # -c .pin/../.pin/constraints-xpu-torch.txt # ptera # voir +idna==3.7 + # via + # -c .pin/../.pin/constraints-xpu-torch.txt + # requests importlib-resources==6.4.0 # via # -c .pin/../.pin/constraints-xpu-torch.txt @@ -71,58 +82,6 @@ numpy==1.26.4 # via # -c .pin/../.pin/constraints-xpu-torch.txt # torchvision -nvidia-cublas-cu12==12.1.3.1 - # via - # -c .pin/../.pin/constraints-xpu-torch.txt - # nvidia-cudnn-cu12 - # nvidia-cusolver-cu12 - # torch -nvidia-cuda-cupti-cu12==12.1.105 - # via - # -c .pin/../.pin/constraints-xpu-torch.txt - # torch -nvidia-cuda-nvrtc-cu12==12.1.105 - # via - # -c .pin/../.pin/constraints-xpu-torch.txt - # torch -nvidia-cuda-runtime-cu12==12.1.105 - # via - # -c .pin/../.pin/constraints-xpu-torch.txt - # torch -nvidia-cudnn-cu12==8.9.2.26 - # via - # -c .pin/../.pin/constraints-xpu-torch.txt - # torch -nvidia-cufft-cu12==11.0.2.54 - # via - # -c .pin/../.pin/constraints-xpu-torch.txt - # torch -nvidia-curand-cu12==10.3.2.106 - # via - # -c .pin/../.pin/constraints-xpu-torch.txt - # torch -nvidia-cusolver-cu12==11.4.5.107 - # via - # -c .pin/../.pin/constraints-xpu-torch.txt - # torch -nvidia-cusparse-cu12==12.1.0.106 - # via - # -c .pin/../.pin/constraints-xpu-torch.txt - # nvidia-cusolver-cu12 - # torch -nvidia-nccl-cu12==2.20.5 - # via - # -c .pin/../.pin/constraints-xpu-torch.txt - # torch -nvidia-nvjitlink-cu12==12.5.40 - # via - # -c .pin/../.pin/constraints-xpu-torch.txt - # nvidia-cusolver-cu12 - # nvidia-cusparse-cu12 -nvidia-nvtx-cu12==12.1.105 - # via - # -c .pin/../.pin/constraints-xpu-torch.txt - # torch omegaconf==2.3.0 # via # -c .pin/../.pin/constraints-xpu-torch.txt @@ -131,7 +90,7 @@ ovld==0.3.5 # via # -c .pin/../.pin/constraints-xpu-torch.txt # voir -pillow==10.3.0 +pillow==10.4.0 # via # -c .pin/../.pin/constraints-xpu-torch.txt # torchvision @@ -147,7 +106,7 @@ pygments==2.18.0 # via # -c .pin/../.pin/constraints-xpu-torch.txt # rich -pynvml==11.5.0 +pynvml==11.5.3 # via # -c .pin/../.pin/constraints-xpu-torch.txt # voir @@ -159,6 +118,10 @@ reactivex==4.0.4 # via # -c .pin/../.pin/constraints-xpu-torch.txt # giving +requests==2.32.3 + # via + # -c .pin/../.pin/constraints-xpu-torch.txt + # torchvision rich==13.7.1 # via # -c .pin/../.pin/constraints-xpu-torch.txt @@ -167,23 +130,22 @@ six==1.16.0 # via # -c .pin/../.pin/constraints-xpu-torch.txt # asttokens -sympy==1.12.1 +sympy==1.13.0 # via # -c .pin/../.pin/constraints-xpu-torch.txt # torch -torch==2.3.1 +torch==2.1.0.post2+cxx11.abi # via # -c .pin/../.pin/constraints-xpu-torch.txt # -c .pin/../constraints/xpu.txt # -r benchmarks/torchvision/requirements.in - # torchcompat # torchvision -torchcompat==1.0.2 +torchcompat==1.1.4 # via # -c .pin/../.pin/constraints-xpu-torch.txt # -c .pin/../constraints/xpu.txt # -r benchmarks/torchvision/requirements.in -torchvision==0.18.1 +torchvision==0.16.0.post2+cxx11.abi # via # -c .pin/../.pin/constraints-xpu-torch.txt # -c .pin/../constraints/xpu.txt @@ -192,15 +154,15 @@ tqdm==4.66.4 # via # -c .pin/../.pin/constraints-xpu-torch.txt # -r benchmarks/torchvision/requirements.in -triton==2.3.1 - # via - # -c .pin/../.pin/constraints-xpu-torch.txt - # torch typing-extensions==4.12.2 # via # -c .pin/../.pin/constraints-xpu-torch.txt # reactivex # torch +urllib3==1.26.19 + # via + # -c .pin/../.pin/constraints-xpu-torch.txt + # requests varname==0.10.0 # via # -c .pin/../.pin/constraints-xpu-torch.txt diff --git a/benchmarks/torchvision_ddp/benchfile.py b/benchmarks/torchvision_ddp/benchfile.py index 4b2d56c8e..1e66a78f1 100644 --- a/benchmarks/torchvision_ddp/benchfile.py +++ b/benchmarks/torchvision_ddp/benchfile.py @@ -9,8 +9,8 @@ class TorchvisionBenchmarkDDP(Package): def build_run_plan(self) -> "Command": import milabench.commands as cmd pack = cmd.PackCommand(self, *self.argv, lazy=True) - pack = cmd.ActivatorCommand(pack, use_stdout=True) - return pack + pack = cmd.ActivatorCommand(pack) + return pack.use_stdout() __pack__ = TorchvisionBenchmarkDDP diff --git a/benchmarks/torchvision_ddp/requirements.cuda.txt b/benchmarks/torchvision_ddp/requirements.cuda.txt index 27d7e8bdd..68bacfebb 100644 --- a/benchmarks/torchvision_ddp/requirements.cuda.txt +++ b/benchmarks/torchvision_ddp/requirements.cuda.txt @@ -1,5 +1,5 @@ # -# This file is autogenerated by pip-compile with Python 3.11 +# This file is autogenerated by pip-compile with Python 3.10 # by the following command: # # pip-compile --output-file=benchmarks/torchvision_ddp/requirements.cuda.txt .pin/tmp-constraints-cuda-torchvision.txt benchmarks/torchvision_ddp/requirements.in @@ -25,12 +25,12 @@ executing==1.2.0 # via # -c .pin/../.pin/constraints-cuda-torch.txt # varname -filelock==3.14.0 +filelock==3.15.4 # via # -c .pin/../.pin/constraints-cuda-torch.txt # torch # triton -fsspec==2023.1.0 +fsspec==2024.5.0 # via # -c .pin/../.pin/constraints-cuda-torch.txt # torch @@ -114,7 +114,7 @@ nvidia-nccl-cu12==2.20.5 # via # -c .pin/../.pin/constraints-cuda-torch.txt # torch -nvidia-nvjitlink-cu12==12.5.40 +nvidia-nvjitlink-cu12==12.5.82 # via # -c .pin/../.pin/constraints-cuda-torch.txt # nvidia-cusolver-cu12 @@ -131,7 +131,7 @@ ovld==0.3.5 # via # -c .pin/../.pin/constraints-cuda-torch.txt # voir -pillow==10.3.0 +pillow==10.4.0 # via # -c .pin/../.pin/constraints-cuda-torch.txt # torchvision @@ -147,7 +147,7 @@ pygments==2.18.0 # via # -c .pin/../.pin/constraints-cuda-torch.txt # rich -pynvml==11.5.0 +pynvml==11.5.3 # via # -c .pin/../.pin/constraints-cuda-torch.txt # voir @@ -167,7 +167,7 @@ six==1.16.0 # via # -c .pin/../.pin/constraints-cuda-torch.txt # asttokens -sympy==1.12.1 +sympy==1.13.1 # via # -c .pin/../.pin/constraints-cuda-torch.txt # torch @@ -175,9 +175,8 @@ torch==2.3.1+cu121 # via # -c .pin/../.pin/constraints-cuda-torch.txt # -r benchmarks/torchvision_ddp/requirements.in - # torchcompat # torchvision -torchcompat==1.0.2 +torchcompat==1.1.4 # via # -c .pin/../.pin/constraints-cuda-torch.txt # -c .pin/../constraints/cuda.txt diff --git a/benchmarks/torchvision_ddp/requirements.hpu.txt b/benchmarks/torchvision_ddp/requirements.hpu.txt index 0fb708958..e69de29bb 100644 --- a/benchmarks/torchvision_ddp/requirements.hpu.txt +++ b/benchmarks/torchvision_ddp/requirements.hpu.txt @@ -1,209 +0,0 @@ -# -# This file is autogenerated by pip-compile with Python 3.11 -# by the following command: -# -# pip-compile --output-file=benchmarks/torchvision_ddp/requirements.hpu.txt .pin/tmp-constraints-hpu-torchvision.txt benchmarks/torchvision_ddp/requirements.in -# ---extra-index-url https://pypi.ngc.nvidia.com ---find-links https://storage.googleapis.com/jax-releases/jax_cuda_releases.html ---trusted-host pypi.ngc.nvidia.com - -antlr4-python3-runtime==4.9.3 - # via - # -c .pin/../.pin/constraints-hpu-torch.txt - # omegaconf -asttokens==2.4.1 - # via - # -c .pin/../.pin/constraints-hpu-torch.txt - # giving -codefind==0.1.6 - # via - # -c .pin/../.pin/constraints-hpu-torch.txt - # ptera -executing==1.2.0 - # via - # -c .pin/../.pin/constraints-hpu-torch.txt - # varname -filelock==3.14.0 - # via - # -c .pin/../.pin/constraints-hpu-torch.txt - # torch - # triton -fsspec==2024.3.1 - # via - # -c .pin/../.pin/constraints-hpu-torch.txt - # torch -giving==0.4.2 - # via - # -c .pin/../.pin/constraints-hpu-torch.txt - # ptera - # voir -importlib-resources==6.4.0 - # via - # -c .pin/../.pin/constraints-hpu-torch.txt - # torchcompat -jinja2==3.1.4 - # via - # -c .pin/../.pin/constraints-hpu-torch.txt - # torch -markdown-it-py==3.0.0 - # via - # -c .pin/../.pin/constraints-hpu-torch.txt - # rich -markupsafe==2.1.5 - # via - # -c .pin/../.pin/constraints-hpu-torch.txt - # jinja2 -mdurl==0.1.2 - # via - # -c .pin/../.pin/constraints-hpu-torch.txt - # markdown-it-py -mpmath==1.3.0 - # via - # -c .pin/../.pin/constraints-hpu-torch.txt - # sympy -networkx==3.3 - # via - # -c .pin/../.pin/constraints-hpu-torch.txt - # torch -numpy==1.26.4 - # via - # -c .pin/../.pin/constraints-hpu-torch.txt - # torchvision -nvidia-cublas-cu12==12.1.3.1 - # via - # -c .pin/../.pin/constraints-hpu-torch.txt - # nvidia-cudnn-cu12 - # nvidia-cusolver-cu12 - # torch -nvidia-cuda-cupti-cu12==12.1.105 - # via - # -c .pin/../.pin/constraints-hpu-torch.txt - # torch -nvidia-cuda-nvrtc-cu12==12.1.105 - # via - # -c .pin/../.pin/constraints-hpu-torch.txt - # torch -nvidia-cuda-runtime-cu12==12.1.105 - # via - # -c .pin/../.pin/constraints-hpu-torch.txt - # torch -nvidia-cudnn-cu12==8.9.2.26 - # via - # -c .pin/../.pin/constraints-hpu-torch.txt - # torch -nvidia-cufft-cu12==11.0.2.54 - # via - # -c .pin/../.pin/constraints-hpu-torch.txt - # torch -nvidia-curand-cu12==10.3.2.106 - # via - # -c .pin/../.pin/constraints-hpu-torch.txt - # torch -nvidia-cusolver-cu12==11.4.5.107 - # via - # -c .pin/../.pin/constraints-hpu-torch.txt - # torch -nvidia-cusparse-cu12==12.1.0.106 - # via - # -c .pin/../.pin/constraints-hpu-torch.txt - # nvidia-cusolver-cu12 - # torch -nvidia-nccl-cu12==2.20.5 - # via - # -c .pin/../.pin/constraints-hpu-torch.txt - # torch -nvidia-nvjitlink-cu12==12.5.40 - # via - # -c .pin/../.pin/constraints-hpu-torch.txt - # nvidia-cusolver-cu12 - # nvidia-cusparse-cu12 -nvidia-nvtx-cu12==12.1.105 - # via - # -c .pin/../.pin/constraints-hpu-torch.txt - # torch -omegaconf==2.3.0 - # via - # -c .pin/../.pin/constraints-hpu-torch.txt - # voir -ovld==0.3.5 - # via - # -c .pin/../.pin/constraints-hpu-torch.txt - # voir -pillow==10.3.0 - # via - # -c .pin/../.pin/constraints-hpu-torch.txt - # torchvision -psutil==5.9.8 - # via - # -c .pin/../.pin/constraints-hpu-torch.txt - # voir -ptera==1.4.1 - # via - # -c .pin/../.pin/constraints-hpu-torch.txt - # voir -pygments==2.18.0 - # via - # -c .pin/../.pin/constraints-hpu-torch.txt - # rich -pynvml==11.5.0 - # via - # -c .pin/../.pin/constraints-hpu-torch.txt - # voir -pyyaml==6.0.1 - # via - # -c .pin/../.pin/constraints-hpu-torch.txt - # omegaconf -reactivex==4.0.4 - # via - # -c .pin/../.pin/constraints-hpu-torch.txt - # giving -rich==13.7.1 - # via - # -c .pin/../.pin/constraints-hpu-torch.txt - # voir -six==1.16.0 - # via - # -c .pin/../.pin/constraints-hpu-torch.txt - # asttokens -sympy==1.12.1 - # via - # -c .pin/../.pin/constraints-hpu-torch.txt - # torch -torch==2.3.1 - # via - # -c .pin/../.pin/constraints-hpu-torch.txt - # -r benchmarks/torchvision_ddp/requirements.in - # torchcompat - # torchvision -torchcompat==1.0.2 - # via - # -c .pin/../.pin/constraints-hpu-torch.txt - # -c .pin/../constraints/hpu.txt - # -r benchmarks/torchvision_ddp/requirements.in -torchvision==0.18.1 - # via - # -c .pin/../.pin/constraints-hpu-torch.txt - # -r benchmarks/torchvision_ddp/requirements.in -tqdm==4.66.4 - # via - # -c .pin/../.pin/constraints-hpu-torch.txt - # -r benchmarks/torchvision_ddp/requirements.in -triton==2.3.1 - # via - # -c .pin/../.pin/constraints-hpu-torch.txt - # torch -typing-extensions==4.12.2 - # via - # -c .pin/../.pin/constraints-hpu-torch.txt - # reactivex - # torch -varname==0.10.0 - # via - # -c .pin/../.pin/constraints-hpu-torch.txt - # giving -voir==0.2.16 - # via - # -c .pin/../.pin/constraints-hpu-torch.txt - # -c .pin/../constraints/hpu.txt - # -r benchmarks/torchvision_ddp/requirements.in diff --git a/benchmarks/torchvision_ddp/requirements.rocm.txt b/benchmarks/torchvision_ddp/requirements.rocm.txt index 9c4cb0691..150ce9d63 100644 --- a/benchmarks/torchvision_ddp/requirements.rocm.txt +++ b/benchmarks/torchvision_ddp/requirements.rocm.txt @@ -1,5 +1,5 @@ # -# This file is autogenerated by pip-compile with Python 3.11 +# This file is autogenerated by pip-compile with Python 3.10 # by the following command: # # pip-compile --output-file=benchmarks/torchvision_ddp/requirements.rocm.txt .pin/tmp-constraints-rocm-torchvision.txt benchmarks/torchvision_ddp/requirements.in @@ -25,12 +25,12 @@ executing==1.2.0 # via # -c .pin/../.pin/constraints-rocm-torch.txt # varname -filelock==3.14.0 +filelock==3.15.4 # via # -c .pin/../.pin/constraints-rocm-torch.txt # pytorch-triton-rocm # torch -fsspec==2024.3.1 +fsspec==2024.5.0 # via # -c .pin/../.pin/constraints-rocm-torch.txt # torch @@ -79,7 +79,7 @@ ovld==0.3.5 # via # -c .pin/../.pin/constraints-rocm-torch.txt # voir -pillow==10.3.0 +pillow==10.4.0 # via # -c .pin/../.pin/constraints-rocm-torch.txt # torchvision @@ -95,7 +95,7 @@ pygments==2.18.0 # via # -c .pin/../.pin/constraints-rocm-torch.txt # rich -pynvml==11.5.0 +pynvml==11.5.3 # via # -c .pin/../.pin/constraints-rocm-torch.txt # voir @@ -119,7 +119,7 @@ six==1.16.0 # via # -c .pin/../.pin/constraints-rocm-torch.txt # asttokens -sympy==1.12.1 +sympy==1.13.0 # via # -c .pin/../.pin/constraints-rocm-torch.txt # torch @@ -127,9 +127,8 @@ torch==2.3.1+rocm6.0 # via # -c .pin/../.pin/constraints-rocm-torch.txt # -r benchmarks/torchvision_ddp/requirements.in - # torchcompat # torchvision -torchcompat==1.0.2 +torchcompat==1.1.4 # via # -c .pin/../.pin/constraints-rocm-torch.txt # -c .pin/../constraints/rocm.txt diff --git a/benchmarks/torchvision_ddp/requirements.xpu.txt b/benchmarks/torchvision_ddp/requirements.xpu.txt index 7bcdca5be..9dd665ed2 100644 --- a/benchmarks/torchvision_ddp/requirements.xpu.txt +++ b/benchmarks/torchvision_ddp/requirements.xpu.txt @@ -1,5 +1,5 @@ # -# This file is autogenerated by pip-compile with Python 3.11 +# This file is autogenerated by pip-compile with Python 3.10 # by the following command: # # pip-compile --output-file=benchmarks/torchvision_ddp/requirements.xpu.txt .pin/tmp-constraints-xpu-torchvision.txt benchmarks/torchvision_ddp/requirements.in @@ -17,6 +17,14 @@ asttokens==2.4.1 # via # -c .pin/../.pin/constraints-xpu-torch.txt # giving +certifi==2024.6.2 + # via + # -c .pin/../.pin/constraints-xpu-torch.txt + # requests +charset-normalizer==3.3.2 + # via + # -c .pin/../.pin/constraints-xpu-torch.txt + # requests codefind==0.1.6 # via # -c .pin/../.pin/constraints-xpu-torch.txt @@ -25,12 +33,11 @@ executing==1.2.0 # via # -c .pin/../.pin/constraints-xpu-torch.txt # varname -filelock==3.14.0 +filelock==3.15.4 # via # -c .pin/../.pin/constraints-xpu-torch.txt # torch - # triton -fsspec==2023.1.0 +fsspec==2024.5.0 # via # -c .pin/../.pin/constraints-xpu-torch.txt # torch @@ -39,6 +46,10 @@ giving==0.4.2 # -c .pin/../.pin/constraints-xpu-torch.txt # ptera # voir +idna==3.7 + # via + # -c .pin/../.pin/constraints-xpu-torch.txt + # requests importlib-resources==6.4.0 # via # -c .pin/../.pin/constraints-xpu-torch.txt @@ -71,58 +82,6 @@ numpy==1.26.4 # via # -c .pin/../.pin/constraints-xpu-torch.txt # torchvision -nvidia-cublas-cu12==12.1.3.1 - # via - # -c .pin/../.pin/constraints-xpu-torch.txt - # nvidia-cudnn-cu12 - # nvidia-cusolver-cu12 - # torch -nvidia-cuda-cupti-cu12==12.1.105 - # via - # -c .pin/../.pin/constraints-xpu-torch.txt - # torch -nvidia-cuda-nvrtc-cu12==12.1.105 - # via - # -c .pin/../.pin/constraints-xpu-torch.txt - # torch -nvidia-cuda-runtime-cu12==12.1.105 - # via - # -c .pin/../.pin/constraints-xpu-torch.txt - # torch -nvidia-cudnn-cu12==8.9.2.26 - # via - # -c .pin/../.pin/constraints-xpu-torch.txt - # torch -nvidia-cufft-cu12==11.0.2.54 - # via - # -c .pin/../.pin/constraints-xpu-torch.txt - # torch -nvidia-curand-cu12==10.3.2.106 - # via - # -c .pin/../.pin/constraints-xpu-torch.txt - # torch -nvidia-cusolver-cu12==11.4.5.107 - # via - # -c .pin/../.pin/constraints-xpu-torch.txt - # torch -nvidia-cusparse-cu12==12.1.0.106 - # via - # -c .pin/../.pin/constraints-xpu-torch.txt - # nvidia-cusolver-cu12 - # torch -nvidia-nccl-cu12==2.20.5 - # via - # -c .pin/../.pin/constraints-xpu-torch.txt - # torch -nvidia-nvjitlink-cu12==12.5.40 - # via - # -c .pin/../.pin/constraints-xpu-torch.txt - # nvidia-cusolver-cu12 - # nvidia-cusparse-cu12 -nvidia-nvtx-cu12==12.1.105 - # via - # -c .pin/../.pin/constraints-xpu-torch.txt - # torch omegaconf==2.3.0 # via # -c .pin/../.pin/constraints-xpu-torch.txt @@ -131,7 +90,7 @@ ovld==0.3.5 # via # -c .pin/../.pin/constraints-xpu-torch.txt # voir -pillow==10.3.0 +pillow==10.4.0 # via # -c .pin/../.pin/constraints-xpu-torch.txt # torchvision @@ -147,7 +106,7 @@ pygments==2.18.0 # via # -c .pin/../.pin/constraints-xpu-torch.txt # rich -pynvml==11.5.0 +pynvml==11.5.3 # via # -c .pin/../.pin/constraints-xpu-torch.txt # voir @@ -159,6 +118,10 @@ reactivex==4.0.4 # via # -c .pin/../.pin/constraints-xpu-torch.txt # giving +requests==2.32.3 + # via + # -c .pin/../.pin/constraints-xpu-torch.txt + # torchvision rich==13.7.1 # via # -c .pin/../.pin/constraints-xpu-torch.txt @@ -167,23 +130,22 @@ six==1.16.0 # via # -c .pin/../.pin/constraints-xpu-torch.txt # asttokens -sympy==1.12.1 +sympy==1.13.0 # via # -c .pin/../.pin/constraints-xpu-torch.txt # torch -torch==2.3.1 +torch==2.1.0.post2+cxx11.abi # via # -c .pin/../.pin/constraints-xpu-torch.txt # -c .pin/../constraints/xpu.txt # -r benchmarks/torchvision_ddp/requirements.in - # torchcompat # torchvision -torchcompat==1.0.2 +torchcompat==1.1.4 # via # -c .pin/../.pin/constraints-xpu-torch.txt # -c .pin/../constraints/xpu.txt # -r benchmarks/torchvision_ddp/requirements.in -torchvision==0.18.1 +torchvision==0.16.0.post2+cxx11.abi # via # -c .pin/../.pin/constraints-xpu-torch.txt # -c .pin/../constraints/xpu.txt @@ -192,15 +154,15 @@ tqdm==4.66.4 # via # -c .pin/../.pin/constraints-xpu-torch.txt # -r benchmarks/torchvision_ddp/requirements.in -triton==2.3.1 - # via - # -c .pin/../.pin/constraints-xpu-torch.txt - # torch typing-extensions==4.12.2 # via # -c .pin/../.pin/constraints-xpu-torch.txt # reactivex # torch +urllib3==1.26.19 + # via + # -c .pin/../.pin/constraints-xpu-torch.txt + # requests varname==0.10.0 # via # -c .pin/../.pin/constraints-xpu-torch.txt diff --git a/benchmarks/torchvision_ddp/voirfile.py b/benchmarks/torchvision_ddp/voirfile.py index 04ab07b99..291a1beff 100644 --- a/benchmarks/torchvision_ddp/voirfile.py +++ b/benchmarks/torchvision_ddp/voirfile.py @@ -1,5 +1,9 @@ from voir.phase import StopProgram +from voir import configurable +from voir.phase import StopProgram + + @configurable def instrument_main(ov): diff --git a/benchmate/benchmate/benchrun.py b/benchmate/benchmate/benchrun.py new file mode 100644 index 000000000..80c56758a --- /dev/null +++ b/benchmate/benchmate/benchrun.py @@ -0,0 +1,53 @@ +#!/usr/bin/env python3 + +import os +import subprocess + +from torch.distributed.run import main as torchrun +import torch.distributed.elastic.multiprocessing.api as elastic +import torch.distributed.elastic.multiprocessing.subprocess_handler as sub + + +class NewSubprocessHandler(sub.SubprocessHandler): + def _popen(self, args, env) -> subprocess.Popen: + kwargs = {} + + if fd := os.getenv("DATA_FD"): + kwargs["pass_fds"] = [int(fd)] + + return subprocess.Popen( + args=args, + env=env, + stdout=self._stdout, + stderr=self._stderr, + **kwargs, + ) + +def get_subprocess_handler( + entrypoint: str, + args, + env, + stdout: str, + stderr: str, + local_rank_id: int, +): + return NewSubprocessHandler( + entrypoint=entrypoint, + args=args, + env=env, + stdout=stdout, + stderr=stderr, + local_rank_id=local_rank_id, + ) + + +def main(args=None): + elastic.get_subprocess_handler = get_subprocess_handler + elastic.SubprocessHandler = NewSubprocessHandler + + torchrun(args) + + + +if __name__ == "__main__": + main() diff --git a/benchmate/benchmate/dataloader.py b/benchmate/benchmate/dataloader.py index f29eae79a..c7cb998bc 100644 --- a/benchmate/benchmate/dataloader.py +++ b/benchmate/benchmate/dataloader.py @@ -166,12 +166,12 @@ def image_transforms(): return data_transforms -def pytorch(folder, batch_size, num_workers, distributed=False, epochs=60): +def pytorch(folder, batch_size, num_workers, distributed=False, epochs=60, rank=None, world_size=None): train = datasets.ImageFolder(folder, image_transforms()) kwargs = {"shuffle": True} if distributed: - kwargs["sampler"] = DistributedSampler(train) + kwargs["sampler"] = DistributedSampler(train, rank=rank, num_replicas=world_size) kwargs["shuffle"] = False # The dataloader needs a warmup sometimes @@ -262,4 +262,99 @@ def imagenet_dataloader(args, model, rank=0, world_size=1): if args.loader == "dali": return dali(folder, args.batch_size, args.num_workers, rank, world_size) - return pytorch(folder, args.batch_size, args.num_workers, world_size > 1) + return pytorch(folder, args.batch_size, args.num_workers, + distributed=world_size > 1, rank=rank, world_size=world_size) + + + +from dataclasses import dataclass, asdict +from copy import deepcopy + +@dataclass +class Dataloader: + """ + + Specify the common configuration of the dataloader + >>> helper = LazyDataLoader(num_workers=8, pin_memory=True, collate_fn) + + Instantiate the loader for each split + >>> train = helper.dataloader(train, batch_size=128, shuffle=True) + + >>> vali = helper.dataloader(validation, batch_size=1024, shuffle=False) + + """ + @dataclass + class Arguments: + batch_size: int = 1 + shuffle: bool = False + num_workers: int = 0 + pin_memory: bool = False + drop_last: bool = False + timeout: float = 0 + prefetch_factor: int = None + persistent_workers: bool = False + pin_memory_device: str = '' + + argparse_arguments = Arguments() + + def __init__(self, + dataset: 'Dataset', + sampler: 'Sampler' = None, + batch_sampler: 'BatchSampler' = None, + generator=None, + worker_init_fn=None, + multiprocessing_context=None, + collate_fn=None, + **kwargs + ): + self.base_args = { + "dataset": dataset, + "sampler": sampler, + "batch_sampler": batch_sampler, + "generator": generator, + "worker_init_fn": worker_init_fn, + "multiprocessing_context": multiprocessing_context, + "collate_fn": collate_fn, + **kwargs + } + + defaults = asdict(Dataloader.Arguments()) + argparse = asdict(self.argparse_arguments) + + for k in defaults.keys(): + vdef = defaults.get(k) + vset = argparse.get(k) + vcode = self.base_args.get(k) + + if vcode is None: + self.base_args[k] = vset + else: + # code set the arguments and it is different from the default + if vcode != vdef and vset == vdef: + self.base_args[k] = vcode + + # code set the arguments but it is the default + if vcode == vdef and vset != vdef: + self.base_args[k] = vset + + if vcode != vdef and vset != vdef: + print(f"ambiguous value for {k} code set {vcode} argparse set {vset} default is {vdef}") + self.base_args[k] = vset + + def dataloader(self, **kwargs): + from torch.utils.data import DataLoader + args = deepcopy(self.base_args) + args.update(kwargs) + return DataLoader(**args) + + def train(self, **kwargs): + kwargs.setdefault("shuffle", True) + return self.dataloader(**kwargs) + + def validation(self, **kwargs): + kwargs.setdefault("shuffle", False) + return self.dataloader(**kwargs) + + def test(self, **kwargs): + kwargs.setdefault("shuffle", False) + return self.dataloader(**kwargs) \ No newline at end of file diff --git a/benchmate/benchmate/metrics.py b/benchmate/benchmate/metrics.py index d98fc090c..e1ca5480c 100644 --- a/benchmate/benchmate/metrics.py +++ b/benchmate/benchmate/metrics.py @@ -39,6 +39,7 @@ def give_push(): if ov is not None: return ov.give + print("No overseer found") return file_push() @@ -73,7 +74,8 @@ def materialize(self, *args, **kwargs): def push(self, pusher): """Iterate through data and push metrics.""" for args, kwargs in self.delayed: - pusher(**self.materialize(*args, **kwargs)) + data = self.materialize(*args, **kwargs) + pusher(**data) self.delayed = [] @@ -148,6 +150,15 @@ def default_event(): return CPUTimer() +def default_device(): + try: + import torchcompat.core as accelerator + return accelerator.fetch_device(int(os.getenv("LOCAL_RANK", 0))) + except: + print("Could not find a device") + return None + + class TimedIterator: """Time the body of a loop, ignoring the time it took to initialize the iterator.` The timings are measured using `torch.cuda.Event` to avoid explicit sync. @@ -214,9 +225,9 @@ def __init__( self, loader, event_fn=default_event(), - rank=0, + rank=int(os.getenv("RANK", 0)), push=file_push(), - device=None, + device=default_device(), earlystop=earlystop_count(), raise_stop_program=False, batch_size_fn=None, @@ -238,9 +249,8 @@ def __init__( self.batch_size_fn = batch_size_fn # Multi-GPU setup - self.rank = None + self.rank = rank self.device = device - self.world_size = 1 # Options self.raise_stop_program = ( @@ -368,6 +378,18 @@ def _push_profile_metrics(self): self.overhead = [] self.loader_init_time = [] + def __del__(self): + try: + if self.events: + self._push() + except ValueError as err: + print("Some events could not be pushed because: ", str(err)) + def __enter__(self): + return self + + def __exit__(self, *args): + self._push() + def _push(self): """Push all the accumulated metrics""" diff --git a/benchmate/benchmate/observer.py b/benchmate/benchmate/observer.py index 83a6dfa08..92f587896 100644 --- a/benchmate/benchmate/observer.py +++ b/benchmate/benchmate/observer.py @@ -1,3 +1,5 @@ +import os + from voir.helpers import current_overseer from .metrics import LazyLossPusher, TimedIterator, give_push, sumggle_push @@ -28,7 +30,7 @@ def __init__( backward_callback=None, step_callback=None, stdout=False, - rank=None, + rank=int(os.getenv("RANK", 0)), **kwargs, ): self.wrapped = None @@ -40,7 +42,7 @@ def __init__( self.task = "train" self.rank = rank self.losses = LazyLossPusher(self.task) - + self.instance = None self.pusher = give_push() if self.stdout: self.pusher = sumggle_push() @@ -50,7 +52,7 @@ def on_iterator_stop_iterator(self): self.losses.push(self.pusher) def record_loss(self, loss): - if self.rank is None or self.rank == 1: + if self.rank is None or self.rank == 0: self.losses.record(loss) return loss @@ -72,11 +74,15 @@ def iterate(self, iterator): def loader(self, loader): """Wrap a dataloader or an iterable which enable accurate measuring of time spent in the loop's body""" + if self.instance: + return self.instance + self.wrapped = TimedIterator( loader, *self.args, rank=self.rank, push=self.pusher, **self.kwargs ) self.wrapped.task = self.task self.wrapped.on_iterator_stop_iterator = self.on_iterator_stop_iterator + self.instance = self.wrapped return self.wrapped def criterion(self, criterion): @@ -108,5 +114,12 @@ def new_step(*args, **kwargs): original(*args, **kwargs) self.optimizer_step_callback() + # wow + # pytorch does + # instance_ref = weakref.ref(method.__self__) + # where + # method == self.optimizer.step + new_step.__self__ = optimizer.step.__self__ + new_step.__func__ = optimizer.step.__func__ optimizer.step = new_step return optimizer diff --git a/benchmate/benchmate/warden.py b/benchmate/benchmate/warden.py index 395648ea6..afc4b0a7a 100644 --- a/benchmate/benchmate/warden.py +++ b/benchmate/benchmate/warden.py @@ -79,11 +79,19 @@ def _default(): } +def safe_get_gpu_info(): + try: + return get_gpu_info() + except: + traceback.print_exc() + return {} + + class GPUProcessWarden: """Ensure all the process using the GPU are killed before & after the bench""" def __init__(self, kill_on_start=True, kill_on_end=True): - self.gpus = get_gpu_info() + self.gpus = safe_get_gpu_info() self.arch = self.gpus.get("arch", "cpu") self.fetch_fun = backends.get(self.arch, _default) self.kill_on_start = kill_on_start diff --git a/benchmate/pyproject.toml b/benchmate/pyproject.toml index 3b59a17ee..a5fd339d9 100644 --- a/benchmate/pyproject.toml +++ b/benchmate/pyproject.toml @@ -22,3 +22,7 @@ combine_as_imports = true [tool.poetry-git-version-plugin] alpha_version_format = '{version}a{distance}+{commit_hash}' + + +[tool.poetry.scripts] +benchrun = "benchmate.benchrun:main" \ No newline at end of file diff --git a/config/base.yaml b/config/base.yaml index 29c9163a5..e47a78648 100644 --- a/config/base.yaml +++ b/config/base.yaml @@ -135,6 +135,12 @@ _accelerate_opt: method: njobs n: 1 + # Accelerate + # accelerate: + # - --mixed_precision=bf16 + # - --dynamo_backend=no + # - --gradient_accumulation_steps=1 + # Script Args argv: --max_train_steps: 100 @@ -144,13 +150,13 @@ _accelerate_opt: --validation_split_percentage: 5 --per_gpu_batch_size: 1 --cpus_per_gpu: "auto({n_worker}, 8)" + --cache: "{milabench_cache}" # --model_name: "facebook/opt-2.7b" # --model_name: "facebook/opt-1.3b" # --model_name: "facebook/opt-350m" # --model_name: "facebook/opt-125m" # Accelerate Args - gradient_accumulation_steps: 1 use_deepspeed: true num_machines: 1 @@ -644,3 +650,46 @@ brax: --batch-size: 1024 --num-minibatches: 32 --num-envs: 8192 + + +_diffusion: + inherits: _defaults + definition: ../benchmarks/diffusion + install_group: torch + + argv: + --train_batch_size: 32 + --num_epochs: 5 + +diffusion-gpus: + inherits: _diffusion + + num_machines: 1 + plan: + method: njobs + n: 1 + + +_lightning: + inherits: _defaults + definition: ../benchmarks/lightning + install_group: torch + argv: + --epochs: 10 + --num-workers: "auto({n_worker}, 8)" + --loader: pytorch + --data: "{milabench_data}/FakeImageNet" + --model: resnet152 + +lightning: + inherits: _lightning + num_machines: 1 + plan: + method: per_gpu + +lightning-gpus: + inherits: _lightning + num_machines: 1 + plan: + method: njobs + n: 1 diff --git a/config/slurm.yaml b/config/slurm.yaml index fe6c7a631..6d7fa8a5b 100644 --- a/config/slurm.yaml +++ b/config/slurm.yaml @@ -14,6 +14,7 @@ multi-node-full: - --time=2:00:00 - --ntasks-per-node=1 - --mem=0 + - --export=ALL,MILABENCH_SIZER_AUTO=0 single-node-full: # DGX run: 1 node x 8 A100 80Go SXM4 @@ -27,27 +28,82 @@ single-node-full: - --time=1:30:00 - --ntasks-per-node=1 - --mem=0 + - --export=ALL,MILABENCH_SIZER_AUTO=0 -multi-node-small: - # Any GPU, 2 nodes x 2 GPU +# +# +# +single-node-small: + # Any GPU, 1 node x 2 GPU - --partition=staff-idt - --ntasks=1 - --gpus-per-task=2 - --exclusive - - --nodes=2 + - --nodes=1 - --cpus-per-task=16 - --time=1:30:00 - --ntasks-per-node=1 - --mem=128G + - --export=ALL,MILABENCH_SIZER_AUTO=1,MILABENCH_SIZER_MULTIPLE=8 -single-node-small: - # Any GPU, 1 node x 2 GPU + +multi-node-small: + # rtx8000, 2 nodes x 2 GPU - --partition=staff-idt + - --gpus-per-task=rtx8000:2 - --ntasks=1 - - --gpus-per-task=2 - --exclusive - - --nodes=1 + - --nodes=2 - --cpus-per-task=16 - --time=1:30:00 - --ntasks-per-node=1 - --mem=128G + - --export=ALL,MILABENCH_SIZER_AUTO=1,MILABENCH_SIZER_MULTIPLE=8 + +# +# RTS 48Go +# +multi-node-rtx: + - --partition=staff-idt + - --gpus-per-task=rtx8000:8 + - --ntasks=1 + - --exclusive + - --nodes=2 + - --cpus-per-task=64 + - --time=1:30:00 + - --ntasks-per-node=1 + - --mem=0 + - --exclusive + - --export=ALL,MILABENCH_SIZER_AUTO=1,MILABENCH_SIZER_MULTIPLE=8 + +# +# V100 - 32 Go +# +multi-node-v100: + - --partition=staff-idt + - --gpus-per-task=v100:8 + - --ntasks=1 + - --exclusive + - --nodes=2 + - --cpus-per-task=40 + - --time=1:30:00 + - --ntasks-per-node=1 + - --mem=0 + - --exclusive + - --export=ALL,MILABENCH_SIZER_AUTO=1,MILABENCH_SIZER_MULTIPLE=8 + +# +# Small A100 - 40Go +# +multi-node-a100: + - --partition=staff-idt + - --gpus-per-task=a100:8 + - --ntasks=1 + - --exclusive + - --nodes=2 + - --cpus-per-task=128 + - --time=1:30:00 + - --ntasks-per-node=1 + - --mem=0 + - --exclusive + - --export=ALL,MILABENCH_SIZER_AUTO=1,MILABENCH_SIZER_MULTIPLE=8 \ No newline at end of file diff --git a/milabench/_version.py b/milabench/_version.py index c43a834de..2b0595841 100644 --- a/milabench/_version.py +++ b/milabench/_version.py @@ -1,5 +1,5 @@ """This file is generated, do not modify""" -__tag__ = "v0.1.0-24-gdd7f3888" -__commit__ = "dd7f3888ac0524b3b587e415d1de0e2019cd751f" -__date__ = "2024-07-03 16:07:47 -0400" +__tag__ = "v0.1.0-36-g67047d6f" +__commit__ = "67047d6f4634ac37ad861b53e35afb088a05dcc2" +__date__ = "2024-07-23 13:58:00 -0400" diff --git a/milabench/cli/run.py b/milabench/cli/run.py index c59e7e6df..f5e75b702 100644 --- a/milabench/cli/run.py +++ b/milabench/cli/run.py @@ -63,6 +63,15 @@ def arguments(): return Arguments(run_name, repeat, fulltrace, report, dash, noterm, validations) + +def _fetch_arch(mp): + try: + arch = next(iter(mp.packs.values())).config["system"]["arch"] + except StopIteration: + print("no selected bench") + return None + + @tooled def cli_run(args=None): """Run the benchmarks.""" @@ -78,7 +87,7 @@ def cli_run(args=None): }.get(args.dash, None) mp = get_multipack(run_name=args.run_name) - arch = next(iter(mp.packs.values())).config["system"]["arch"] + arch = _fetch_arch(mp) # Initialize the backend here so we can retrieve GPU stats init_arch(arch) diff --git a/milabench/commands/__init__.py b/milabench/commands/__init__.py index 76bec08b9..52d8bfd32 100644 --- a/milabench/commands/__init__.py +++ b/milabench/commands/__init__.py @@ -16,6 +16,7 @@ from ..merge import merge from ..utils import select_nodes from .executors import execute_command +from ..system import option def clone_with(cfg, new_cfg): @@ -58,6 +59,29 @@ def __init__(self, pack_or_exec: Command | pack.BasePackage, **kwargs) -> None: self._kwargs = kwargs + def use_stdout(self): + self.set_run_options(use_stdout=True) + return self + + def set_run_options(self, **kwargs): + self.options.update(kwargs) + return self + + @property + def options(self): + if self._pack: + return self._kwargs + + if self.exec: + # recursively retrieve options + # this relies on dict insertion order + opt = dict() + opt.update(self.exec.options) + opt.update(self._kwargs) + return opt + + return self._kwargs + @property def pack(self) -> pack.BasePackage: if self._pack: @@ -103,12 +127,23 @@ def commands(self) -> Generator[Tuple[pack.BasePackage, List, Dict], None, None] command line's arguments and the `Command`'s kwargs to send to `pack.BasePackage.execute()` """ - yield self.pack, [], self.kwargs() + yield self.pack, [], self.options async def execute(self, phase="run", timeout=False, timeout_delay=600, **kwargs): """Execute all the commands and return the aggregated results""" return await execute_command(self, phase, timeout, timeout_delay, **kwargs) + def __repr__(self) -> str: + typename = f"{type(self).__name__}" + frags = [] + if self._pack: + frags.append("pack") + + if self.exec: + frags.append(repr(self.exec)) + + return f"{typename}({', '.join(frags)})" + class SingleCmdCommand(Command): def argv(self, **kwargs) -> List: @@ -124,7 +159,7 @@ def argv(self, **kwargs) -> List: return self._argv(**kwargs) def commands(self) -> Generator[Tuple[pack.BasePackage, List, Dict], None, None]: - yield self.pack, self.argv(), self.kwargs() + yield self.pack, self.argv(), self.options def _argv(self, **kwargs) -> List: del kwargs @@ -141,7 +176,14 @@ class ListCommand(Command): def __init__(self, *executors: Tuple[Command], **kwargs) -> None: super().__init__(None, **kwargs) - self.executors = executors + # Note: it is better to use the function for it + # since it will generate the executors when needed + # allowing the environment to be modified/updated + self._executors = executors + + @property + def executors(self): + return self._executors @property def pack(self): @@ -155,6 +197,25 @@ def packs(self): for exec in self.executors: yield from exec.packs() + def __repr__(self): + typename = f"{type(self).__name__}" + frags = [] + for e in self.executors: + frags.append(repr(e)) + return f"{typename}([{', '.join(frags)}])" + + def set_run_options(self, **kwargs): + for exec in self._executors: + exec.set_run_options(**kwargs) + return self + + def copy(self, pack): + """Copy the execution plan but use a different pack""" + copy = deepcopy(self) + for e in copy._executors: + e._set_pack(pack) + return copy + class CmdCommand(SingleCmdCommand): """Execute a command @@ -450,41 +511,162 @@ def _argv(self, **kwargs) -> List: return argv -class TorchRunCommand(WrapperCommand): - def __init__(self, executor: SingleCmdCommand, *torchrun_argv, **kwargs) -> None: + +class TorchrunAllGPU(WrapperCommand): + def __init__(self, executor: SingleCmdCommand, *torchrun_argv, module=False, **kwargs) -> None: # Some vendors force us to have weird venv that can resolve weirdly # use absolute paths to avoid issues binfolder = executor.pack.config["dirs"]["venv"] + self.module=module + + # benchrun is a wrapper around torchrun + # which insert voir file descritor super().__init__( - executor, f"{binfolder}/bin/torchrun", *torchrun_argv, **kwargs + executor, f"{binfolder}/bin/benchrun", *torchrun_argv, **kwargs ) def _argv(self, **kwargs): devices = self.pack.config.get("devices", []) nproc = len(devices) if nproc > 1: - argv = [*super()._argv(**kwargs), f"--nproc_per_node={nproc}"] + # spawn,fork,forkserver + argv = [ + *super()._argv(**kwargs), + f"--nproc-per-node={nproc}", + # "--start-method=forkserver" + ] # Check if the sub-executor targets a module or not cmd = next(iter(self.exec.argv()), None) - if cmd: - # python or voir; tell it to not prepend python since we are doing it - if cmd in ("python", "voir"): - argv.append("--no-python") + if self.module: + argv.append("-m") + + else: + if cmd: + # python or voir; tell it to not prepend python since we are doing it + if cmd in ("python", "voir"): + argv.append("--no-python") - # if the command exists and it is not a path assume it is a module - # script is not a file, maybe it is a module - elif not XPath(cmd).exists(): - argv.append("-m") + # if the command exists and it is not a path assume it is a module + # script is not a file, maybe it is a module + elif not XPath(cmd).exists(): + argv.append("-m") - # everything after torchrun args are script args - argv.append("--") + # everything after torchrun args are script args + argv.append("--") + return argv return [] +class ForeachNode(ListCommand): + def __init__(self, executor: Command, **kwargs) -> None: + super().__init__(None, **kwargs) + self.options.update(kwargs) + self.executor = executor + + def make_new_node_pack(self, rank, node, base) -> "BasePackage": + """Make a new environment/config for the run""" + config = base.pack.config + tags = [*config["tag"], node["name"]] + + # Workers do not send training data + # tag it as such so validation can ignore this pack + if rank != 0: + tags.append("nolog") + + run = clone_with(config, {"tag": tags}) + return base.pack.copy(run) + + def make_new_node_executor(self, rank, node, base): + """Make a new environment and create a new executor for the node""" + pack = self.make_new_node_pack(rank, node, base) + return base.copy(pack) + + def single_node(self): + return self.executor + + @property + def executors(self): + """Build the executor lazyly when necessary so we get the latest config""" + executors = [] + + config = self.executor.pack.config + + max_num = config.get("num_machines", 1) + self.nodes = select_nodes(config["system"]["nodes"], max_num) + key = config["system"].get("sshkey") + + # useless in single node setups + if len(self.nodes) == 1 or max_num == 1: + return [self.single_node()] + + for rank, node in enumerate(self.nodes): + options = dict() + + # Hummm... + if rank == 0: + options = dict( + setsid=True, + **self.options + ) + + worker = SSHCommand( + host=node["ip"], + user=node["user"], + key=key, + port=node.get("port", 22), + executor=self.make_new_node_executor(rank, node, self.executor), + **options + ) + executors.append(worker) + return executors + + def set_run_options(self, **kwargs): + self.executor.set_run_options(**kwargs) + return self + + def copy(self, pack): + """Copy the execution plan but use a different pack""" + copy = deepcopy(self) + copy.executor._set_pack(pack) + return copy + + +class TorchrunAllNodes(ForeachNode): + """executes torchrun on multiple machines""" + def __init__(self, executor: Command, **kwargs) -> None: + + config = executor.pack.config + max_num = config.get("num_machines", 1) + self.nodes = select_nodes(config["system"]["nodes"], max_num) + + main = self.nodes[0] + + # node[port] is for SSH + main_host = main["ip"] + # add them as option so we could tweak them if necessary + main_port = option("torchrun.port", int, default=29400) + backend = option("torchrun.backend", str, default="c10d") + + main_addr = f"{main_host}:{main_port}" + base_exec = TorchrunAllGPU( + executor, + f"--nnodes={len(self.nodes)}", + f"--rdzv-backend={backend}", + f"--rdzv-endpoint={main_addr}", + f"--master-addr={main_host}", + f"--master-port={main_port}", + **kwargs + ) + + super().__init__(base_exec) + + +TorchRunCommand = TorchrunAllGPU + use_voir = True @@ -504,14 +686,23 @@ class VoirCommand(WrapperCommand): executor: `Command` to be executed *voir_argv: voir command line arguments list **kwargs: kwargs to be passed to the `pack.execute()` + module: bool use voir module instead of voir wrapper. + this is useful for torchrun since when a module is used + the main torchrun process can be reused for rank=0 enabling + voir to work using file descriptor. """ - def __init__(self, executor: SingleCmdCommand, *voir_argv, **kwargs) -> None: + def __init__(self, executor: SingleCmdCommand, *voir_argv, module=False, **kwargs) -> None: # Some vendors force us to have weird venv that can resolve weirdly # use absolute paths to avoid issues binfolder = executor.pack.config["dirs"]["venv"] + voir = f"{binfolder}/bin/voir" + + if module: + voir = "voir" + super().__init__( - executor, f"{binfolder}/bin/voir", **{"setsid": True, **kwargs} + executor, voir, **{"setsid": True, **kwargs} ) self.voir_argv = voir_argv @@ -648,6 +839,43 @@ def _argv(self, **_) -> List: return [f"{self.pack.dirs.code / 'activator'}", f"{self.pack.dirs.venv}"] + +class AccelerateAllNodes(ForeachNode): + def __init__(self, *args, **kwargs) -> None: + super().__init__(*args, **kwargs) + + def single_node(self): + ngpu = len(self.executor.pack.config.get("devices", [])) + + # Multi GPU + if ngpu > 1: + return AccelerateLaunchCommand(self.executor, rank=0, **self.options) + + # Single GPU + return self.executor + + def make_new_node_executor(self, rank, node, base): + config = base.pack.config + + pack = self.make_new_node_pack(rank, node, base) + + return DockerRunCommand( + AccelerateLaunchCommand(pack, rank=rank), + config["system"].get("docker_image"), + ) + + +def activator_script(): + """Scripts that activate the venv just before executing a script + + Useful for commands that SSH somewhere and need to execute a command in a particular venv + """ + + path = XPath(__file__).parent.parent / "scripts" / "activator" + assert path.exists() + return str(path) + + # Accelerate class AccelerateLaunchCommand(SingleCmdCommand): """Execute a `pack.BasePackage` with Accelerate @@ -676,28 +904,32 @@ def _argv(self, **_) -> List: num_machines = max(1, len(nodes) + 1) - ngpu = len(get_gpu_info()["gpus"].values()) + # Cant do that maybe this run is constrained + # ngpu = len(get_gpu_info()["gpus"].values()) + + ngpu = len(self.pack.config["devices"]) nproc = ngpu * num_machines assert nproc > 0, f"nproc: {nproc} num_machines: {num_machines} ngpu: {ngpu}" - deepspeed_argv = ( - [ + if self.pack.config.get("use_deepspeed", False): + deepspeed_argv = [ "--use_deepspeed", "--deepspeed_multinode_launcher=standard", "--zero_stage=2", ] - if self.pack.config["use_deepspeed"] - else ["--multi_gpu"] - ) - - cpu_per_process = self.pack.resolve_argument('--cpus_per_gpu') + elif ngpu > 1: + deepspeed_argv = ["--multi_gpu"] + else: + deepspeed_argv = [] + + cpu_per_process = self.pack.resolve_argument('--cpus_per_gpu', 4) return [ # -- Run the command in the right venv # This could be inside the SSH Command # but it would need to be repeated for Docker # could be its own Command like VenvCommand that execute code # inside a specifc venv - f"{self.pack.dirs.code / 'activator'}", + activator_script(), f"{self.pack.dirs.venv}", # -- "accelerate", @@ -707,14 +939,10 @@ def _argv(self, **_) -> List: f"--machine_rank={self.rank}", f"--num_machines={num_machines}", *deepspeed_argv, - f"--gradient_accumulation_steps={self.pack.config['gradient_accumulation_steps']}", + f"--gradient_accumulation_steps={self.pack.config.get('gradient_accumulation_steps', 1)}", f"--num_cpu_threads_per_process={cpu_per_process}", f"--main_process_ip={manager['ip']}", f"--main_process_port={manager['port']}", f"--num_processes={nproc}", *self.accelerate_argv, - str(self.pack.dirs.code / "main.py"), - *self.pack.argv, - "--cache", - str(self.pack.dirs.cache), ] diff --git a/milabench/commands/executors.py b/milabench/commands/executors.py index fe03c33eb..f0402d29b 100644 --- a/milabench/commands/executors.py +++ b/milabench/commands/executors.py @@ -10,7 +10,7 @@ from ..syslog import syslog -async def execute(pack, *args, cwd=None, env={}, external=False, **kwargs): +async def execute(pack, *args, cwd=None, env={}, external=False, use_stdout=False, **kwargs): """Run a command in the virtual environment. Unless specified otherwise, the command is run with @@ -23,7 +23,7 @@ async def execute(pack, *args, cwd=None, env={}, external=False, **kwargs): from ..sizer import resolve_argv, scale_argv if cwd is None: - cwd = pack.dirs.code + cwd = pack.working_directory exec_env = pack.full_env(env) if not external else {**os.environ, **env} @@ -35,6 +35,7 @@ async def execute(pack, *args, cwd=None, env={}, external=False, **kwargs): return await run( final_args, **kwargs, + use_stdout=use_stdout, info={"pack": pack}, env=exec_env, constructor=BenchLogEntry, diff --git a/milabench/common.py b/milabench/common.py index f08320f80..5849e05fe 100644 --- a/milabench/common.py +++ b/milabench/common.py @@ -22,7 +22,7 @@ from .multi import MultiPackage from .report import make_report from .summary import aggregate, make_summary -from .system import build_system_config +from .system import build_system_config, option def get_pack(defn): @@ -149,11 +149,11 @@ def get_base_defaults(base, arch="none", run_name="none"): }, "dirs": { "base": base, - "venv": "${dirs.base}/venv/${install_group}", - "data": "${dirs.base}/data", - "runs": "${dirs.base}/runs", - "extra": "${dirs.base}/extra/${group}", - "cache": "${dirs.base}/cache", + "venv": option("dirs.venv", str, default="${dirs.base}/venv/${install_group}"), + "data": option("dirs.data", str, default="${dirs.base}/data"), + "runs": option("dirs.runs", str, default="${dirs.base}/runs"), + "extra": option("dirs.extra", str, default="${dirs.base}/extra/${group}"), + "cache": option("dirs.cache", str, default="${dirs.base}/cache"), }, "group": "${name}", "install_group": "${group}", diff --git a/milabench/config.py b/milabench/config.py index f61d1175c..ebc041060 100644 --- a/milabench/config.py +++ b/milabench/config.py @@ -1,10 +1,6 @@ import contextvars -import os -import socket from copy import deepcopy -import psutil -from copy import deepcopy import yaml from omegaconf import OmegaConf diff --git a/milabench/log.py b/milabench/log.py index 3ff9e52c7..167bab2f3 100644 --- a/milabench/log.py +++ b/milabench/log.py @@ -178,7 +178,7 @@ def file(self, entry): if entry.tag not in self.files: file = entry.pack.logfile(self.pipe) os.makedirs(XPath(file).parent, exist_ok=True) - self.files[entry.tag] = open(file, "w").__enter__() + self.files[entry.tag] = open(file, "a").__enter__() return self.files[entry.tag] def log(self, entry): diff --git a/milabench/metadata.py b/milabench/metadata.py index a3bacacf3..3aae4d612 100644 --- a/milabench/metadata.py +++ b/milabench/metadata.py @@ -3,6 +3,7 @@ import subprocess import traceback import datetime +import functools import cpuinfo from voir.instruments.gpu import get_gpu_info @@ -36,6 +37,7 @@ def fetch_torch_version(pack): return json.loads(result.stdout) +@functools.cache @error_guard({}) def machine_metadata(pack=None): """Retrieve machine metadata""" diff --git a/milabench/multi.py b/milabench/multi.py index adb5886cf..b09eeecca 100644 --- a/milabench/multi.py +++ b/milabench/multi.py @@ -196,6 +196,8 @@ async def do_run(self, repeat=1): continue exec_plan = make_execution_plan(pack, index, repeat) + + print(repr(exec_plan)) await exec_plan.execute("run", timeout=True, timeout_delay=600) except Exception as exc: diff --git a/milabench/pack.py b/milabench/pack.py index 5ad45ccff..214b4c7e1 100644 --- a/milabench/pack.py +++ b/milabench/pack.py @@ -310,6 +310,10 @@ def requirements_map(self, variant=None): def requirements_files(self, variant=None): return list(self.requirements_map(variant).values()) + @property + def working_directory(self): + return self.dirs.code + def make_env(self): """Return a dict of environment variables to use for prepare/run. @@ -506,10 +510,12 @@ def build_run_plan(self) -> "cmd.Command": pack = cmd.PackCommand(self, *self.argv, lazy=True) return cmd.VoirCommand(pack, cwd=main.parent) - def resolve_argument(self, name): + def resolve_argument(self, name, default): """Resolve as single placeholder argument""" - placeholder = str(self.config["argv"][name]) - return self.resolve_placeholder(placeholder) + placeholder = self.config.get("argv", {}).get(name) + if placeholder: + return self.resolve_placeholder(placeholder) + return default def resolve_placeholder(self, placeholder): """Resolve as single placeholder argument diff --git a/benchmarks/accelerate_opt/activator b/milabench/scripts/activator similarity index 100% rename from benchmarks/accelerate_opt/activator rename to milabench/scripts/activator diff --git a/milabench/system.py b/milabench/system.py index 01c9e3da6..35776946f 100644 --- a/milabench/system.py +++ b/milabench/system.py @@ -40,6 +40,27 @@ def _print(): warn_no_config = print_once("No system config found, using defaults") +_global_options = {} + +def _track_options(name, type, default, value): + """This is just a helper so command line can display the options""" + global _global_options + + try: + _global_options[name] = { + "type": type, + "default": default, + "value": value + } + except: + pass + + +def as_environment_variable(name): + frags = name.split(".") + return "MILABENCH_" + "_".join(map(str.upper, frags)) + + def option(name, etype, default=None): options = dict() system = system_global.get() @@ -49,7 +70,7 @@ def option(name, etype, default=None): warn_no_config() frags = name.split(".") - env_name = "MILABENCH_" + "_".join(map(str.upper, frags)) + env_name = as_environment_variable(name) env_value = getenv(env_name, etype) lookup = options @@ -59,6 +80,8 @@ def option(name, etype, default=None): system_value = lookup.get(frags[-1], None) final_value = env_value or system_value or default + _track_options(name, etype, default, final_value) + if final_value is None: return None try: @@ -81,12 +104,25 @@ def default_save_location(): @dataclass class SizerOptions: + # overrides the batch size to use for all benchmarks size: int = option("sizer.batch_size", int) + + # Enables auto batch resize autoscale: bool = option("sizer.auto", int, 0) + + # Constraint the batch size to be a multiple of a number multiple: int = option("sizer.multiple", int, 8) + + # Constraint the batch size to be a power of a specified base (usually 2) power: int = option("sizer.power", int) + + # Use the optimized batch size optimized: bool = option("sizer.optimized", int) + + # Set a target VRAM capacity to use capacity: str = option("sizer.capacity", str) + + # Save the batch size, VRM usage data to a scaling file save: str = option("sizer.save", str, None) @@ -107,10 +143,39 @@ class CPUOptions: n_workers: int = option("cpu.n_workers", int) +@dataclass +class DatasetConfig: + # If use buffer is true then datasets are copied to the buffer before running the benchmark + use_buffer: bool = option("data.use_buffer", bool, default=False) + + # buffer location to copy the datasets bfore running the benchmarks + buffer: str = option("data.buffer", str, default="${dirs.base}/buffer") + + +@dataclass +class Dirs: + """Common directories used by milabench. This can be used to override + location in case compute node do not have internet access.""" + venv: str = option("dirs.venv", str, default="${dirs.base}/venv/${install_group}") + data: str = option("dirs.data", str, default="${dirs.base}/data") + runs: str = option("dirs.runs", str, default="${dirs.base}/runs") + extra: str = option("dirs.extra", str, default="${dirs.base}/extra/${group}") + cache: str = option("dirs.cache", str, default="${dirs.base}/cache") + + +@dataclass +class Torchrun: + port: int = option("torchrun.port", int, default=29400) + backend: str = option("torchrun.backend", str, default="c10d") + + @dataclass class Options: sizer: SizerOptions cpu: CPUOptions + dataset: DatasetConfig + dirs: Dirs + torchrun: Torchrun @dataclass @@ -127,8 +192,14 @@ class Nodes: user: str +@dataclass +class Github: + pat: str = option("github.path", str, None) + + @dataclass class SystemConfig: + """This is meant to be an exhaustive list of all the environment overrides""" arch: str = getenv("MILABENCH_GPU_ARCH", str) sshkey: str = None docker_image: str = None @@ -136,6 +207,12 @@ class SystemConfig: gpu: GPUConfig = None options: Options = None + base: str = option("base", str, None) + config: str = option("config", str, None) + dash: bool = option("dash", bool, 1) + noterm: bool = option("noterm", bool, 0) + github: Github = None + def check_node_config(nodes): mandatory_fields = ["name", "ip", "user"] @@ -311,3 +388,47 @@ def build_system_config(config_file, defaults=None, gpu=True): system["self"] = self return config + + +def show_overrides(to_json=False): + import json + import copy + config = {} + + for name, value in _global_options.items(): + frags = name.split('.') + + dct = config + for p in frags[:-1]: + dct = dct.setdefault(p, dict()) + + val_name = frags[-1] + val = copy.deepcopy(value) + + val["type"] = str(val["type"].__name__) + dct[val_name] = val + val["env_name"] = as_environment_variable(name) + + def compact(d, depth): + for k, v in d.items(): + idt = " " * depth + + if "env_name" in v: + value = v["value"] + default = v["default"] + if value != default: + print(f"{idt}{k:<{30 - len(idt)}}: {str(value):<40} (default={default})") + else: + print(f"{idt}{k:<{30 - len(idt)}}: {str(value):<40} {v['env_name']}") + else: + print(f"{idt}{k}:") + compact(v, depth + 1) + + if to_json: + print(json.dumps(config, indent=2)) + else: + compact(config, 0) + + +if __name__ == "__main__": + show_overrides() diff --git a/poetry.lock b/poetry.lock index 03d3c80e3..dae2f20fd 100644 --- a/poetry.lock +++ b/poetry.lock @@ -160,6 +160,8 @@ mypy-extensions = ">=0.4.3" packaging = ">=22.0" pathspec = ">=0.9.0" platformdirs = ">=2" +tomli = {version = ">=1.1.0", markers = "python_version < \"3.11\""} +typing-extensions = {version = ">=4.0.1", markers = "python_version < \"3.11\""} [package.extras] colorama = ["colorama (>=0.4.3)"] @@ -196,8 +198,10 @@ files = [ [package.dependencies] colorama = {version = "*", markers = "os_name == \"nt\""} +importlib-metadata = {version = ">=4.6", markers = "python_full_version < \"3.10.2\""} packaging = ">=19.1" pyproject_hooks = "*" +tomli = {version = ">=1.1.0", markers = "python_version < \"3.11\""} [package.extras] docs = ["furo (>=2023.08.17)", "sphinx (>=7.0,<8.0)", "sphinx-argparse-cli (>=1.5)", "sphinx-autodoc-typehints (>=1.10)", "sphinx-issues (>=3.0.0)"] @@ -389,65 +393,68 @@ development = ["black", "flake8", "mypy", "pytest", "types-colorama"] [[package]] name = "coverage" -version = "7.5.4" +version = "7.6.0" description = "Code coverage measurement for Python" optional = false python-versions = ">=3.8" files = [ - {file = "coverage-7.5.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:6cfb5a4f556bb51aba274588200a46e4dd6b505fb1a5f8c5ae408222eb416f99"}, - {file = "coverage-7.5.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:2174e7c23e0a454ffe12267a10732c273243b4f2d50d07544a91198f05c48f47"}, - {file = "coverage-7.5.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2214ee920787d85db1b6a0bd9da5f8503ccc8fcd5814d90796c2f2493a2f4d2e"}, - {file = "coverage-7.5.4-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1137f46adb28e3813dec8c01fefadcb8c614f33576f672962e323b5128d9a68d"}, - {file = "coverage-7.5.4-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b385d49609f8e9efc885790a5a0e89f2e3ae042cdf12958b6034cc442de428d3"}, - {file = "coverage-7.5.4-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:b4a474f799456e0eb46d78ab07303286a84a3140e9700b9e154cfebc8f527016"}, - {file = "coverage-7.5.4-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:5cd64adedf3be66f8ccee418473c2916492d53cbafbfcff851cbec5a8454b136"}, - {file = "coverage-7.5.4-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:e564c2cf45d2f44a9da56f4e3a26b2236504a496eb4cb0ca7221cd4cc7a9aca9"}, - {file = "coverage-7.5.4-cp310-cp310-win32.whl", hash = "sha256:7076b4b3a5f6d2b5d7f1185fde25b1e54eb66e647a1dfef0e2c2bfaf9b4c88c8"}, - {file = "coverage-7.5.4-cp310-cp310-win_amd64.whl", hash = "sha256:018a12985185038a5b2bcafab04ab833a9a0f2c59995b3cec07e10074c78635f"}, - {file = "coverage-7.5.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:db14f552ac38f10758ad14dd7b983dbab424e731588d300c7db25b6f89e335b5"}, - {file = "coverage-7.5.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:3257fdd8e574805f27bb5342b77bc65578e98cbc004a92232106344053f319ba"}, - {file = "coverage-7.5.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3a6612c99081d8d6134005b1354191e103ec9705d7ba2754e848211ac8cacc6b"}, - {file = "coverage-7.5.4-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d45d3cbd94159c468b9b8c5a556e3f6b81a8d1af2a92b77320e887c3e7a5d080"}, - {file = "coverage-7.5.4-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ed550e7442f278af76d9d65af48069f1fb84c9f745ae249c1a183c1e9d1b025c"}, - {file = "coverage-7.5.4-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:7a892be37ca35eb5019ec85402c3371b0f7cda5ab5056023a7f13da0961e60da"}, - {file = "coverage-7.5.4-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:8192794d120167e2a64721d88dbd688584675e86e15d0569599257566dec9bf0"}, - {file = "coverage-7.5.4-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:820bc841faa502e727a48311948e0461132a9c8baa42f6b2b84a29ced24cc078"}, - {file = "coverage-7.5.4-cp311-cp311-win32.whl", hash = "sha256:6aae5cce399a0f065da65c7bb1e8abd5c7a3043da9dceb429ebe1b289bc07806"}, - {file = "coverage-7.5.4-cp311-cp311-win_amd64.whl", hash = "sha256:d2e344d6adc8ef81c5a233d3a57b3c7d5181f40e79e05e1c143da143ccb6377d"}, - {file = "coverage-7.5.4-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:54317c2b806354cbb2dc7ac27e2b93f97096912cc16b18289c5d4e44fc663233"}, - {file = "coverage-7.5.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:042183de01f8b6d531e10c197f7f0315a61e8d805ab29c5f7b51a01d62782747"}, - {file = "coverage-7.5.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a6bb74ed465d5fb204b2ec41d79bcd28afccf817de721e8a807d5141c3426638"}, - {file = "coverage-7.5.4-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b3d45ff86efb129c599a3b287ae2e44c1e281ae0f9a9bad0edc202179bcc3a2e"}, - {file = "coverage-7.5.4-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5013ed890dc917cef2c9f765c4c6a8ae9df983cd60dbb635df8ed9f4ebc9f555"}, - {file = "coverage-7.5.4-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:1014fbf665fef86cdfd6cb5b7371496ce35e4d2a00cda501cf9f5b9e6fced69f"}, - {file = "coverage-7.5.4-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:3684bc2ff328f935981847082ba4fdc950d58906a40eafa93510d1b54c08a66c"}, - {file = "coverage-7.5.4-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:581ea96f92bf71a5ec0974001f900db495488434a6928a2ca7f01eee20c23805"}, - {file = "coverage-7.5.4-cp312-cp312-win32.whl", hash = "sha256:73ca8fbc5bc622e54627314c1a6f1dfdd8db69788f3443e752c215f29fa87a0b"}, - {file = "coverage-7.5.4-cp312-cp312-win_amd64.whl", hash = "sha256:cef4649ec906ea7ea5e9e796e68b987f83fa9a718514fe147f538cfeda76d7a7"}, - {file = "coverage-7.5.4-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:cdd31315fc20868c194130de9ee6bfd99755cc9565edff98ecc12585b90be882"}, - {file = "coverage-7.5.4-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:02ff6e898197cc1e9fa375581382b72498eb2e6d5fc0b53f03e496cfee3fac6d"}, - {file = "coverage-7.5.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d05c16cf4b4c2fc880cb12ba4c9b526e9e5d5bb1d81313d4d732a5b9fe2b9d53"}, - {file = "coverage-7.5.4-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c5986ee7ea0795a4095ac4d113cbb3448601efca7f158ec7f7087a6c705304e4"}, - {file = "coverage-7.5.4-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5df54843b88901fdc2f598ac06737f03d71168fd1175728054c8f5a2739ac3e4"}, - {file = "coverage-7.5.4-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:ab73b35e8d109bffbda9a3e91c64e29fe26e03e49addf5b43d85fc426dde11f9"}, - {file = "coverage-7.5.4-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:aea072a941b033813f5e4814541fc265a5c12ed9720daef11ca516aeacd3bd7f"}, - {file = "coverage-7.5.4-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:16852febd96acd953b0d55fc842ce2dac1710f26729b31c80b940b9afcd9896f"}, - {file = "coverage-7.5.4-cp38-cp38-win32.whl", hash = "sha256:8f894208794b164e6bd4bba61fc98bf6b06be4d390cf2daacfa6eca0a6d2bb4f"}, - {file = "coverage-7.5.4-cp38-cp38-win_amd64.whl", hash = "sha256:e2afe743289273209c992075a5a4913e8d007d569a406ffed0bd080ea02b0633"}, - {file = "coverage-7.5.4-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:b95c3a8cb0463ba9f77383d0fa8c9194cf91f64445a63fc26fb2327e1e1eb088"}, - {file = "coverage-7.5.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:3d7564cc09dd91b5a6001754a5b3c6ecc4aba6323baf33a12bd751036c998be4"}, - {file = "coverage-7.5.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:44da56a2589b684813f86d07597fdf8a9c6ce77f58976727329272f5a01f99f7"}, - {file = "coverage-7.5.4-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e16f3d6b491c48c5ae726308e6ab1e18ee830b4cdd6913f2d7f77354b33f91c8"}, - {file = "coverage-7.5.4-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dbc5958cb471e5a5af41b0ddaea96a37e74ed289535e8deca404811f6cb0bc3d"}, - {file = "coverage-7.5.4-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:a04e990a2a41740b02d6182b498ee9796cf60eefe40cf859b016650147908029"}, - {file = "coverage-7.5.4-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:ddbd2f9713a79e8e7242d7c51f1929611e991d855f414ca9996c20e44a895f7c"}, - {file = "coverage-7.5.4-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:b1ccf5e728ccf83acd313c89f07c22d70d6c375a9c6f339233dcf792094bcbf7"}, - {file = "coverage-7.5.4-cp39-cp39-win32.whl", hash = "sha256:56b4eafa21c6c175b3ede004ca12c653a88b6f922494b023aeb1e836df953ace"}, - {file = "coverage-7.5.4-cp39-cp39-win_amd64.whl", hash = "sha256:65e528e2e921ba8fd67d9055e6b9f9e34b21ebd6768ae1c1723f4ea6ace1234d"}, - {file = "coverage-7.5.4-pp38.pp39.pp310-none-any.whl", hash = "sha256:79b356f3dd5b26f3ad23b35c75dbdaf1f9e2450b6bcefc6d0825ea0aa3f86ca5"}, - {file = "coverage-7.5.4.tar.gz", hash = "sha256:a44963520b069e12789d0faea4e9fdb1e410cdc4aab89d94f7f55cbb7fef0353"}, + {file = "coverage-7.6.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:dff044f661f59dace805eedb4a7404c573b6ff0cdba4a524141bc63d7be5c7fd"}, + {file = "coverage-7.6.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:a8659fd33ee9e6ca03950cfdcdf271d645cf681609153f218826dd9805ab585c"}, + {file = "coverage-7.6.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7792f0ab20df8071d669d929c75c97fecfa6bcab82c10ee4adb91c7a54055463"}, + {file = "coverage-7.6.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d4b3cd1ca7cd73d229487fa5caca9e4bc1f0bca96526b922d61053ea751fe791"}, + {file = "coverage-7.6.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e7e128f85c0b419907d1f38e616c4f1e9f1d1b37a7949f44df9a73d5da5cd53c"}, + {file = "coverage-7.6.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:a94925102c89247530ae1dab7dc02c690942566f22e189cbd53579b0693c0783"}, + {file = "coverage-7.6.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:dcd070b5b585b50e6617e8972f3fbbee786afca71b1936ac06257f7e178f00f6"}, + {file = "coverage-7.6.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:d50a252b23b9b4dfeefc1f663c568a221092cbaded20a05a11665d0dbec9b8fb"}, + {file = "coverage-7.6.0-cp310-cp310-win32.whl", hash = "sha256:0e7b27d04131c46e6894f23a4ae186a6a2207209a05df5b6ad4caee6d54a222c"}, + {file = "coverage-7.6.0-cp310-cp310-win_amd64.whl", hash = "sha256:54dece71673b3187c86226c3ca793c5f891f9fc3d8aa183f2e3653da18566169"}, + {file = "coverage-7.6.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c7b525ab52ce18c57ae232ba6f7010297a87ced82a2383b1afd238849c1ff933"}, + {file = "coverage-7.6.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:4bea27c4269234e06f621f3fac3925f56ff34bc14521484b8f66a580aacc2e7d"}, + {file = "coverage-7.6.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ed8d1d1821ba5fc88d4a4f45387b65de52382fa3ef1f0115a4f7a20cdfab0e94"}, + {file = "coverage-7.6.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:01c322ef2bbe15057bc4bf132b525b7e3f7206f071799eb8aa6ad1940bcf5fb1"}, + {file = "coverage-7.6.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:03cafe82c1b32b770a29fd6de923625ccac3185a54a5e66606da26d105f37dac"}, + {file = "coverage-7.6.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:0d1b923fc4a40c5832be4f35a5dab0e5ff89cddf83bb4174499e02ea089daf57"}, + {file = "coverage-7.6.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:4b03741e70fb811d1a9a1d75355cf391f274ed85847f4b78e35459899f57af4d"}, + {file = "coverage-7.6.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:a73d18625f6a8a1cbb11eadc1d03929f9510f4131879288e3f7922097a429f63"}, + {file = "coverage-7.6.0-cp311-cp311-win32.whl", hash = "sha256:65fa405b837060db569a61ec368b74688f429b32fa47a8929a7a2f9b47183713"}, + {file = "coverage-7.6.0-cp311-cp311-win_amd64.whl", hash = "sha256:6379688fb4cfa921ae349c76eb1a9ab26b65f32b03d46bb0eed841fd4cb6afb1"}, + {file = "coverage-7.6.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:f7db0b6ae1f96ae41afe626095149ecd1b212b424626175a6633c2999eaad45b"}, + {file = "coverage-7.6.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:bbdf9a72403110a3bdae77948b8011f644571311c2fb35ee15f0f10a8fc082e8"}, + {file = "coverage-7.6.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9cc44bf0315268e253bf563f3560e6c004efe38f76db03a1558274a6e04bf5d5"}, + {file = "coverage-7.6.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:da8549d17489cd52f85a9829d0e1d91059359b3c54a26f28bec2c5d369524807"}, + {file = "coverage-7.6.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0086cd4fc71b7d485ac93ca4239c8f75732c2ae3ba83f6be1c9be59d9e2c6382"}, + {file = "coverage-7.6.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:1fad32ee9b27350687035cb5fdf9145bc9cf0a094a9577d43e909948ebcfa27b"}, + {file = "coverage-7.6.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:044a0985a4f25b335882b0966625270a8d9db3d3409ddc49a4eb00b0ef5e8cee"}, + {file = "coverage-7.6.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:76d5f82213aa78098b9b964ea89de4617e70e0d43e97900c2778a50856dac605"}, + {file = "coverage-7.6.0-cp312-cp312-win32.whl", hash = "sha256:3c59105f8d58ce500f348c5b56163a4113a440dad6daa2294b5052a10db866da"}, + {file = "coverage-7.6.0-cp312-cp312-win_amd64.whl", hash = "sha256:ca5d79cfdae420a1d52bf177de4bc2289c321d6c961ae321503b2ca59c17ae67"}, + {file = "coverage-7.6.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:d39bd10f0ae453554798b125d2f39884290c480f56e8a02ba7a6ed552005243b"}, + {file = "coverage-7.6.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:beb08e8508e53a568811016e59f3234d29c2583f6b6e28572f0954a6b4f7e03d"}, + {file = "coverage-7.6.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b2e16f4cd2bc4d88ba30ca2d3bbf2f21f00f382cf4e1ce3b1ddc96c634bc48ca"}, + {file = "coverage-7.6.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6616d1c9bf1e3faea78711ee42a8b972367d82ceae233ec0ac61cc7fec09fa6b"}, + {file = "coverage-7.6.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ad4567d6c334c46046d1c4c20024de2a1c3abc626817ae21ae3da600f5779b44"}, + {file = "coverage-7.6.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:d17c6a415d68cfe1091d3296ba5749d3d8696e42c37fca5d4860c5bf7b729f03"}, + {file = "coverage-7.6.0-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:9146579352d7b5f6412735d0f203bbd8d00113a680b66565e205bc605ef81bc6"}, + {file = "coverage-7.6.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:cdab02a0a941af190df8782aafc591ef3ad08824f97850b015c8c6a8b3877b0b"}, + {file = "coverage-7.6.0-cp38-cp38-win32.whl", hash = "sha256:df423f351b162a702c053d5dddc0fc0ef9a9e27ea3f449781ace5f906b664428"}, + {file = "coverage-7.6.0-cp38-cp38-win_amd64.whl", hash = "sha256:f2501d60d7497fd55e391f423f965bbe9e650e9ffc3c627d5f0ac516026000b8"}, + {file = "coverage-7.6.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:7221f9ac9dad9492cecab6f676b3eaf9185141539d5c9689d13fd6b0d7de840c"}, + {file = "coverage-7.6.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:ddaaa91bfc4477d2871442bbf30a125e8fe6b05da8a0015507bfbf4718228ab2"}, + {file = "coverage-7.6.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c4cbe651f3904e28f3a55d6f371203049034b4ddbce65a54527a3f189ca3b390"}, + {file = "coverage-7.6.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:831b476d79408ab6ccfadaaf199906c833f02fdb32c9ab907b1d4aa0713cfa3b"}, + {file = "coverage-7.6.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:46c3d091059ad0b9c59d1034de74a7f36dcfa7f6d3bde782c49deb42438f2450"}, + {file = "coverage-7.6.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:4d5fae0a22dc86259dee66f2cc6c1d3e490c4a1214d7daa2a93d07491c5c04b6"}, + {file = "coverage-7.6.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:07ed352205574aad067482e53dd606926afebcb5590653121063fbf4e2175166"}, + {file = "coverage-7.6.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:49c76cdfa13015c4560702574bad67f0e15ca5a2872c6a125f6327ead2b731dd"}, + {file = "coverage-7.6.0-cp39-cp39-win32.whl", hash = "sha256:482855914928c8175735a2a59c8dc5806cf7d8f032e4820d52e845d1f731dca2"}, + {file = "coverage-7.6.0-cp39-cp39-win_amd64.whl", hash = "sha256:543ef9179bc55edfd895154a51792b01c017c87af0ebaae092720152e19e42ca"}, + {file = "coverage-7.6.0-pp38.pp39.pp310-none-any.whl", hash = "sha256:6fe885135c8a479d3e37a7aae61cbd3a0fb2deccb4dda3c25f92a49189f766d6"}, + {file = "coverage-7.6.0.tar.gz", hash = "sha256:289cc803fa1dc901f84701ac10c9ee873619320f2f9aff38794db4a4a0268d51"}, ] +[package.dependencies] +tomli = {version = "*", optional = true, markers = "python_full_version <= \"3.11.0a6\" and extra == \"toml\""} + [package.extras] toml = ["tomli"] @@ -709,6 +716,25 @@ files = [ {file = "imagesize-1.4.1.tar.gz", hash = "sha256:69150444affb9cb0d5cc5a92b3676f0b2fb7cd9ae39e947a5e11a36b4497cd4a"}, ] +[[package]] +name = "importlib-metadata" +version = "8.1.0" +description = "Read metadata from Python packages" +optional = false +python-versions = ">=3.8" +files = [ + {file = "importlib_metadata-8.1.0-py3-none-any.whl", hash = "sha256:3cd29f739ed65973840b068e3132135ce954c254d48b5b640484467ef7ab3c8c"}, + {file = "importlib_metadata-8.1.0.tar.gz", hash = "sha256:fcdcb1d5ead7bdf3dd32657bb94ebe9d2aabfe89a19782ddc32da5041d6ebfb4"}, +] + +[package.dependencies] +zipp = ">=0.5" + +[package.extras] +doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] +perf = ["ipython"] +test = ["flufl.flake8", "importlib-resources (>=1.3)", "jaraco.test (>=5.4)", "packaging", "pyfakefs", "pytest (>=6,!=8.1.*)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-mypy", "pytest-perf (>=0.9.2)", "pytest-ruff (>=0.2.1)"] + [[package]] name = "importlib-resources" version = "6.4.0" @@ -1049,6 +1075,7 @@ files = [ [package.dependencies] numpy = [ + {version = ">=1.22.4", markers = "python_version < \"3.11\""}, {version = ">=1.23.2", markers = "python_version == \"3.11\""}, {version = ">=1.26.0", markers = "python_version >= \"3.12\""}, ] @@ -1120,6 +1147,7 @@ click = ">=8" pip = ">=22.2" pyproject_hooks = "*" setuptools = "*" +tomli = {version = "*", markers = "python_version < \"3.11\""} wheel = "*" [package.extras] @@ -1413,13 +1441,13 @@ zstd = ["zstandard"] [[package]] name = "pynvml" -version = "11.5.0" -description = "Python Bindings for the NVIDIA Management Library" +version = "11.5.3" +description = "Python utilities for the NVIDIA Management Library" optional = false python-versions = ">=3.6" files = [ - {file = "pynvml-11.5.0-py3-none-any.whl", hash = "sha256:5cce014ac01b098d08f06178f86c37be409b80b2e903a5a03ce15eed60f55e25"}, - {file = "pynvml-11.5.0.tar.gz", hash = "sha256:d027b21b95b1088b9fc278117f9f61b7c67f8e33a787e9f83f735f0f71ac32d0"}, + {file = "pynvml-11.5.3-py3-none-any.whl", hash = "sha256:a5fba3ab14febda50d19dbda012ef62ae0aed45b7ccc07af0bc5be79223e450c"}, + {file = "pynvml-11.5.3.tar.gz", hash = "sha256:183d223ae487e5f00402d8da06c68c978ef8a9295793ee75559839c6ade7b229"}, ] [[package]] @@ -1667,18 +1695,19 @@ jupyter = ["ipywidgets (>=7.5.1,<9)"] [[package]] name = "setuptools" -version = "70.3.0" +version = "71.1.0" description = "Easily download, build, install, upgrade, and uninstall Python packages" optional = false python-versions = ">=3.8" files = [ - {file = "setuptools-70.3.0-py3-none-any.whl", hash = "sha256:fe384da74336c398e0d956d1cae0669bc02eed936cdb1d49b57de1990dc11ffc"}, - {file = "setuptools-70.3.0.tar.gz", hash = "sha256:f171bab1dfbc86b132997f26a119f6056a57950d058587841a0082e8830f9dc5"}, + {file = "setuptools-71.1.0-py3-none-any.whl", hash = "sha256:33874fdc59b3188304b2e7c80d9029097ea31627180896fb549c578ceb8a0855"}, + {file = "setuptools-71.1.0.tar.gz", hash = "sha256:032d42ee9fb536e33087fb66cac5f840eb9391ed05637b3f2a76a7c8fb477936"}, ] [package.extras] +core = ["importlib-metadata (>=6)", "importlib-resources (>=5.10.2)", "jaraco.text (>=3.7)", "more-itertools (>=8.8)", "ordered-set (>=3.1.1)", "packaging (>=24)", "platformdirs (>=2.6.2)", "tomli (>=2.0.1)", "wheel (>=0.43.0)"] doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "pyproject-hooks (!=1.1)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-favicon", "sphinx-inline-tabs", "sphinx-lint", "sphinx-notfound-page (>=1,<2)", "sphinx-reredirects", "sphinxcontrib-towncrier"] -test = ["build[virtualenv] (>=1.0.3)", "filelock (>=3.4.0)", "importlib-metadata", "ini2toml[lite] (>=0.14)", "jaraco.develop (>=7.21)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "jaraco.test", "mypy (==1.10.0)", "packaging (>=23.2)", "pip (>=19.1)", "pyproject-hooks (!=1.1)", "pytest (>=6,!=8.1.*)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-home (>=0.5)", "pytest-mypy", "pytest-perf", "pytest-ruff (>=0.3.2)", "pytest-subprocess", "pytest-timeout", "pytest-xdist (>=3)", "tomli", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel"] +test = ["build[virtualenv] (>=1.0.3)", "filelock (>=3.4.0)", "importlib-metadata", "ini2toml[lite] (>=0.14)", "jaraco.develop (>=7.21)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "jaraco.test", "mypy (==1.11.*)", "packaging (>=23.2)", "pip (>=19.1)", "pyproject-hooks (!=1.1)", "pytest (>=6,!=8.1.*)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-home (>=0.5)", "pytest-mypy", "pytest-perf", "pytest-ruff (<0.4)", "pytest-ruff (>=0.2.1)", "pytest-ruff (>=0.3.2)", "pytest-subprocess", "pytest-timeout", "pytest-xdist (>=3)", "tomli", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel"] [[package]] name = "six" @@ -1800,13 +1829,13 @@ test = ["pytest"] [[package]] name = "sphinxcontrib-htmlhelp" -version = "2.0.5" +version = "2.0.6" description = "sphinxcontrib-htmlhelp is a sphinx extension which renders HTML help files" optional = false python-versions = ">=3.9" files = [ - {file = "sphinxcontrib_htmlhelp-2.0.5-py3-none-any.whl", hash = "sha256:393f04f112b4d2f53d93448d4bce35842f62b307ccdc549ec1585e950bc35e04"}, - {file = "sphinxcontrib_htmlhelp-2.0.5.tar.gz", hash = "sha256:0dc87637d5de53dd5eec3a6a01753b1ccf99494bd756aafecd74b4fa9e729015"}, + {file = "sphinxcontrib_htmlhelp-2.0.6-py3-none-any.whl", hash = "sha256:1b9af5a2671a61410a868fce050cab7ca393c218e6205cbc7f590136f207395c"}, + {file = "sphinxcontrib_htmlhelp-2.0.6.tar.gz", hash = "sha256:c6597da06185f0e3b4dc952777a04200611ef563882e0c244d27a15ee22afa73"}, ] [package.extras] @@ -1844,19 +1873,19 @@ test = ["flake8", "mypy", "pytest"] [[package]] name = "sphinxcontrib-qthelp" -version = "1.0.7" +version = "1.0.8" description = "sphinxcontrib-qthelp is a sphinx extension which outputs QtHelp documents" optional = false python-versions = ">=3.9" files = [ - {file = "sphinxcontrib_qthelp-1.0.7-py3-none-any.whl", hash = "sha256:e2ae3b5c492d58fcbd73281fbd27e34b8393ec34a073c792642cd8e529288182"}, - {file = "sphinxcontrib_qthelp-1.0.7.tar.gz", hash = "sha256:053dedc38823a80a7209a80860b16b722e9e0209e32fea98c90e4e6624588ed6"}, + {file = "sphinxcontrib_qthelp-1.0.8-py3-none-any.whl", hash = "sha256:323d6acc4189af76dfe94edd2a27d458902319b60fcca2aeef3b2180c106a75f"}, + {file = "sphinxcontrib_qthelp-1.0.8.tar.gz", hash = "sha256:db3f8fa10789c7a8e76d173c23364bdf0ebcd9449969a9e6a3dd31b8b7469f03"}, ] [package.extras] lint = ["docutils-stubs", "flake8", "mypy"] standalone = ["Sphinx (>=5)"] -test = ["pytest"] +test = ["defusedxml (>=0.7.1)", "pytest"] [[package]] name = "sphinxcontrib-serializinghtml" @@ -1972,15 +2001,26 @@ files = [ {file = "toml-0.10.2.tar.gz", hash = "sha256:b3bda1d108d5dd99f4a20d24d9c348e91c4db7ab1b749200bded2f839ccbe68f"}, ] +[[package]] +name = "tomli" +version = "2.0.1" +description = "A lil' TOML parser" +optional = false +python-versions = ">=3.7" +files = [ + {file = "tomli-2.0.1-py3-none-any.whl", hash = "sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc"}, + {file = "tomli-2.0.1.tar.gz", hash = "sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f"}, +] + [[package]] name = "torchcompat" -version = "1.1.1" +version = "1.1.4" description = "torch compatibility layer" optional = false python-versions = "*" files = [ - {file = "torchcompat-1.1.1-py3-none-any.whl", hash = "sha256:627702ab251d12a93545950e1026efb18bbe1ca73268b98791799bf9addd9867"}, - {file = "torchcompat-1.1.1.tar.gz", hash = "sha256:aebf180cce7a25551c71e0052ae88ffa37b225924e939015adec0e720c9d5154"}, + {file = "torchcompat-1.1.4-py3-none-any.whl", hash = "sha256:2e3b3c56717590450588a4d431be387355d16864fdd74edb22fb189b9feca47b"}, + {file = "torchcompat-1.1.4.tar.gz", hash = "sha256:fabd54bea79624f2e7058842f38536b3d80b2a586c1ac88303d42b8e06ae8c84"}, ] [package.dependencies] @@ -2132,7 +2172,22 @@ files = [ [package.extras] test = ["pytest (>=6.0.0)", "setuptools (>=65)"] +[[package]] +name = "zipp" +version = "3.19.2" +description = "Backport of pathlib-compatible object wrapper for zip files" +optional = false +python-versions = ">=3.8" +files = [ + {file = "zipp-3.19.2-py3-none-any.whl", hash = "sha256:f091755f667055f2d02b32c53771a7a6c8b47e1fdbc4b72a8b9072b3eef8015c"}, + {file = "zipp-3.19.2.tar.gz", hash = "sha256:bf1dcf6450f873a13e952a29504887c89e6de7506209e5b1bcc3460135d4de19"}, +] + +[package.extras] +doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] +test = ["big-O", "importlib-resources", "jaraco.functools", "jaraco.itertools", "jaraco.test", "more-itertools", "pytest (>=6,!=8.1.*)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-ignore-flaky", "pytest-mypy", "pytest-ruff (>=0.2.1)"] + [metadata] lock-version = "2.0" -python-versions = ">=3.11,<4.0" -content-hash = "37f41740fb3e7ed03846f245c32e2676033b09e31d3963706628edec3dcbef1b" +python-versions = ">=3.10,<4.0" +content-hash = "ac862de7cec59d54e21cdc3280c72810aa15b88da6e9b6e67fb03d7e89228177" diff --git a/pyproject.toml b/pyproject.toml index aac1361cd..6695d6440 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -12,7 +12,7 @@ license = "MIT" [tool.poetry.dependencies] voir = ">=0.2.14" benchmate = {path = "benchmate", develop = false} -python = ">=3.11,<4.0" +python = ">=3.10,<4.0" giving = "^0.4.0" ptera = "^1.2.0" coleo = "^0.3.0" diff --git a/scripts/article/run_cuda_dev.sh b/scripts/article/run_cuda_dev.sh index 0c73fefe3..1144386c6 100644 --- a/scripts/article/run_cuda_dev.sh +++ b/scripts/article/run_cuda_dev.sh @@ -2,6 +2,12 @@ set -ex +# export MILABENCH_SOURCE=$HOME/milabench +# mkdir /tmp/workspace && cd /tmp/workspace +# conda activate py310 +# +# + export MILABENCH_GPU_ARCH=cuda export MILABENCH_WORDIR="$(pwd)/$MILABENCH_GPU_ARCH" @@ -11,20 +17,41 @@ export MILABENCH_VENV="$MILABENCH_WORDIR/env" export BENCHMARK_VENV="$MILABENCH_WORDIR/results/venv/torch" +if [ -z "${MILABENCH_PREPARE}" ]; then + export MILABENCH_PREPARE=0 +fi + +if [ -z "${MILABENCH_SOURCE}" ]; then + export MILABENCH_CONFIG="$MILABENCH_WORDIR/milabench/config/standard.yaml" +else + export MILABENCH_CONFIG="$MILABENCH_SOURCE/config/standard.yaml" +fi + install_prepare() { mkdir -p $MILABENCH_WORDIR cd $MILABENCH_WORDIR - virtualenv $MILABENCH_WORDIR/env + virtualenv $MILABENCH_WORDIR/env --reset-app-data - if [ ! -d "$MILABENCH_WORDIR/milabench" ]; then - git clone https://github.com/mila-iqia/milabench.git - git clone https://github.com/Delaunay/voir.git + if [ -z "${MILABENCH_SOURCE}" ]; then + if [ ! -d "$MILABENCH_WORDIR/milabench" ]; then + git clone https://github.com/mila-iqia/milabench.git + fi + export MILABENCH_SOURCE="$MILABENCH_WORDIR/milabench" + else + export MILABENCH_CONFIG="$MILABENCH_SOURCE/config/standard.yaml" + fi + + if [ ! -d "$MILABENCH_WORDIR/voir" ]; then + + git clone https://github.com/Delaunay/voir.git -b patch-4 git clone https://github.com/Delaunay/torchcompat.git fi . $MILABENCH_WORDIR/env/bin/activate - pip install -e $MILABENCH_WORDIR/milabench + pip install -e $MILABENCH_SOURCE + + milabench pin --variant cuda "$@" # # Install milabench's benchmarks in their venv @@ -62,14 +89,26 @@ else . $MILABENCH_WORDIR/env/bin/activate fi -cd $MILABENCH_WORDIR -(cd $MILABENCH_WORDIR/milabench && git pull origin intel) -# -# Run the benchmakrs -milabench run "$@" +( + . $MILABENCH_WORDIR/env/bin/activate + pip install -e $MILABENCH_WORDIR/voir + pip install -e $MILABENCH_SOURCE/benchmate -# -# Display report -milabench report --runs $MILABENCH_WORDIR/results/runs + . $BENCHMARK_VENV/bin/activate + pip install -e $MILABENCH_WORDIR/voir + pip install -e $MILABENCH_SOURCE/benchmate +) + +if [ "$MILABENCH_PREPARE" -eq 0 ]; then + cd $MILABENCH_WORDIR + + # + # Run the benchmakrs + milabench run "$@" + + # + # Display report + milabench report --runs $MILABENCH_WORDIR/results/runs +fi \ No newline at end of file diff --git a/tests/conftest.py b/tests/conftest.py index 81b3d693c..48fd9be58 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -87,10 +87,23 @@ def get_gpus_info(self, selection=None): def close(self): pass +class MockDeviceModule: + @staticmethod + def is_installed(): + return True + + DeviceSMI = MockDeviceSMI + @pytest.fixture(scope="session", autouse=True) def set_env(): - backend = voirgpu.deduce_backend() + voirgpu.BACKENDS["mock"] = MockDeviceModule + + try: + backend = voirgpu.deduce_backend() + except Exception: + backend = "mock" + if backend == "cpu": backend = "mock" diff --git a/tests/test_command_reg/test_command_reg_one_node.txt b/tests/test_command_reg/test_command_reg_one_node.txt index 1390e87e8..35f198150 100644 --- a/tests/test_command_reg/test_command_reg_one_node.txt +++ b/tests/test_command_reg/test_command_reg_one_node.txt @@ -330,7 +330,7 @@ echo "---" echo "resnet152-multi" echo "===============" time ( - $BASE/venv/torch/bin/torchrun --nproc_per_node=8 --no-python -- python $SRC/milabench/benchmarks/timm/pytorch-image-models/train.py --amp --amp-dtype bfloat16 --device cuda --val-split --data-dir $BASE/data --dataset FakeImageNet --workers 8 --model resnet152 --batch-size 256 --output $BASE/extra/timm/dev/resnet152-multi.0 --checkpoint-hist 1 & + $BASE/venv/torch/bin/benchrun --nproc-per-node=8 -m python $SRC/milabench/benchmarks/timm/pytorch-image-models/train.py --amp --amp-dtype bfloat16 --device cuda --val-split --data-dir $BASE/data --dataset FakeImageNet --workers 8 --model resnet152 --batch-size 256 --output $BASE/extra/timm/dev/resnet152-multi.0 --checkpoint-hist 1 & wait ) @@ -353,7 +353,7 @@ echo "---" echo "davit_large-multi" echo "=================" time ( - $BASE/venv/torch/bin/torchrun --nproc_per_node=8 --no-python -- python $SRC/milabench/benchmarks/timm/pytorch-image-models/train.py --amp --amp-dtype bfloat16 --device cuda --val-split --data-dir $BASE/data --dataset FakeImageNet --workers 8 --model davit_large --batch-size 128 --lr-base 0.01 --output $BASE/extra/timm/dev/davit_large-multi.0 --checkpoint-hist 1 & + $BASE/venv/torch/bin/benchrun --nproc-per-node=8 -m python $SRC/milabench/benchmarks/timm/pytorch-image-models/train.py --amp --amp-dtype bfloat16 --device cuda --val-split --data-dir $BASE/data --dataset FakeImageNet --workers 8 --model davit_large --batch-size 128 --lr-base 0.01 --output $BASE/extra/timm/dev/davit_large-multi.0 --checkpoint-hist 1 & wait ) @@ -376,7 +376,7 @@ echo "---" echo "opt-1_3b" echo "========" time ( - $SRC/milabench/benchmarks/accelerate_opt/activator $BASE/venv/torch accelerate launch --mixed_precision=bf16 --dynamo_backend=no --machine_rank=0 --num_machines=1 --multi_gpu --gradient_accumulation_steps=1 --num_cpu_threads_per_process=8 --main_process_ip=127.0.0.1 --main_process_port=22 --num_processes=8 $SRC/milabench/benchmarks/accelerate_opt/main.py --max_train_steps 100 --dataset_name wikitext --dataset_config_name wikitext-103-v1 --dataset_rev b08601e --validation_split_percentage 5 --per_gpu_batch_size 1 --cpus_per_gpu 8 --model_name facebook/opt-1.3b --cache $BASE/cache & + $SRC/milabench/milabench/scripts/activator $BASE/venv/torch accelerate launch --mixed_precision=bf16 --dynamo_backend=no --machine_rank=0 --num_machines=1 --multi_gpu --gradient_accumulation_steps=1 --num_cpu_threads_per_process=8 --main_process_ip=127.0.0.1 --main_process_port=22 --num_processes=8 $SRC/milabench/benchmarks/accelerate_opt/main.py --max_train_steps 100 --dataset_name wikitext --dataset_config_name wikitext-103-v1 --dataset_rev b08601e --validation_split_percentage 5 --per_gpu_batch_size 1 --cpus_per_gpu 8 --cache $BASE/cache --model_name facebook/opt-1.3b & wait ) @@ -384,7 +384,7 @@ echo "---" echo "opt-1_3b-multinode" echo "==================" time ( - $SRC/milabench/benchmarks/accelerate_opt/activator $BASE/venv/torch accelerate launch --mixed_precision=bf16 --dynamo_backend=no --machine_rank=0 --num_machines=1 --multi_gpu --gradient_accumulation_steps=1 --num_cpu_threads_per_process=8 --main_process_ip=127.0.0.1 --main_process_port=22 --num_processes=8 $SRC/milabench/benchmarks/accelerate_opt/main.py --max_train_steps 100 --dataset_name wikitext --dataset_config_name wikitext-103-v1 --dataset_rev b08601e --validation_split_percentage 5 --per_gpu_batch_size 1 --cpus_per_gpu 8 --model_name facebook/opt-1.3b --cache $BASE/cache & + $SRC/milabench/milabench/scripts/activator $BASE/venv/torch accelerate launch --mixed_precision=bf16 --dynamo_backend=no --machine_rank=0 --num_machines=1 --multi_gpu --gradient_accumulation_steps=1 --num_cpu_threads_per_process=8 --main_process_ip=127.0.0.1 --main_process_port=22 --num_processes=8 $SRC/milabench/benchmarks/accelerate_opt/main.py --max_train_steps 100 --dataset_name wikitext --dataset_config_name wikitext-103-v1 --dataset_rev b08601e --validation_split_percentage 5 --per_gpu_batch_size 1 --cpus_per_gpu 8 --cache $BASE/cache --model_name facebook/opt-1.3b & wait ) @@ -392,7 +392,7 @@ echo "---" echo "opt-6_7b" echo "========" time ( - $SRC/milabench/benchmarks/accelerate_opt/activator $BASE/venv/torch accelerate launch --mixed_precision=bf16 --dynamo_backend=no --machine_rank=0 --num_machines=1 --use_deepspeed --deepspeed_multinode_launcher=standard --zero_stage=2 --gradient_accumulation_steps=1 --num_cpu_threads_per_process=8 --main_process_ip=127.0.0.1 --main_process_port=22 --num_processes=8 $SRC/milabench/benchmarks/accelerate_opt/main.py --max_train_steps 100 --dataset_name wikitext --dataset_config_name wikitext-103-v1 --dataset_rev b08601e --validation_split_percentage 5 --per_gpu_batch_size 1 --cpus_per_gpu 8 --model_name facebook/opt-6.7b --cache $BASE/cache & + $SRC/milabench/milabench/scripts/activator $BASE/venv/torch accelerate launch --mixed_precision=bf16 --dynamo_backend=no --machine_rank=0 --num_machines=1 --use_deepspeed --deepspeed_multinode_launcher=standard --zero_stage=2 --gradient_accumulation_steps=1 --num_cpu_threads_per_process=8 --main_process_ip=127.0.0.1 --main_process_port=22 --num_processes=8 $SRC/milabench/benchmarks/accelerate_opt/main.py --max_train_steps 100 --dataset_name wikitext --dataset_config_name wikitext-103-v1 --dataset_rev b08601e --validation_split_percentage 5 --per_gpu_batch_size 1 --cpus_per_gpu 8 --cache $BASE/cache --model_name facebook/opt-6.7b & wait ) @@ -400,7 +400,7 @@ echo "---" echo "opt-6_7b-multinode" echo "==================" time ( - $SRC/milabench/benchmarks/accelerate_opt/activator $BASE/venv/torch accelerate launch --mixed_precision=bf16 --dynamo_backend=no --machine_rank=0 --num_machines=1 --use_deepspeed --deepspeed_multinode_launcher=standard --zero_stage=2 --gradient_accumulation_steps=1 --num_cpu_threads_per_process=8 --main_process_ip=127.0.0.1 --main_process_port=22 --num_processes=8 $SRC/milabench/benchmarks/accelerate_opt/main.py --max_train_steps 100 --dataset_name wikitext --dataset_config_name wikitext-103-v1 --dataset_rev b08601e --validation_split_percentage 5 --per_gpu_batch_size 1 --cpus_per_gpu 8 --model_name facebook/opt-6.7b --cache $BASE/cache & + $SRC/milabench/milabench/scripts/activator $BASE/venv/torch accelerate launch --mixed_precision=bf16 --dynamo_backend=no --machine_rank=0 --num_machines=1 --use_deepspeed --deepspeed_multinode_launcher=standard --zero_stage=2 --gradient_accumulation_steps=1 --num_cpu_threads_per_process=8 --main_process_ip=127.0.0.1 --main_process_port=22 --num_processes=8 $SRC/milabench/benchmarks/accelerate_opt/main.py --max_train_steps 100 --dataset_name wikitext --dataset_config_name wikitext-103-v1 --dataset_rev b08601e --validation_split_percentage 5 --per_gpu_batch_size 1 --cpus_per_gpu 8 --cache $BASE/cache --model_name facebook/opt-6.7b & wait ) @@ -450,3 +450,34 @@ time ( wait ) +echo "---" +echo "diffusion-gpus" +echo "==============" +time ( + $SRC/milabench/milabench/scripts/activator $BASE/venv/torch accelerate launch --mixed_precision=bf16 --dynamo_backend=no --machine_rank=0 --num_machines=1 --multi_gpu --gradient_accumulation_steps=1 --num_cpu_threads_per_process=4 --main_process_ip=127.0.0.1 --main_process_port=22 --num_processes=8 $SRC/milabench/benchmarks/diffusion/main.py --train_batch_size 32 --num_epochs 5 & + wait +) + +echo "---" +echo "lightning" +echo "=========" +time ( + CUDA_VISIBLE_DEVICES=0 python $SRC/milabench/benchmarks/lightning/main.py --epochs 10 --num-workers 8 --loader pytorch --data $BASE/data/FakeImageNet --model resnet152 & + CUDA_VISIBLE_DEVICES=1 python $SRC/milabench/benchmarks/lightning/main.py --epochs 10 --num-workers 8 --loader pytorch --data $BASE/data/FakeImageNet --model resnet152 & + CUDA_VISIBLE_DEVICES=2 python $SRC/milabench/benchmarks/lightning/main.py --epochs 10 --num-workers 8 --loader pytorch --data $BASE/data/FakeImageNet --model resnet152 & + CUDA_VISIBLE_DEVICES=3 python $SRC/milabench/benchmarks/lightning/main.py --epochs 10 --num-workers 8 --loader pytorch --data $BASE/data/FakeImageNet --model resnet152 & + CUDA_VISIBLE_DEVICES=4 python $SRC/milabench/benchmarks/lightning/main.py --epochs 10 --num-workers 8 --loader pytorch --data $BASE/data/FakeImageNet --model resnet152 & + CUDA_VISIBLE_DEVICES=5 python $SRC/milabench/benchmarks/lightning/main.py --epochs 10 --num-workers 8 --loader pytorch --data $BASE/data/FakeImageNet --model resnet152 & + CUDA_VISIBLE_DEVICES=6 python $SRC/milabench/benchmarks/lightning/main.py --epochs 10 --num-workers 8 --loader pytorch --data $BASE/data/FakeImageNet --model resnet152 & + CUDA_VISIBLE_DEVICES=7 python $SRC/milabench/benchmarks/lightning/main.py --epochs 10 --num-workers 8 --loader pytorch --data $BASE/data/FakeImageNet --model resnet152 & + wait +) + +echo "---" +echo "lightning-gpus" +echo "==============" +time ( + $BASE/venv/torch/bin/benchrun --nnodes=1 --rdzv-backend=c10d --rdzv-endpoint=127.0.0.1:29400 --master-addr=127.0.0.1 --master-port=29400 --nproc-per-node=8 --no-python -- python $SRC/milabench/benchmarks/lightning/main.py --epochs 10 --num-workers 8 --loader pytorch --data $BASE/data/FakeImageNet --model resnet152 & + wait +) + diff --git a/tests/test_command_reg/test_command_reg_two_nodes.txt b/tests/test_command_reg/test_command_reg_two_nodes.txt index 3ecda3b0f..2817f77f8 100644 --- a/tests/test_command_reg/test_command_reg_two_nodes.txt +++ b/tests/test_command_reg/test_command_reg_two_nodes.txt @@ -330,7 +330,7 @@ echo "---" echo "resnet152-multi" echo "===============" time ( - $BASE/venv/torch/bin/torchrun --nproc_per_node=8 --no-python -- python $SRC/milabench/benchmarks/timm/pytorch-image-models/train.py --amp --amp-dtype bfloat16 --device cuda --val-split --data-dir $BASE/data --dataset FakeImageNet --workers 8 --model resnet152 --batch-size 256 --output $BASE/extra/timm/dev/resnet152-multi.0 --checkpoint-hist 1 & + $BASE/venv/torch/bin/benchrun --nproc-per-node=8 -m python $SRC/milabench/benchmarks/timm/pytorch-image-models/train.py --amp --amp-dtype bfloat16 --device cuda --val-split --data-dir $BASE/data --dataset FakeImageNet --workers 8 --model resnet152 --batch-size 256 --output $BASE/extra/timm/dev/resnet152-multi.0 --checkpoint-hist 1 & wait ) @@ -353,7 +353,7 @@ echo "---" echo "davit_large-multi" echo "=================" time ( - $BASE/venv/torch/bin/torchrun --nproc_per_node=8 --no-python -- python $SRC/milabench/benchmarks/timm/pytorch-image-models/train.py --amp --amp-dtype bfloat16 --device cuda --val-split --data-dir $BASE/data --dataset FakeImageNet --workers 8 --model davit_large --batch-size 128 --lr-base 0.01 --output $BASE/extra/timm/dev/davit_large-multi.0 --checkpoint-hist 1 & + $BASE/venv/torch/bin/benchrun --nproc-per-node=8 -m python $SRC/milabench/benchmarks/timm/pytorch-image-models/train.py --amp --amp-dtype bfloat16 --device cuda --val-split --data-dir $BASE/data --dataset FakeImageNet --workers 8 --model davit_large --batch-size 128 --lr-base 0.01 --output $BASE/extra/timm/dev/davit_large-multi.0 --checkpoint-hist 1 & wait ) @@ -376,7 +376,7 @@ echo "---" echo "opt-1_3b" echo "========" time ( - $SRC/milabench/benchmarks/accelerate_opt/activator $BASE/venv/torch accelerate launch --mixed_precision=bf16 --dynamo_backend=no --machine_rank=0 --num_machines=1 --multi_gpu --gradient_accumulation_steps=1 --num_cpu_threads_per_process=8 --main_process_ip=127.0.0.1 --main_process_port=22 --num_processes=8 $SRC/milabench/benchmarks/accelerate_opt/main.py --max_train_steps 100 --dataset_name wikitext --dataset_config_name wikitext-103-v1 --dataset_rev b08601e --validation_split_percentage 5 --per_gpu_batch_size 1 --cpus_per_gpu 8 --model_name facebook/opt-1.3b --cache $BASE/cache & + $SRC/milabench/milabench/scripts/activator $BASE/venv/torch accelerate launch --mixed_precision=bf16 --dynamo_backend=no --machine_rank=0 --num_machines=1 --multi_gpu --gradient_accumulation_steps=1 --num_cpu_threads_per_process=8 --main_process_ip=127.0.0.1 --main_process_port=22 --num_processes=8 $SRC/milabench/benchmarks/accelerate_opt/main.py --max_train_steps 100 --dataset_name wikitext --dataset_config_name wikitext-103-v1 --dataset_rev b08601e --validation_split_percentage 5 --per_gpu_batch_size 1 --cpus_per_gpu 8 --cache $BASE/cache --model_name facebook/opt-1.3b & wait ) @@ -384,8 +384,8 @@ echo "---" echo "opt-1_3b-multinode" echo "==================" time ( - $SRC/milabench/benchmarks/accelerate_opt/activator $BASE/venv/torch accelerate launch --mixed_precision=bf16 --dynamo_backend=no --machine_rank=0 --num_machines=2 --multi_gpu --gradient_accumulation_steps=1 --num_cpu_threads_per_process=8 --main_process_ip=127.0.0.1 --main_process_port=22 --num_processes=16 $SRC/milabench/benchmarks/accelerate_opt/main.py --max_train_steps 100 --dataset_name wikitext --dataset_config_name wikitext-103-v1 --dataset_rev b08601e --validation_split_percentage 5 --per_gpu_batch_size 1 --cpus_per_gpu 8 --model_name facebook/opt-1.3b --cache $BASE/cache & - ssh -oCheckHostIP=no -oStrictHostKeyChecking=no -oPasswordAuthentication=no -oPasswordAuthentication=no -p 22 username@192.168.0.11 $SRC/milabench/benchmarks/accelerate_opt/activator $BASE/venv/torch accelerate launch --mixed_precision=bf16 --dynamo_backend=no --machine_rank=1 --num_machines=2 --multi_gpu --gradient_accumulation_steps=1 --num_cpu_threads_per_process=8 --main_process_ip=127.0.0.1 --main_process_port=22 --num_processes=16 $SRC/milabench/benchmarks/accelerate_opt/main.py --max_train_steps 100 --dataset_name wikitext --dataset_config_name wikitext-103-v1 --dataset_rev b08601e --validation_split_percentage 5 --per_gpu_batch_size 1 --cpus_per_gpu 8 --model_name facebook/opt-1.3b --cache $BASE/cache & + $SRC/milabench/milabench/scripts/activator $BASE/venv/torch accelerate launch --mixed_precision=bf16 --dynamo_backend=no --machine_rank=0 --num_machines=2 --multi_gpu --gradient_accumulation_steps=1 --num_cpu_threads_per_process=8 --main_process_ip=127.0.0.1 --main_process_port=22 --num_processes=16 & + ssh -oCheckHostIP=no -oStrictHostKeyChecking=no -oPasswordAuthentication=no -oPasswordAuthentication=no -p 22 username@192.168.0.11 $SRC/milabench/milabench/scripts/activator $BASE/venv/torch accelerate launch --mixed_precision=bf16 --dynamo_backend=no --machine_rank=1 --num_machines=2 --multi_gpu --gradient_accumulation_steps=1 --num_cpu_threads_per_process=8 --main_process_ip=127.0.0.1 --main_process_port=22 --num_processes=16 & wait ) @@ -393,7 +393,7 @@ echo "---" echo "opt-6_7b" echo "========" time ( - $SRC/milabench/benchmarks/accelerate_opt/activator $BASE/venv/torch accelerate launch --mixed_precision=bf16 --dynamo_backend=no --machine_rank=0 --num_machines=1 --use_deepspeed --deepspeed_multinode_launcher=standard --zero_stage=2 --gradient_accumulation_steps=1 --num_cpu_threads_per_process=8 --main_process_ip=127.0.0.1 --main_process_port=22 --num_processes=8 $SRC/milabench/benchmarks/accelerate_opt/main.py --max_train_steps 100 --dataset_name wikitext --dataset_config_name wikitext-103-v1 --dataset_rev b08601e --validation_split_percentage 5 --per_gpu_batch_size 1 --cpus_per_gpu 8 --model_name facebook/opt-6.7b --cache $BASE/cache & + $SRC/milabench/milabench/scripts/activator $BASE/venv/torch accelerate launch --mixed_precision=bf16 --dynamo_backend=no --machine_rank=0 --num_machines=1 --use_deepspeed --deepspeed_multinode_launcher=standard --zero_stage=2 --gradient_accumulation_steps=1 --num_cpu_threads_per_process=8 --main_process_ip=127.0.0.1 --main_process_port=22 --num_processes=8 $SRC/milabench/benchmarks/accelerate_opt/main.py --max_train_steps 100 --dataset_name wikitext --dataset_config_name wikitext-103-v1 --dataset_rev b08601e --validation_split_percentage 5 --per_gpu_batch_size 1 --cpus_per_gpu 8 --cache $BASE/cache --model_name facebook/opt-6.7b & wait ) @@ -401,8 +401,8 @@ echo "---" echo "opt-6_7b-multinode" echo "==================" time ( - $SRC/milabench/benchmarks/accelerate_opt/activator $BASE/venv/torch accelerate launch --mixed_precision=bf16 --dynamo_backend=no --machine_rank=0 --num_machines=2 --use_deepspeed --deepspeed_multinode_launcher=standard --zero_stage=2 --gradient_accumulation_steps=1 --num_cpu_threads_per_process=8 --main_process_ip=127.0.0.1 --main_process_port=22 --num_processes=16 $SRC/milabench/benchmarks/accelerate_opt/main.py --max_train_steps 100 --dataset_name wikitext --dataset_config_name wikitext-103-v1 --dataset_rev b08601e --validation_split_percentage 5 --per_gpu_batch_size 1 --cpus_per_gpu 8 --model_name facebook/opt-6.7b --cache $BASE/cache & - ssh -oCheckHostIP=no -oStrictHostKeyChecking=no -oPasswordAuthentication=no -oPasswordAuthentication=no -p 22 username@192.168.0.11 $SRC/milabench/benchmarks/accelerate_opt/activator $BASE/venv/torch accelerate launch --mixed_precision=bf16 --dynamo_backend=no --machine_rank=1 --num_machines=2 --use_deepspeed --deepspeed_multinode_launcher=standard --zero_stage=2 --gradient_accumulation_steps=1 --num_cpu_threads_per_process=8 --main_process_ip=127.0.0.1 --main_process_port=22 --num_processes=16 $SRC/milabench/benchmarks/accelerate_opt/main.py --max_train_steps 100 --dataset_name wikitext --dataset_config_name wikitext-103-v1 --dataset_rev b08601e --validation_split_percentage 5 --per_gpu_batch_size 1 --cpus_per_gpu 8 --model_name facebook/opt-6.7b --cache $BASE/cache & + $SRC/milabench/milabench/scripts/activator $BASE/venv/torch accelerate launch --mixed_precision=bf16 --dynamo_backend=no --machine_rank=0 --num_machines=2 --use_deepspeed --deepspeed_multinode_launcher=standard --zero_stage=2 --gradient_accumulation_steps=1 --num_cpu_threads_per_process=8 --main_process_ip=127.0.0.1 --main_process_port=22 --num_processes=16 & + ssh -oCheckHostIP=no -oStrictHostKeyChecking=no -oPasswordAuthentication=no -oPasswordAuthentication=no -p 22 username@192.168.0.11 $SRC/milabench/milabench/scripts/activator $BASE/venv/torch accelerate launch --mixed_precision=bf16 --dynamo_backend=no --machine_rank=1 --num_machines=2 --use_deepspeed --deepspeed_multinode_launcher=standard --zero_stage=2 --gradient_accumulation_steps=1 --num_cpu_threads_per_process=8 --main_process_ip=127.0.0.1 --main_process_port=22 --num_processes=16 & wait ) @@ -452,3 +452,34 @@ time ( wait ) +echo "---" +echo "diffusion-gpus" +echo "==============" +time ( + $SRC/milabench/milabench/scripts/activator $BASE/venv/torch accelerate launch --mixed_precision=bf16 --dynamo_backend=no --machine_rank=0 --num_machines=1 --multi_gpu --gradient_accumulation_steps=1 --num_cpu_threads_per_process=4 --main_process_ip=127.0.0.1 --main_process_port=22 --num_processes=8 $SRC/milabench/benchmarks/diffusion/main.py --train_batch_size 32 --num_epochs 5 & + wait +) + +echo "---" +echo "lightning" +echo "=========" +time ( + CUDA_VISIBLE_DEVICES=0 python $SRC/milabench/benchmarks/lightning/main.py --epochs 10 --num-workers 8 --loader pytorch --data $BASE/data/FakeImageNet --model resnet152 & + CUDA_VISIBLE_DEVICES=1 python $SRC/milabench/benchmarks/lightning/main.py --epochs 10 --num-workers 8 --loader pytorch --data $BASE/data/FakeImageNet --model resnet152 & + CUDA_VISIBLE_DEVICES=2 python $SRC/milabench/benchmarks/lightning/main.py --epochs 10 --num-workers 8 --loader pytorch --data $BASE/data/FakeImageNet --model resnet152 & + CUDA_VISIBLE_DEVICES=3 python $SRC/milabench/benchmarks/lightning/main.py --epochs 10 --num-workers 8 --loader pytorch --data $BASE/data/FakeImageNet --model resnet152 & + CUDA_VISIBLE_DEVICES=4 python $SRC/milabench/benchmarks/lightning/main.py --epochs 10 --num-workers 8 --loader pytorch --data $BASE/data/FakeImageNet --model resnet152 & + CUDA_VISIBLE_DEVICES=5 python $SRC/milabench/benchmarks/lightning/main.py --epochs 10 --num-workers 8 --loader pytorch --data $BASE/data/FakeImageNet --model resnet152 & + CUDA_VISIBLE_DEVICES=6 python $SRC/milabench/benchmarks/lightning/main.py --epochs 10 --num-workers 8 --loader pytorch --data $BASE/data/FakeImageNet --model resnet152 & + CUDA_VISIBLE_DEVICES=7 python $SRC/milabench/benchmarks/lightning/main.py --epochs 10 --num-workers 8 --loader pytorch --data $BASE/data/FakeImageNet --model resnet152 & + wait +) + +echo "---" +echo "lightning-gpus" +echo "==============" +time ( + $BASE/venv/torch/bin/benchrun --nnodes=1 --rdzv-backend=c10d --rdzv-endpoint=127.0.0.1:29400 --master-addr=127.0.0.1 --master-port=29400 --nproc-per-node=8 --no-python -- python $SRC/milabench/benchmarks/lightning/main.py --epochs 10 --num-workers 8 --loader pytorch --data $BASE/data/FakeImageNet --model resnet152 & + wait +) + diff --git a/tests/test_executors.py b/tests/test_executors.py index 2a3618a26..80be9a4a7 100644 --- a/tests/test_executors.py +++ b/tests/test_executors.py @@ -128,7 +128,7 @@ def test_executor_execute(noexecute): ] print(result) print(expected) - assert result == expected + assert sorted(result) == sorted(expected) def test_pack_executor(): @@ -295,6 +295,9 @@ async def send(self, **kwargs): async def message(self, msg): print(msg) + @property + def working_directory(self): + return self.dirs.code class Commands: def __init__(self, time) -> None: diff --git a/tests/test_mock.py b/tests/test_mock.py index b0d846fbf..dfaaa5c58 100644 --- a/tests/test_mock.py +++ b/tests/test_mock.py @@ -116,11 +116,16 @@ def cleanpath(out, tmppath): os.path.dirname(voir.__file__), '..' )) - return (out + def rmdate(date): + import re + return re.sub(r"\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}.\d{6}", "1990-01-01 00:00:00.000000", date, 0) + + return rmdate(out .replace(str(site_packages), "$SITEPACKAGES") .replace(str(sys_path), "$INSTALL") .replace(str(ROOT), "$SRC") .replace(str(tmppath), "$TMP") + ) diff --git a/tests/test_mock/test_milabench_bad_run.txt b/tests/test_mock/test_milabench_bad_run.txt index 8ae8f13e7..f30881ec1 100644 --- a/tests/test_mock/test_milabench_bad_run.txt +++ b/tests/test_mock/test_milabench_bad_run.txt @@ -1,3 +1,9 @@ +benchio.1 [stderr] File "$SRC/milabench/tests/yoshua-benchio/main.py", line 46, in +benchio.1 [stderr] main() +benchio.1 [stderr] File "$SRC/milabench/tests/yoshua-benchio/main.py", line 39, in main +benchio.1 [stderr] raise RuntimeError() +benchio.1 [stderr] RuntimeError +benchio.1 [end (1)] $TMP/venv/benchio/bin/voir $SRC/milabench/tests/yoshua-benchio/main.py --bad [at 1990-01-01 00:00:00.000000] benchio.0 ========= * no training rate retrieved @@ -7,17 +13,14 @@ benchio.0 | Traceback (most recent call last): | File "$TMP/venv/benchio/bin/voir", line 8, in | sys.exit(main()) - | ^^^^^^ - | File "$TMP/venv/benchio/lib/python3.11/site-packages/voir/cli.py", line 124, in main + | File "$TMP/venv/benchio/lib/python3.10/site-packages/voir/cli.py", line 124, in main | ov(sys.argv[1:] if argv is None else argv) - | File "$TMP/venv/benchio/lib/python3.11/site-packages/voir/phase.py", line 331, in __call__ + | File "$TMP/venv/benchio/lib/python3.10/site-packages/voir/phase.py", line 331, in __call__ | self._run(*args, **kwargs) - | File "$TMP/venv/benchio/lib/python3.11/site-packages/voir/overseer.py", line 242, in _run + | File "$TMP/venv/benchio/lib/python3.10/site-packages/voir/overseer.py", line 242, in _run | set_value(func()) - | ^^^^^^ - | File "$TMP/venv/benchio/lib/python3.11/site-packages/voir/scriptutils.py", line 37, in + | File "$TMP/venv/benchio/lib/python3.10/site-packages/voir/scriptutils.py", line 37, in | return lambda: exec(mainsection, glb, glb) - | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "$SRC/milabench/tests/yoshua-benchio/main.py", line 46, in | main() | File "$SRC/milabench/tests/yoshua-benchio/main.py", line 39, in main @@ -32,17 +35,14 @@ benchio.1 | Traceback (most recent call last): | File "$TMP/venv/benchio/bin/voir", line 8, in | sys.exit(main()) - | ^^^^^^ - | File "$TMP/venv/benchio/lib/python3.11/site-packages/voir/cli.py", line 124, in main + | File "$TMP/venv/benchio/lib/python3.10/site-packages/voir/cli.py", line 124, in main | ov(sys.argv[1:] if argv is None else argv) - | File "$TMP/venv/benchio/lib/python3.11/site-packages/voir/phase.py", line 331, in __call__ + | File "$TMP/venv/benchio/lib/python3.10/site-packages/voir/phase.py", line 331, in __call__ | self._run(*args, **kwargs) - | File "$TMP/venv/benchio/lib/python3.11/site-packages/voir/overseer.py", line 242, in _run + | File "$TMP/venv/benchio/lib/python3.10/site-packages/voir/overseer.py", line 242, in _run | set_value(func()) - | ^^^^^^ - | File "$TMP/venv/benchio/lib/python3.11/site-packages/voir/scriptutils.py", line 37, in + | File "$TMP/venv/benchio/lib/python3.10/site-packages/voir/scriptutils.py", line 37, in | return lambda: exec(mainsection, glb, glb) - | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "$SRC/milabench/tests/yoshua-benchio/main.py", line 46, in | main() | File "$SRC/milabench/tests/yoshua-benchio/main.py", line 39, in main