Skip to content

Latest commit

 

History

History
149 lines (105 loc) · 4.67 KB

File metadata and controls

149 lines (105 loc) · 4.67 KB

Changelog

All changes we make to the assignment code or PDF will be documented in this file.

[26.1.4] - 2026-05-01

  • code: sharded model tests use tensors with even leading dimensions, allowing alternate solutions

[26.1.3] - 2026-04-28

  • writeup: write proper FA3-style backward pass with two passes, one for dK, dV, and a separate for dQ
  • writeup: enforce consistency in backward and forward algorithm notation
  • writeup: encourage using the DDP test for the DDP implementation

[26.1.2] - 2026-04-28

  • code: fix package existence bug for __init__.py
  • code: relax equality for FSDP testing
  • writeup: correct test file names for DDP

[26.1.1] - 2026-04-20

  • handout: Remove H100-specific references in favor of B200 use and TMA description

[26.1.0] - 2026-04-16

  • handout: clean up language, fix a few inconsistencies
  • handout: fix triton code compile issue
  • handout: reduce work for profiling bits

[26.0.0] - 2026-04-15

  • handout: more detailed Nsight Systems profiler
  • handout: replace leaderboard task with full forward and backward pass on two B200s
  • handout: add section on activation checkpointing
  • handout: remove excessive benchmarking, multi-GPU sweeps
  • handout: add FSDP section
  • handout: remove bucketed DDP

[1.0.5] - 2025-07-03

Fixed

  • code: typos regarding FlashAttention2 in the adapters

Added

  • code: uv build backend for building the package

[1.0.4] - 2025-04-27

Fixed

  • handout: details for leaderboard submission
  • handout: replace Pytorch profiler with Nsight for DDP

Added

  • handout: clarify which attention implementations to benchmark

[1.0.3] - 2025-04-24

Fixed

  • handout: memory_profiling (b) should sweep over context length, not model size
  • handout: keyword argument in FA2 Triton starter code from tile_shape -> block_shape
  • handout: minor typo in flash_backward problem statement
  • handout: launch all-gather example using uv run

[1.0.2] - 2025-04-22

Added

  • handout: clarify interface for flash autograd function
  • handout: clarify submission for attention benchmarking

Fixed

  • handout: fix small notation issues in the flash algorithm
  • handout: fix math error and explanation for flash backward savings
  • handout: change parameters used for attention benchmarking to be sensible

Removed

  • handout: some memory benchmarking that is incompatible with modern PyTorch

[1.0.1] - 2025-04-17

Added

  • code: Include tests for logsumexp in flash forward implementation
  • handout: Clarify interface for flash autograd function
  • code: Test causal=True for forward as well as backward

[1.0.0] - 2025-04-16

Added

  • handout/code: add FlashAttention2
  • handout: add proper profiling with Nsight Systems
  • handout: add communication accounting
  • code: tests for additional content

Changed

  • handout: greatly improve demo example for Triton
  • handout: remove busywork for communication

Fixed

  • handout: clarify that ddp_bucketed_benchmarking doesn't require the full grid of runs.

[0.0.4] - 2024-04-23

Added

Changed

  • code: remove try-finally blocks in DDP tests.

Fixed

  • handout: remove outdated mention of a problem that doesn't exist on the assignment
  • handout: fix Slurm environment variables in examples.
  • handout: clarify assumptions in ddp_bucketed_benchmarking (b).

[0.0.3] - 2024-04-21

Added

Changed

  • code: remove humanfriendly from requirements.txt, add matplotlib
  • handout: modify problem distributed_communication_multi_node to specify that multinode measurements should be 2x1, 2x2, and 2x3.
  • handout: clarify that torch.cuda.synchronize() is necessary for timing collective communication ops, even when they are called with async_op=False.

Fixed

  • handout: fixed cut off text in problem memory_profiling (a)
  • handout: fixed mismatch between slurm config and description text in section 3.2
  • code: fix ToyModelWithTiedWeights to actually tie weights.
  • handout: fix typo in bucketed DDP test command, should be pytest tests/test_ddp.py
  • handout: fix deliverable of ddp_overlap_individual_parameters_benchmarking (a) to not ask for communication time, only end-to-end step time.
  • handout: clarify analysis in optimizer_state_sharding_accounting (a).

[0.0.1] - 2024-04-17

Added

  • handout: added a short question about variability on problem benchmarking_script

Changed

Fixed

  • handout: fixed typo in problem triton_rmsnorm_forward. The adapters should return the classes, not the .apply attribute.
  • code: added -e flag to ./cs336-systems/'[test]'
  • handout: clarified recommendation about the timeit module
  • handout: clarified question about kernel with highest CUDA total

[0.0.0] - 2024-04-16

Initial release.