Memory Bank Conflicts on the Cray YMP C90

The Cray YPM C90 has 256 memory banks, each of which has a memory latency time of 6 clock cycles. We can use this simple fortran program to measure the performance loss due to memory bank conflicts for various vector strides.

The results, after running on the Cray, are stored in the file membank.cray in the Macintosh HD drives in Stright 320.

We can use Matlab to graph the results. Double-click on the Matlab icon at the bottom of the screen on the Macintoshes (on the DECstations, you would type matlab). Now enter the following commands:

  >> load('Macintosh HD:membank.cray')
  >> plot(membank(:,1), membank(:,2))
  >> title('Memory Bank Conflicts for the Cray YMP C90')
  >> xlabel('stride')
  >> ylabel('time(seconds)')
The load command loads the contents of membank.cray into a 2D array named membank. Membank(:,1) refers to the first column of membank and membank(:,2) refers to the second column, much as in Fortran 90. The first 256 values are membank(1:256,1) and membank(1:256,2). Try plotting these.

Go up to Numerical Methods for Supercomputers