summaryrefslogtreecommitdiff
path: root/README.md
blob: 77b32462bbeb0eccdacacadd555fc6cbee43f4cb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
# benchmark_suite_IREU
A benchmark suite for memristive and memcapacitive crossbar computing systems

## Research question
How does a chosen device subcircuit affect the same computing system? 

The memristive computing field lacks standardized benchmarks that control for 
workload characteristics, expose device-type differences, and report results 
comparable to conventional CMOS hardware. This project designs, implements, and 
releases a benchmark suite targeting memristive and memcapacitive crossbar 
architectures on CMOS substrates.

## abstract
MemDevice Benchmark is a benchmarking framework for simulated memristor crossbar's 
using reservoir computing tasks as standardized workloads with the goal of revealing 
unique device model effects. The framework evaluates memristor devices under the 
same circuit, network, and workload characteristics. In the proposed architecture 
the SPICE crossbar is implemented as the readout layer for a reservoir computer.
Ridge regressiong training is done on a software reservoir, training the software 
weights. An input series is given to the reservoir, the resulting temporal states 
are  converted into voltage signals applied to the crossbar rows. The trained readout 
weights are converted into equivalent resistances to serve as the initial device 
values. The crossbar columns are read and mapped back to human readable data that 
prove task prediciton capability.

Because the reservoir, crossbar, training procedure and benchmark tasks remain fixed, 
different SPICE device models can be hot swapped and benchmarked in one continous 
process, making fair comparisons possible and observing how device model choice 
affects the same computing system

## Setup
**Download Spires:**   
git clone https://github.com/txmastin/spires.git   
cd spires   
make   

**Download plplot:**   
git clone git://git.code.sf.net/p/plplot/plplot plplot.git   
cd plplot.git   
mkdir build   
cd build   
make   
sudo make install   

**Other dependencies may be required for the listed libraries**

**from the projects root directory (~/MemDevice_Benchmark/)**    
make run   

##