* Memory Usage Limitations:
There are no limitations on the memory usage of your code. (Of course, if your
code exceeds the memory available on the machine, it is your own fault.) You
are free to allocate whatever temporary storage you like and do whatever you
want with it, as long as all computations/transformations on the data are included
in the timing.
* Initializing C
In the pseudocode, I mentioned initializing C. This was an oversight...C does not
need to be initialized since it is overwritten with A*B.
* Matrix Sizes
I was asked to give an estimate of an order of magnitude for the matrix sizes. I was not
planning to pick the matrix sizes for the contest myself, since I will be submitting an
entry. However, matrix dimensions from 2^7 to about 2^12 rows/columns seem like
reasonable values.
* Numeric Data Type
All data and computations should be in double precision.
* Array Initializations--Sparse Matrices?
You can initialize the arrays A and B to whatever you want (some constant value
seems simplest, and random data seems good for testing), but you may not take
advantage of a special initialization. Also, this is not a sparse matrix multiply
contest; don't take advantage of zeros in your matrices. In other words, pretend
that your matrices are filled with random non-zero data, even if they aren't.
Of course, there is one restriction...entries of A and B must be initialized to valid
floating point values. If you start doing floating point operations on NaN's, the
timing results will be completely bogus (and your code will be very slow anyway).
Cordially,
Steven G. Johnson
----
NOTE: This message was sent using a WWW form. The address stevenj@mit.edu
was typed manually, and may easily be incorrect.
In-Reply-To: 9704110420.AA11634@arachnophobia.MIT.EDU