Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Computer System Design assignment
C++ Python
branch: master
Failed to load latest commit information.
matrix Many changes which are listed below
.gitignore Add OUTPUT to .gitignore
Access.cpp Some optimisation
Access.h Cold & Conflict misses done
Block.cpp Cold & Conflict misses done
Block.h Cold & Conflict misses done
Cache.cpp Correct conflict misses count
Cache.h Tiny changes
INPUT Changed the method of taking INPUT
Makefile Merge branch 'cache'
Memory.cpp Many changes which are listed below
Memory.h Many changes which are listed below
README.md
Report.txt Added increment for counter when block is accessed
Set.cpp Tiny changes
Set.h Cold & Conflict misses done
cases.py
main.cpp Cold & Conflict misses done

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.
Something went wrong with that request. Please try again.