1. 07 Sep, 2022 2 commits
  2. 26 Aug, 2022 1 commit
  3. 25 Aug, 2022 1 commit
    • Min Xu's avatar
      [chore] update nightly version (#1064) · 15d4cf15
      Min Xu authored
      
      
      * update nightly version
      
      * update wgit to use numpy for load/store
      
      - this is introduced with new nightly torch version, which made torch.save() not
        producing deterministic bytes
      - this make tensor<->numpy conversion and then do the save/load to avoid that issues.
      
      * fixed tests
      Co-authored-by: default avatarMin Xu <min.xu.public@gmail.com>
      15d4cf15
  4. 11 Aug, 2022 1 commit
  5. 08 Aug, 2022 2 commits
  6. 03 Aug, 2022 1 commit
  7. 31 Jul, 2022 1 commit
    • Riyasat Ohib's avatar
      Implmentation of dense_sst_to_dst and sst_dst_to_dense (#1048) · c1dada48
      Riyasat Ohib authored
      [Feat] Implements dense_sst_to_dst and sst_dst_to_dense methods and adds tests
      
      1. Implements the dense_sst_to_dst and sst_dst_to_dense method.
      2. Adds tests for perfect reconstruction with all top-k across different dims.
      3. Adds tests for the two new methods.
      c1dada48
  8. 27 Jul, 2022 1 commit
    • Riyasat Ohib's avatar
      [Feat] dense to sst implementation (#1034) · 608492af
      Riyasat Ohib authored
      * [Feat] dense to sst implementation
      1. Implementation of dense_to_sst function.
      2. calculating the threshold for both the cases of top-k-element and top-k-percentage (fraction)
      3. assertions to verify that the top_k_elements is smaller than the numel along the same dim
      4. top_k_percent to top-k conversion
      5. When calculating SST, now the real part of the complex dense_freq is used instead of the magnitudes.
      
      * [Feat, Tests] transform method addition, handling of top_k_element None case
      1. Addition of a transform method
      2. Adds code to handle the dim=None case for top_k_element
      
      * [Feat, Refactor] Reorganizations, new assertions and fixes.
      1. XOR for validation that both of topk percent and element are not set, or both simultaneously unset. One and only one is set.
      3. Distills topk and percent both to topk using unified helper function .
      5. Adds a scatter topk values function to scatter values for SST and in future DST.
      6. Validation for percentage range, and ensures k is never 0.
      7. Uses config validation, adds config validation for top_k_element > 0 if not None.
      608492af
  9. 26 Jul, 2022 1 commit
  10. 22 Jul, 2022 1 commit
  11. 21 Jul, 2022 1 commit
  12. 19 Jul, 2022 1 commit
    • Min Xu's avatar
      [feat]: add per-tensor add to repo (#1033) · 4d58a294
      Min Xu authored
      
      
      * formatting change, no logical change
      
      * formatting and name change, no logical change
      
      * [refactor] sha1_store's path arg
      
      - make sha1_store's path arg directly the path, not its parent
      - this is because sha1_store is not like a .git or a .wgit dir, which is
        nested inside another "working" dir. It is simply a store, which
        is using a given dir.
      - updated repo and tests as well.
      
      * remove a test warning due to deprecated API from torch
      
      * [refactor] change how dot_wgit_dir_path is used
      
      - it should only be assigned in __init__.
      - we use it in error checking in the rest APIs.
      
      * simplify the init a bit
      
      * refactor the sanity check
      
      * moved some functions, no code change
      
      * [feat] added per-tensor add to the repo
      
      * enabled gzip compression on add
      
      * fix a unit test
      
      * add a note
      
      * make sha1 store work on general dict
      
      * handle general state_dict from a model, not just a module's one-level OrderedDict
      
      * formatting
      Co-authored-by: default avatarMin Xu <min.xu.public@gmail.com>
      4d58a294
  13. 18 Jul, 2022 1 commit
  14. 14 Jul, 2022 2 commits
  15. 12 Jul, 2022 2 commits
  16. 05 Jul, 2022 1 commit
    • Riyasat Ohib's avatar
      weigit status and checking for file modification and tracking (#1021) · 5b5db28d
      Riyasat Ohib authored
      * [Fix] Restructure for wgit availability as a package
      
      * Preliminary implementation of wgit status
      
      * [Feat] Addition of wgit status
      1. Functionalities to check the status of the repo.
      2. Checks if file has been modified, whether changes added or added changes commited.
      
      * [test] Addition of tests for weigit status
      1. Some minor refactors and docstring changes
      
      * [Fix] Changes in repo status test
      
      * [test] status test fix
      1. made the test status printing order independent
      
      * [refactor] Metadata dirs mirroring chkpt paths, changes in wgit status
      1. Metadata files are now created within wgit with directory structure mirroring the relative paths of the checkpoint/files they track.
      2. Changes in status: 3 statuses now.
      3. Changes in tests.
      4. Some code refactoring.
      
      * [cleanup] minor changes in comments and cleanup
      5b5db28d
  17. 29 Jun, 2022 1 commit
  18. 24 Jun, 2022 1 commit
    • Riyasat Ohib's avatar
      weigit: Fixed file tracking with metadata. Changes in sha1_store for better... · a1cc3874
      Riyasat Ohib authored
      
      weigit: Fixed file tracking with metadata. Changes in sha1_store for better encapsulation. Docstrings. (#1013)
      
      * [Feat] Fixed file tracking with metadata. Change in sha1_store for better encapsulation. Tests.
      
      1. Adds metadata creation per added file and independently tracks version of each separate file added. That is, now creates separate metadata files
         for each file to be tracked.
      2. Changes in reference tracking to accomodate the change in 1.
      3. Somes changes in SHA1_store for better encapsulation.
      4. Modified the tests to reflect above.
      
      * [Feat]
      1. Added docstrings to the classes.
      2. Added a recursively search for the weigit repo upto root.
      3. Some refactor of the codes.
      
      * [Feat][Refactor] repo and sha1_store add modification and separation. Modification in reference tracking
      
      1. Separation of add functionalities of repo.add and sha1_store.add.
      2. Updated the reference tracking.
      3. New tests and code refactor
      
      * [Fix] Sha1_store fix overlap in first two characters of sha1 hash.
      1. Accept multiple sha1 hash's with same two starting characters and create directories accordingly.
      
      * [Fix] Minor refactoring and test fix
      
      * [Fix] Fix for pygit class initialization in cases when no .gitconfig file is available
      Co-authored-by: default avatarRiyasat Ohib <riohib@devfair0756.h2.fair>
      a1cc3874
  19. 15 Jun, 2022 1 commit
  20. 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
  21. 12 Jun, 2022 1 commit
  22. 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
  23. 31 May, 2022 1 commit
  24. 30 May, 2022 1 commit
  25. 26 May, 2022 1 commit
  26. 25 May, 2022 1 commit
  27. 02 May, 2022 1 commit
    • Paul Johnson's avatar
      [FSDP] ssd_offload fixing backward path (grad_fn) for SsdFlatParameter and... · 51b53ddb
      Paul Johnson authored
      [FSDP] ssd_offload fixing backward path (grad_fn) for SsdFlatParameter and SsdFlatParameterView (#974)
      
      * [FSDP] fixing backward path for SsdFlatParameter and SsdFlatParameterView when overriding .data
      
      * Get ssd_offload unit tests passing
      
      * [FSDP] get all test_fsdp_offload tests passing w/ ssd_offload on
      
      * Update changelog
      51b53ddb
  28. 26 Apr, 2022 1 commit
  29. 06 Apr, 2022 1 commit
  30. 30 Mar, 2022 1 commit
  31. 03 Mar, 2022 1 commit
  32. 23 Feb, 2022 2 commits
  33. 22 Feb, 2022 1 commit
    • anj-s's avatar
      [benchmarks] Add benchmarks for FSDP (#765) · f9a125db
      anj-s authored
      * add benchmarks for fsdp
      
      * fix lint errors
      
      * clean up
      
      * clean up unused flags
      
      * add the benchmarks
      
      * remove unused args
      
      * fix lint errors
      
      * fix lint errors
      
      * update command line
      
      * add support for multiple devices
      
      * try full fp16 mode
      
      * try full fp16 mode
      
      * lint errors
      
      * merge main
      
      * lint errors
      
      * lint errors
      
      * lint error
      
      * update intersphinx mapping for numpy
      
      * update intersphinx mapping for numpy
      
      * skip test
      
      * added golden configs
      
      * use synthetic benchmarks
      
      * fix fn name
      
      * fix cuda device id
      
      * fix verify
      
      * lint fix
      f9a125db
  34. 15 Feb, 2022 1 commit
  35. 14 Feb, 2022 1 commit
    • Min Xu's avatar
      [chore] [cleanup]: pytest, pytorch new versions, fix tests (#933) · fae29959
      Min Xu authored
      
      
      * update pytest versions
      
      * [test] test related changes
      
      - upgrade to newer pytorch versions
      - added function to make test more deterministic on A100 and TF32
      - fixed some tests so that they are correctly skipped on a single GPU system
      
      * more fixes
      
      * formatting overly long lines
      
      * format
      
      * better test without trigger a warning
      
      * fix an optim state bug with newer pytorch
      
      - adam optimizer seems to return "step" as a singleton tensor now in the
      nightly build
      - this fixes it assumeing non-tensor value can still be loaded back by
      the optimizer
      
      * improve oss.py
      
      - use min_loss for regression checking is a bit more reliable
      - also increased the num epochs from 10 to 12
      
      * small oss.py fix
      
      * Update fairscale/nn/data_parallel/fully_sharded_data_parallel.py
      Co-authored-by: default avatarMin Xu <min.xu.public@gmail.com>
      fae29959