Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implementation of CUDA accelerated passive crossbar programming simulation for the 2021 Data Driven model #125

Merged
merged 38 commits into from
Feb 10, 2022

Commits on Nov 4, 2021

  1. random_crossbar_init implemented

    The following variable: random_crossbar_init initializes the crossbar to random device conductances in between 1/Ron and 1/Roff. This will be useful to test the robustness of a passive crossbar to reprogram itself to different conductances after previous inference. It will not affect anything if transistor is set to True.
    Philippe-Drolet committed Nov 4, 2021
    Configuration menu
    Copy the full SHA
    83f4e95 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    ddb86ce View commit details
    Browse the repository at this point in the history

Commits on Nov 11, 2021

  1. Merge remote-tracking branch 'origin/master'

    # Conflicts:
    #	memtorch/bh/crossbar/Crossbar.py
    #	memtorch/mn/Module.py
    victor-yon committed Nov 11, 2021
    Configuration menu
    Copy the full SHA
    6f4e50a View commit details
    Browse the repository at this point in the history

Commits on Nov 26, 2021

  1. Simulate_passive_optimizationV0.1

    not tested not working just backup for now
    Philippe-Drolet committed Nov 26, 2021
    Configuration menu
    Copy the full SHA
    6f9da4d View commit details
    Browse the repository at this point in the history

Commits on Dec 7, 2021

  1. partially working

    Philippe-Drolet committed Dec 7, 2021
    Configuration menu
    Copy the full SHA
    fa6479f View commit details
    Browse the repository at this point in the history

Commits on Dec 21, 2021

  1. Functional Kernels DD

    Philippe-Drolet committed Dec 21, 2021
    Configuration menu
    Copy the full SHA
    5e43d4d View commit details
    Browse the repository at this point in the history

Commits on Jan 3, 2022

  1. Data_Driven simulate no neighbours implemented implemented

    Implementation of data_driven simulate no neighbours made.
    Philippe-Drolet committed Jan 3, 2022
    Configuration menu
    Copy the full SHA
    816a480 View commit details
    Browse the repository at this point in the history
  2. Update gitignore.

    Philippe-Drolet committed Jan 3, 2022
    Configuration menu
    Copy the full SHA
    8dec0e0 View commit details
    Browse the repository at this point in the history

Commits on Jan 14, 2022

  1. Initial Testing + Documentation

    Shaky accuracy with simulate neighbours routine (probably working as intended, but the effects of V/2 applied is non neglectable) Documentation added for the cuda kernels
    Philippe-Drolet committed Jan 14, 2022
    Configuration menu
    Copy the full SHA
    1e20254 View commit details
    Browse the repository at this point in the history

Commits on Feb 6, 2022

  1. Adapted Crossbar.py to the current implementation of passive simulation

    Changed the code of crossbar.py based on what is currently implemented in CUDA
    Philippe-Drolet committed Feb 6, 2022
    Configuration menu
    Copy the full SHA
    2b9bd1d View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    e76c91b View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    cf4aa8f View commit details
    Browse the repository at this point in the history
  4. random_crossbar_init implemented

    The following variable: random_crossbar_init initializes the crossbar to random device conductances in between 1/Ron and 1/Roff. This will be useful to test the robustness of a passive crossbar to reprogram itself to different conductances after previous inference. It will not affect anything if transistor is set to True.
    Philippe-Drolet committed Feb 6, 2022
    Configuration menu
    Copy the full SHA
    a3e8218 View commit details
    Browse the repository at this point in the history
  5. Simulate_passive_optimizationV0.1

    not tested not working just backup for now
    Philippe-Drolet committed Feb 6, 2022
    Configuration menu
    Copy the full SHA
    cf4fed0 View commit details
    Browse the repository at this point in the history
  6. partially working

    Philippe-Drolet committed Feb 6, 2022
    Configuration menu
    Copy the full SHA
    c6460c8 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    833877a View commit details
    Browse the repository at this point in the history
  8. Data_Driven simulate no neighbours implemented implemented

    Implementation of data_driven simulate no neighbours made.
    Philippe-Drolet committed Feb 6, 2022
    Configuration menu
    Copy the full SHA
    9a46e56 View commit details
    Browse the repository at this point in the history
  9. Update gitignore.

    Philippe-Drolet committed Feb 6, 2022
    Configuration menu
    Copy the full SHA
    493fbe1 View commit details
    Browse the repository at this point in the history
  10. Initial Testing + Documentation

    Shaky accuracy with simulate neighbours routine (probably working as intended, but the effects of V/2 applied is non neglectable) Documentation added for the cuda kernels
    Philippe-Drolet committed Feb 6, 2022
    Configuration menu
    Copy the full SHA
    3b5f552 View commit details
    Browse the repository at this point in the history
  11. Adapted Crossbar.py to the current implementation of passive simulation

    Changed the code of crossbar.py based on what is currently implemented in CUDA
    Philippe-Drolet committed Feb 6, 2022
    Configuration menu
    Copy the full SHA
    432f147 View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    10ad7d3 View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    e1f8629 View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    beebe98 View commit details
    Browse the repository at this point in the history
  15. Removed test files

    Philippe-Drolet committed Feb 6, 2022
    Configuration menu
    Copy the full SHA
    55dbdb4 View commit details
    Browse the repository at this point in the history
  16. Configuration menu
    Copy the full SHA
    34a7862 View commit details
    Browse the repository at this point in the history

Commits on Feb 7, 2022

  1. fixed small bug in Crossbar.py

    The code would have called memtorch_cuda_bindings even if the version was CPU.
    Philippe-Drolet committed Feb 7, 2022
    Configuration menu
    Copy the full SHA
    de8dc2d View commit details
    Browse the repository at this point in the history

Commits on Feb 8, 2022

  1. Update memtorch/cu/simulate_passive_kernels.cu

    Co-authored-by: Corey Lammie <[email protected]>
    Philippe-Drolet and coreylammie committed Feb 8, 2022
    Configuration menu
    Copy the full SHA
    0db6b0c View commit details
    Browse the repository at this point in the history
  2. Update setup.py

    Set CUDA = False for CI
    
    Co-authored-by: Corey Lammie <[email protected]>
    Philippe-Drolet and coreylammie committed Feb 8, 2022
    Configuration menu
    Copy the full SHA
    917f0ab View commit details
    Browse the repository at this point in the history
  3. Update memtorch/bh/crossbar/Crossbar.py

    remove memristor_model_params random comment oversight
    
    Co-authored-by: Corey Lammie <[email protected]>
    Philippe-Drolet and coreylammie committed Feb 8, 2022
    Configuration menu
    Copy the full SHA
    76c218d View commit details
    Browse the repository at this point in the history
  4. Update memtorch/bh/crossbar/Crossbar.py

    Co-authored-by: Corey Lammie <[email protected]>
    Philippe-Drolet and coreylammie committed Feb 8, 2022
    Configuration menu
    Copy the full SHA
    bb1b76a View commit details
    Browse the repository at this point in the history
  5. Update memtorch/version.py

    Co-authored-by: Corey Lammie <[email protected]>
    Philippe-Drolet and coreylammie committed Feb 8, 2022
    Configuration menu
    Copy the full SHA
    426e551 View commit details
    Browse the repository at this point in the history
  6. Update memtorch/cu/simulate_passive_kernels.cu

    Co-authored-by: Corey Lammie <[email protected]>
    Philippe-Drolet and coreylammie committed Feb 8, 2022
    Configuration menu
    Copy the full SHA
    2233da0 View commit details
    Browse the repository at this point in the history
  7. Update memtorch/cu/simulate_passive_kernels.cu

    Co-authored-by: Corey Lammie <[email protected]>
    Philippe-Drolet and coreylammie committed Feb 8, 2022
    Configuration menu
    Copy the full SHA
    9b8c226 View commit details
    Browse the repository at this point in the history
  8. Update memtorch/cu/simulate_passive_kernels.cu

    Co-authored-by: Corey Lammie <[email protected]>
    Philippe-Drolet and coreylammie committed Feb 8, 2022
    Configuration menu
    Copy the full SHA
    054e5dc View commit details
    Browse the repository at this point in the history
  9. Update based on recommendations

    - Removed ideal_crossbar matrix
    - Made list of implemented models global
    - Added exception thrown when a model is not implemented
    - Refactored a part of the CUDA kernel
    -Removed function from CUD header (cuh file)
    -Removed redundant build_g_tensor function
    Philippe-Drolet committed Feb 8, 2022
    Configuration menu
    Copy the full SHA
    cd7cd87 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    aab336b View commit details
    Browse the repository at this point in the history
  11. Delete train.py

    Philippe-Drolet committed Feb 8, 2022
    Configuration menu
    Copy the full SHA
    f08b1e1 View commit details
    Browse the repository at this point in the history
  12. Delete tmp_data

    Philippe-Drolet committed Feb 8, 2022
    Configuration menu
    Copy the full SHA
    e742b7b View commit details
    Browse the repository at this point in the history