sheet3
This commit is contained in:
parent
56614805cf
commit
2195a9db0a
51 changed files with 13038 additions and 0 deletions
110
sheet3/1/READ.ME
Normal file
110
sheet3/1/READ.ME
Normal file
|
|
@ -0,0 +1,110 @@
|
|||
===============================================
|
||||
|
||||
STREAM is the de facto industry standard benchmark
|
||||
for measuring sustained memory bandwidth.
|
||||
|
||||
Documentation for STREAM is on the web at:
|
||||
http://www.cs.virginia.edu/stream/ref.html
|
||||
|
||||
===============================================
|
||||
NEWS
|
||||
===============================================
|
||||
UPDATE: October 28 2014:
|
||||
|
||||
"stream_mpi.c" released in the Versions directory.
|
||||
|
||||
Based on Version 5.10 of stream.c, stream_mpi.c
|
||||
brings the following new features:
|
||||
* MPI implementation that *distributes* the arrays
|
||||
across all MPI ranks. (The older Fortran version
|
||||
of STREAM in MPI *replicates* the arrays across
|
||||
all MPI ranks.)
|
||||
* Data is allocated using "posix_memalign"
|
||||
rather than using static arrays. Different
|
||||
compiler flags may be needed for both portability
|
||||
and optimization.
|
||||
See the READ.ME file in the Versions directory
|
||||
for more details.
|
||||
* Error checking and timing done by all ranks and
|
||||
gathered by rank 0 for processing and output.
|
||||
* Timing code uses barriers to ensure correct
|
||||
operation even when multiple MPI ranks run on
|
||||
shared memory systems.
|
||||
|
||||
NOTE: MPI is not a preferred implementation for
|
||||
STREAM, which is intended to measure memory
|
||||
bandwidth in shared-memory systems. In stream_mpi,
|
||||
the MPI calls are only used to properly synchronize
|
||||
the timers (using MPI_Barrier) and to gather
|
||||
timing and error data, so the performance should
|
||||
scale linearly with the size of the cluster.
|
||||
But it may be useful, and was an interesting
|
||||
exercise to develop and debug.
|
||||
|
||||
===============================================
|
||||
UPDATE: January 17 2013:
|
||||
|
||||
Version 5.10 of stream.c is finally available!
|
||||
|
||||
There are no changes to what is being measured, but
|
||||
a number of long-awaited improvements have been made:
|
||||
|
||||
* Updated validation code does not suffer from
|
||||
accumulated roundoff error for large arrays.
|
||||
* Defining the preprocessor variable "VERBOSE"
|
||||
when compiling will (1) cause the code to print the
|
||||
measured average relative absolute error (rather than
|
||||
simply printing "Solution Validates", and (2) print
|
||||
the first 10 array entries with relative error exceeding
|
||||
the error tolerance.
|
||||
* Array index variables have been upgraded from
|
||||
"int" to "ssize_t" to allow arrays with more
|
||||
than 2 billion elements on 64-bit systems.
|
||||
* Substantial improvements to the comments in
|
||||
the source on how to configure/compile/run the
|
||||
benchmark.
|
||||
* The proprocessor variable controlling the array
|
||||
size has been changed from "N" to "STREAM_ARRAY_SIZE".
|
||||
* A new preprocessor variable "STREAM_TYPE" can be
|
||||
used to override the data type from the default
|
||||
"double" to "float".
|
||||
This mechanism could also be used to change to
|
||||
non-floating-point types, but several "printf"
|
||||
statements would need to have their formats changed
|
||||
to accomodate the modified data type.
|
||||
* Some small changes in output, including printing
|
||||
array sizes is GiB as well as MiB.
|
||||
* Change to the default output format to print fewer
|
||||
decimals for the bandwidth and more decimals for
|
||||
the min/max/avg execution times.
|
||||
|
||||
|
||||
===============================================
|
||||
UPDATE: February 19 2009:
|
||||
|
||||
The most recent "official" versions have been renamed
|
||||
"stream.f" and "stream.c" -- all other versions have
|
||||
been moved to the "Versions" subdirectory and should be
|
||||
considered obsolete.
|
||||
|
||||
The "official" timer (was "second_wall.c") has been
|
||||
renamed "mysecond.c". This is embedded in the C version
|
||||
("stream.c"), but still needs to be externally linked to
|
||||
the FORTRAN version ("stream.f"). The new version defines
|
||||
entry points both with and without trailing underscores,
|
||||
so it *should* link automagically with any Fortran compiler.
|
||||
|
||||
===============================================
|
||||
|
||||
STREAM is a project of "Dr. Bandwidth":
|
||||
John D. McCalpin, Ph.D.
|
||||
john@mccalpin.com
|
||||
|
||||
===============================================
|
||||
|
||||
The STREAM web and ftp sites are currently hosted at
|
||||
the Department of Computer Science at the University of
|
||||
Virginia under the generous sponsorship of Professor Bill
|
||||
Wulf and Professor Alan Batson.
|
||||
|
||||
===============================================
|
||||
Loading…
Add table
Add a link
Reference in a new issue