Project 19 considers how computer memory is stored in a hierarchy of locations, including cache memory; how this effects the speed of results, and how a programmer can try to discover and take advantage of the storage pattern on a given computer.
As part of this investigation, we must learn to figure out how to do timings, try to expalin and deal with the variability in timings, and investigate the way the computer tries to anticipate what our next memory request will be.
The case study involves computing an MxN matrix-vector product y=A*x. We consider several alternative ways of computing this result, and we vary the problem sizes as well.
You can go up one level to the Computational Science Projects page.