Skip to content

Feature/multi gpu - #25

Merged
gjbex merged 33 commits into
masterfrom
feature/multi_gpu
Oct 14, 2026
Merged

gjbex merged 33 commits into
masterfrom
feature/multi_gpu

Conversation

@gjbex

@gjbex gjbex commented Oct 14, 2026

Copy link
Copy Markdown
Owner

No description provided.

Copilot AI balanced review requested due to automatic review settings October 14, 2026 15:46
@sourcery-ai

sourcery-ai Bot commented Oct 14, 2026

Copy link
Copy Markdown

Sorry @gjbex, your pull request is larger than the review limit of 150,000 diff characters

@review-notebook-app

Copy link
Copy Markdown

Check out this pull request on  ReviewNB

See visual diffs & provide feedback on Jupyter Notebooks.


Powered by ReviewNB

@gjbex
gjbex merged commit 40f9009 into master Oct 14, 2026
2 checks passed
@gjbex
gjbex deleted the feature/multi_gpu branch October 14, 2026 15:48

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🟡 Changes recommended

Rank-local snapshot collision handling can leave distributed workers blocked in collectives.

2 open findings
What changed in this PR

Adds multi-GPU teaching material while modernizing optimization examples and consolidating environments.

Changes:

  • Adds native PyTorch and Lightning DDP, FSDP2, checkpointing, sharding, and memory exercises.
  • Replaces legacy Hyperopt/Julia examples with Optuna-based material.
  • Updates environment definitions, metadata, and documentation.
File Description
training.toml Adds language and maintainer metadata.
source-code/​README.md Updates optimization overview.
source-code/​pytorch/​README.md Lists new PyTorch exercises.
source-code/​pytorch/​memory-diagnostics/​SOLUTION.md Adds diagnostic solution.
source-code/​pytorch/​memory-diagnostics/​README.md Documents memory exercise.
source-code/​pytorch/​memory-diagnostics/​memory_diagnostics.py Implements memory diagnostics.
source-code/​pytorch/​memory-diagnostics/​compare_memory_reports.py Compares diagnostic reports.
source-code/​pytorch/​fsdp/​README.md Documents FSDP2 benchmark.
source-code/​pytorch/​fsdp/​fsdp2_transformer.py Implements DDP/FSDP2 comparison.
source-code/​pytorch/​environment.yml Removes obsolete local environment.
source-code/​pytorch/​ddp/​README.md Documents native DDP benchmark.
source-code/​pytorch/​ddp/​ddp_resnet50.py Implements ResNet-50 DDP benchmark.
source-code/​pytorch/​ddp/​data-sharding/​solution_data_sharding.py Adds correct sharding solution.
source-code/​pytorch/​ddp/​data-sharding/​README.md Documents sharding exercise.
source-code/​pytorch/​ddp/​data-sharding/​buggy_data_sharding.py Adds diagnostic starter.
source-code/​pytorch/​activation-checkpointing/​README.md Documents checkpointing exercise.
source-code/​pytorch/​activation-checkpointing/​activation_checkpointing.py Implements checkpoint benchmark.
source-code/​pytorch-lightning/​README.md Lists Lightning exercises.
source-code/​pytorch-lightning/​fsdp/​README.md Documents Lightning FSDP2.
source-code/​pytorch-lightning/​ddp/​README.md Documents Lightning DDP.
source-code/​pytorch-lightning/​ddp/​ddp_resnet50.py Implements Lightning DDP benchmark.
source-code/​pytorch-lightning/​activation-checkpointing/​README.md Documents Lightning checkpointing.
source-code/​pytorch-lightning/​activation-checkpointing/​activation_checkpointing.py Implements Lightning checkpointing.
source-code/​pinns/​README.md Adds parameterized PINN material.
source-code/​pinns/​environment.yml Removes redundant environment.
source-code/​parameter-optimization/​simple.py Adds minimal Optuna example.
source-code/​parameter-optimization/​README.md Reframes optimization material.
source-code/​parameter-optimization/​optuna/​README.md Removes superseded documentation.
source-code/​parameter-optimization/​JuliaProcesses/​trials_intel.txt Removes legacy trial data.
source-code/​parameter-optimization/​JuliaProcesses/​trials_gcc.txt Removes legacy trial data.
source-code/​parameter-optimization/​JuliaProcesses/​README.md Removes legacy documentation.
source-code/​parameter-optimization/​JuliaProcesses/​Makefile Removes legacy build setup.
source-code/​parameter-optimization/​JuliaProcesses/​julia_optimize.py Removes Hyperopt workflow.
source-code/​parameter-optimization/​JuliaProcesses/​julia_omp.cpp Removes Julia-set workload.
source-code/​parameter-optimization/​JuliaProcesses/​julia_intel.pbs Removes Intel PBS job.
source-code/​parameter-optimization/​JuliaProcesses/​julia_gcc.pbs Removes GCC PBS job.
source-code/​parameter-optimization/​JuliaJobs/​README.md Removes legacy documentation.
source-code/​parameter-optimization/​JuliaJobs/​Makefile Removes legacy build setup.
source-code/​parameter-optimization/​JuliaJobs/​julia.pbs Removes legacy PBS job.
source-code/​parameter-optimization/​JuliaJobs/​julia_optimize.py Removes job-based optimizer.
source-code/​parameter-optimization/​JuliaJobs/​julia_omp.cpp Removes Julia-set workload.
source-code/​parameter-optimization/​hyperopt_imize.py Removes Hyperopt example.
source-code/​parameter-optimization/​continuous_process.py Removes legacy objective script.
source-code/​keras/​README.md Documents Keras environments.
source-code/​keras/​environment_keras.yml Adds CPU Keras environment.
source-code/​keras/​environment_keras_gpu.yml Adds GPU Keras environment.
README.md Links the multi-GPU presentation.
environment.yml Switches optimization stack to Optuna.
environment_gpu.yml Updates GPU teaching dependencies.
.gitignore Ignores presentation lock files.

🧠 Review effort: Balanced


💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment on lines +479 to +483
if rank_snapshot is not None and rank_snapshot.exists():
if not arguments.overwrite_snapshot:
raise FileExistsError(
f"snapshot already exists: {rank_snapshot}; enable overwrite explicitly"
)
Comment on lines +166 to +167
if arguments.snapshot is not None:
validate_new_file(parser, arguments.snapshot, arguments.overwrite_snapshot)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants