Computer System Design assignment
C++ Python
Latest commit 7836518 Sep 27, 2011 @gsiddardha gsiddardha Tiny changes
Permalink
Failed to load latest commit information.
matrix Many changes which are listed below Aug 23, 2011
.gitignore Add OUTPUT to .gitignore Aug 23, 2011
Access.cpp Some optimisation Aug 23, 2011
Access.h
Block.cpp
Block.h
Cache.cpp Correct conflict misses count Aug 29, 2011
Cache.h Tiny changes Sep 27, 2011
INPUT
Makefile Merge branch 'cache' Aug 21, 2011
Memory.cpp Many changes which are listed below Aug 23, 2011
Memory.h Many changes which are listed below Aug 23, 2011
README.md
Report.txt
Set.cpp Tiny changes Sep 27, 2011
Set.h
cases.py Finished scripting cases.py Sep 12, 2011
main.cpp Cold & Conflict misses done Aug 23, 2011

README.md

Implementation of cache-unaware, cache-aware, and cache-oblivious matrix multiplication algorithms

The project consists of two parts:

  • Building a cache simulator
    • Design a cache simulator where user can specify the cache parameters such as cache size, associativity, block size. The cache simulator uses the LRU replacement policy. The simulator need not store the actual data, but it keeps track of data references. It has to give the statistics such as overall accesses, compulsory misses, capacity misses, conflict misses, and hit rate.
  • Implementing various matrix multiplication algorithms
    • By assuming the elements of a matrix are stored in row-major order, design and implement cache-unaware, cache-aware, and cache-oblivious matrix multiplication algorithms and report the cache statistics using the above simulator.