Skip to content

Anonymous GitHub repository for MemTorch: A Simulation Framework for Deep Memristive Cross-bar Architectures (ISCAS 2020 Paper ID: 2540)

Notifications You must be signed in to change notification settings

UNCBJKNQHR/ZWJACXXSTD

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Anonymous GitHub repository for MemTorch: A Simulation Framework for Deep Memristive Cross-bar Architectures (ISCAS 2020 Paper ID: 2540)

Our C++/CUDA PyTorch quantization extension is used within MemTorch to model the finite number of conductance states for non-ideal memristive devices. To install from source (requires the torch and numpy packages and CUDA Toolkit 10.1) execute the following commands within a terminal:

git clone https://github.com/UNCBJKNQHR/ZWJACXXSTD
cd ZWJACXXSTD
python setup.py install

Example usage:

import torch
import quantization

torch.manual_seed(1)
num_quantization_states = 5
tensor = torch.zeros(1, 5, 4).uniform_(-1, 1).cuda()
print(tensor)
quantization.quantize(tensor, num_quantization_states, tensor.min(), tensor.max())
print(tensor)

Corresponding output:

# First print(tensor)
tensor([[[ 0.5153, -0.4414, -0.1939,  0.4694],
         [-0.9414,  0.5997, -0.2057,  0.5087],
         [ 0.1390, -0.1224,  0.2774,  0.0493],
         [ 0.3652, -0.3897, -0.0729, -0.0900],
         [ 0.1449, -0.0040,  0.8742,  0.3112]]], device='cuda:0')
# Second print(tensor)
tensor([[[ 0.4203, -0.4875, -0.0336,  0.4203],
         [-0.9414,  0.4203, -0.0336,  0.4203],
         [-0.0336, -0.0336,  0.4203, -0.0336],
         [ 0.4203, -0.4875, -0.0336, -0.0336],
         [-0.0336, -0.0336,  0.8742,  0.4203]]], device='cuda:0')

About

Anonymous GitHub repository for MemTorch: A Simulation Framework for Deep Memristive Cross-bar Architectures (ISCAS 2020 Paper ID: 2540)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published