1. 24 Sep, 2022 2 commits
  2. 14 Jun, 2022 1 commit
    • Riyasat Ohib's avatar
      Addition of wgit add and wgit commit functionalities. Includes refactors and new classes. (#1002) · c506e7ed
      Riyasat Ohib authored
      * [feat] Adds the implementaion for the wgit add functionality, with sha1 hash creation, reference tracking, dependency graph creation and all related functionalities for the wgit add method.
      
      * [feat] Adds the wgit add and wgit commit functionalities and major refactors.
      
      1. Adds the wgit add and wgit commit functionalities to the api.
      2. Introduces a new PyGit class that wraps the internal .wgit/.git repo.
      3. Refactors the Repo class in the api, and introduces some methods.
      4. .Refactors all the classes which no longer uses @staticmethods and now uses object istances instead.
      5.  Moved many of the directory path handling code from os.path to pathlib library.
      
      * [Feat] Combines the Repo and Weigit classes. Separate claases into separate modules.
      
      1. Combines the functionalities of the WeiGit and Repo class into a single WeiGitRepo class.
      2. Classes are now separated into their own modules.
      3. Moved some functions and staticmethod to utils.
      4. Adds a range of tests for add and commit functionalities of weigit.
      
      * [fix] adds a new test to the ci_test_list_3
      
      * [fix] test fix
      
      * [fix] test fix
      
      * [Feat] Directory restructuring, type checking and some standardization
      1. Restructured the directory and moved wgit to fairscale/experimental/wgit so that it can be found as a package when pip installed.
      2. Added a range of type checking
      3. Some refactors
      
      * [Feat][Refactor] Directory restructuring, test addition and type checking
      1. Restructed the test directory
      2. Added and modified a few wgit tests.
      3. Added some type checking to the code
      
      * test fix
      
      * "setup fix and repo checking added in cli"
      
      * [Feat] Better initialization and error handling for init and wgit subcommands. Test reorg.
      
      * [refactor] Changes in classes, encapsulation and addition of PyGit test.
      
      * [Feat][Refactor]
      1. Changed some class method arguments for better encapsulation for Sha1_store.
      2. Moved sha1 hash calculation within sha1_store.
      3. Some standardization and code clean up of unnecessary snippets.
      4. Added new tests for the PyGit and Sha1_Store class.
      c506e7ed
  3. 01 Jun, 2022 1 commit
    • Riyasat Ohib's avatar
      wgit functionalities and skeleton, move to subparsers and addition of Repo Class (#1001) · 3b727945
      Riyasat Ohib authored
      * [feat] Adding wgit within fairscale/experimental/wgit.
      
      * [feat] adding experimental wgit
      
      * [feat] wgit init functionalities and skeleton for the rest.
      
      * adapted the suggested changes
      
      * repo class working
      
      * [feat] wgit functionalities and skeleton. Addition of subparsers and repo class along with some changes.
      
      * [feat] wgit functionalities and skeleton, move to subparsers and addition of Repo Class
      
      * [feat] wgit functionalities and skeleton, move to subparsers and addition of Repo Class
      
      * [docs] changed a comment in .gitignore
      
      * [refactor] changed the sequene of tests in ci_test_list2.txt
      3b727945
  4. 18 Nov, 2021 1 commit
  5. 08 Nov, 2021 1 commit
  6. 05 Nov, 2021 1 commit
    • Min Xu's avatar
      [feat] experimental MEVO layer (#840) · 8347c1a2
      Min Xu authored
      
      
      * [feat] MEVO kernel
      
      - initial import from min/softmax and min/testing branches
      - need to rename and further cleanup
      
      * only test with newer pytorch
      
      * renamed and added comments and code cleanup
      
      * rename and reduce test memory
      
      * testing
      
      * minor fixing
      
      * fixing
      
      * more fix
      
      * changelog
      
      * more 1.7 and 1.8 paper cuts
      
      * remove dead code
      
      * addressed Benjamin's comments
      
      * addressed more comments
      Co-authored-by: default avatarMin Xu <min.xu.public@gmail.com>
      8347c1a2
  7. 01 Nov, 2021 2 commits
    • Min Xu's avatar
      [feat] [FSDP]: add experimental support to shared weights (#836) · f2af4c66
      Min Xu authored
      
      
      * added a new test, passing without shared weights
      
      * tested weight sharing
      
      * added the test to test list file
      
      * extended to world_size = 2
      
      * fixed test
      
      * [feat]: add limited and experimental support for shared parameter
      
      * fixed tests
      
      * simplify to work with layer with at least 1 non-shared params and add code to pick up linked_param field for sharding the shared param
      
      * fixed the case where linked param is not in separate FSDP
      
      * changelog and remove old code
      Co-authored-by: default avatarMin Xu <min.xu.public@gmail.com>
      f2af4c66
    • anj-s's avatar
      [feature] Add the low level SSD APIs (#829) · a9fcaa28
      anj-s authored
      * add doc strings
      
      * add lower level SSD APIs and tests
      
      * add the test to the list to be run
      
      * remove unused imports
      
      * more doc string changes
      
      * fix lint errors
      a9fcaa28
  8. 27 Oct, 2021 1 commit
  9. 20 Oct, 2021 1 commit
    • Quentin Duval's avatar
      [feat] layer memory tracking (#808) · ad92220c
      Quentin Duval authored
      
      
      * [feat] layer memory tracking
      
      * [feat] layer memory tracking (add tests in CI)
      
      * [feat] layer memory tracking: doc typos
      
      * [feat] layer memory tracking: mypy fixes
      
      * [feat] layer memory tracking: fixes for FSDP all gather tracking on pytorch 1.9 and above
      
      * [feat] layer memory tracking: lint
      
      * [feat] layer memory tracking: mypy
      Co-authored-by: default avatarQuentinDuval <QuentinDuval@users.noreply.github.com>
      ad92220c
  10. 26 Jun, 2021 1 commit
  11. 11 Jun, 2021 1 commit
    • anj-s's avatar
      [Offload][feature] Add auto shard functionality to remove requirement of... · cbeda830
      anj-s authored
      [Offload][feature] Add auto shard functionality to remove requirement of nn.Sequential models. (#695)
      
      * auto wrap functionality
      
      * lint and doc strings
      
      * fix lint errors
      
      * lint errors and version skips
      
      * remove mypy checking and add conditional import
      
      * another math.prod instance
      
      * another import fix
      
      * address comments
      
      * lint errors
      
      * address comments
      
      * fix lint errors
      
      * add placeholder nodes to tracker list
      cbeda830
  12. 17 May, 2021 1 commit
    • Quentin Duval's avatar
      [feat] Save FSDP metadata for offline unflattening + Consolidate checkpoints (#683) · 81c20f72
      Quentin Duval authored
      
      
      * Save FSDP metadata for offline unflattening
      
      * Complete the meta-data saving method with all the information needed to reconstruct a checkpoint offline, and implement the method that reconstruct a consolidated checkpoint from a sharded checkpoint
      
      * Complete the meta-data saving method with all the information needed to reconstruct a checkpoint offline, and implement the method that reconstruct a consolidated checkpoint from a sharded checkpoint
      
      * Add a unit test to show how to use the function
      
      * Code review + improvement of the unit tests
      
      * Code review: extract clean_path
      
      * Make meta data and consolidation of checkpoint work for flatten_parameter=False
      
      * Add new unit test file in CI
      
      * Complete changelog and fix mypy issues
      
      * Add support for module buffers in the consolidation of sharded checkpoints
      
      * Better support for module buffers: save them in the meta data
      
      * Refactoring: use a data-format for the meta data that is simpler to understand (move from object of array to array of object format)
      
      * Renaming to make code clearer
      
      * Code review: in_temporary_directory rework and typo correction
      
      * Renaming
      Co-authored-by: default avatarSam Shleifer <sshleifer@gmail.com>
      Co-authored-by: default avatarQuentinDuval <QuentinDuval@users.noreply.github.com>
      81c20f72
  13. 12 May, 2021 1 commit
    • anj-s's avatar
      [chore] Rename and move checkpoint_activations from misc folder. (#654) · 72c6bab2
      anj-s authored
      * rename files
      
      * add newly renamed file
      
      * rename and move checkpoint activations related files
      
      * add test files to ci list
      
      * fix lint errors
      
      * modify docs
      
      * add changelog
      
      * retain old path for now
      
      * fix lint errors
      
      * add another import test case
      
      * fix merge conflict
      
      * add missing test file
      72c6bab2
  14. 11 May, 2021 1 commit
    • Min Xu's avatar
      [fix] FSDP forward pass overlap between compute and all-gather (#671) · 8a42a8e3
      Min Xu authored
      
      
      * [fix] FSDP forward pass overlap between compute and all-gather
      
      - much thanks for @cyanguwa for report and @QuentinDuval for debugging it
      - a new unit test is added to check for this and ensure we detect
        issue with overlapping and cpu/gpu blocking wait calls
      
      * fix
      
      * fix
      
      * fix
      
      * better assertion outputs
      
      * fix format and tune all_gather mb for CI
      
      * more tuning with non_flatten
      
      * undo an accidental change
      
      * tuning all gather mb and del model
      
      * Update + fix overlapping test to use patched all_gather w/ delay (#672)
      
      * fixing get_cycles_per_ms
      
      * add get_smi_memory
      
      * update the docstring
      Co-authored-by: default avatarMin Xu <min.xu@acm.org>
      Co-authored-by: default avatarMyle Ott <myleott@fb.com>
      8a42a8e3
  15. 07 May, 2021 1 commit
  16. 04 May, 2021 1 commit
  17. 07 Apr, 2021 1 commit
  18. 31 Mar, 2021 1 commit
    • Min Xu's avatar
      [fix] FSDP: disable single rank process group for auto_wrap_bn and fixed mixed... · a0458b98
      Min Xu authored
      [fix] FSDP: disable single rank process group for auto_wrap_bn and fixed mixed precision regnet test (#556)
      
      * [fix] disable single rank process group for auto_wrap_bn
      
      - beefed up unit test with regnet-like model
      - found that single-rank process group is causing problem
      - disabled it to enable convergence tests on the vissl side
      - use `raise e from None` to get a better assertion output
        in testing.py.
      
      * [test] fix regnet test for ddp+mixed_precision
      
      - need AMP context in FSDP
      - workaround different between ddp & fsdp when bias=True
      - fixed a bug in input data generation that caused different ranks have
        the same data with wrong iteration count.
      - added TODO for need a better loss and grad_scaler and reduced
        iters so there is no nan.
      - added a (disabled) debugging code
      
      * lint
      
      * lint
      
      * add scaler
      
      * lint
      
      * scaler
      
      * add a real loss
      
      * seeding in the ranks
      
      * blance tests
      
      * run AMP DDP==FSDP test only on cuda version 11 and up
      
      * add relu inplace and comment
      
      * make wrap_bn covers more cases in full precision mode
      a0458b98
  19. 20 Mar, 2021 1 commit
  20. 19 Mar, 2021 2 commits
  21. 18 Mar, 2021 1 commit
  22. 04 Mar, 2021 1 commit
    • Min Xu's avatar
      [feat]: checkpoint and normalization (#457) · 5e64d6a7
      Min Xu authored
      * [feat]: checkpoint and normalization
      
      - added special handling of BN for track_running_stats and checkpointing
      - we test BN/LN and checkpointing
      - we test them with mixed precision
      5e64d6a7
  23. 01 Mar, 2021 1 commit
    • Min Xu's avatar
      [chores]: make CI more efficient and update py39 env a bit (#447) · 5eb6b8c7
      Min Xu authored
      * [chores]: CI py39 on GPU and more efficiency
      
      * add test list files
      
      * fix
      
      * add test list files
      
      * split benchmark run into 2 runs
      
      * fix 1.8 version and balance benchmarks
      
      * fix
      
      * fix
      
      * fix
      
      * fix
      
      * recording tests
      
      * py39 install fix
      
      * test again
      
      * move tests
      
      * reorg tests
      
      * skip tests for torch 1.8 due to an upstream bug
      
      * removed __init__.py from tests since it confuses pytest
      
      * Revert "removed __init__.py from tests since it confuses pytest"
      
      This reverts commit 7e156ba33dfaa5ed052031780613ec0cb57a45b0.
      
      * don't include __init__ in file list
      
      * notes on __init__.py and added missing ones
      
      * fixed mypy in a test file
      
      * balance test runtime
      
      * better pip install
      
      * balance more
      
      * pip fix
      
      * balance
      
      * balance more, all test should finish within 20m now
      
      * minor license update
      
      * trying cu102
      
      * more doc and addressed Ben's comments
      
      * debugging
      
      * debugging...
      5eb6b8c7