|
Packit |
857059 |
-------------------------------------------------------------------------
|
|
Packit |
857059 |
|
|
Packit |
857059 |
Revisions as of Thu, Jan 17, 2013 3:50:01 PM
|
|
Packit |
857059 |
|
|
Packit |
857059 |
Version 5.10 of stream.c has been released.
|
|
Packit |
857059 |
This version includes improved validation code and will automatically
|
|
Packit |
857059 |
use 64-bit array indices on 64-bit systems to allow very large arrays.
|
|
Packit |
857059 |
|
|
Packit |
857059 |
-------------------------------------------------------------------------
|
|
Packit |
857059 |
|
|
Packit |
857059 |
Revisions as of Thu Feb 19 08:16:57 CST 2009
|
|
Packit |
857059 |
|
|
Packit |
857059 |
Note that the codes in the "Versions" subdirectory should be
|
|
Packit |
857059 |
considered obsolete -- the versions of stream.c and stream.f
|
|
Packit |
857059 |
in this main directory include the OpenMP directives and structure
|
|
Packit |
857059 |
for creating "TUNED" versions.
|
|
Packit |
857059 |
|
|
Packit |
857059 |
Only the MPI version in the "Versions" subdirectory should be
|
|
Packit |
857059 |
of any interest, and I have not recently checked that version for
|
|
Packit |
857059 |
errors or compliance with the current versions of stream.c and
|
|
Packit |
857059 |
stream.f.
|
|
Packit |
857059 |
|
|
Packit |
857059 |
I added a simple Makefile to this directory. It works under Cygwin
|
|
Packit |
857059 |
on my Windows XP box (using gcc and g77).
|
|
Packit |
857059 |
|
|
Packit |
857059 |
A user suggested a sneaky trick for "mysecond.c" -- instead of using
|
|
Packit |
857059 |
the #ifdef UNDERSCORE to generate the function name that the Fortran
|
|
Packit |
857059 |
compiler expects, the new version simply defines both "mysecond()"
|
|
Packit |
857059 |
and "mysecond_()", so it should automagically link with most Fortran
|
|
Packit |
857059 |
compilers.
|
|
Packit |
857059 |
|
|
Packit |
857059 |
-------------------------------------------------------------------------
|
|
Packit |
857059 |
|
|
Packit |
857059 |
Revisions as of Wed Nov 17 09:15:37 CST 2004
|
|
Packit |
857059 |
|
|
Packit |
857059 |
The most recent "official" versions have been renamed "stream.f" and
|
|
Packit |
857059 |
"stream.c" -- all other versions have been moved to the "Versions"
|
|
Packit |
857059 |
subdirectory.
|
|
Packit |
857059 |
|
|
Packit |
857059 |
The "official" timer (was "second_wall.c") has been renamed "mysecond.c".
|
|
Packit |
857059 |
This is embedded in the C version ("stream.c"), but still needs to be
|
|
Packit |
857059 |
externally linked to the FORTRAN version ("stream.f").
|
|
Packit |
857059 |
|
|
Packit |
857059 |
-------------------------------------------------------------------------
|
|
Packit |
857059 |
|
|
Packit |
857059 |
Revisions as of Tue May 27 11:51:23 CDT 2003
|
|
Packit |
857059 |
|
|
Packit |
857059 |
Copyright and License info added to stream_d.f, stream_mpi.f, and
|
|
Packit |
857059 |
stream_tuned.f
|
|
Packit |
857059 |
|
|
Packit |
857059 |
|
|
Packit |
857059 |
-------------------------------------------------------------------------
|
|
Packit |
857059 |
|
|
Packit |
857059 |
Revisions as of Tue Apr 8 10:26:48 CDT 2003
|
|
Packit |
857059 |
|
|
Packit |
857059 |
I changed the name of the timer interface from "second" to "mysecond"
|
|
Packit |
857059 |
and removed the dummy argument in all versions of the source code (but
|
|
Packit |
857059 |
not the "Contrib" versions).
|
|
Packit |
857059 |
|
|
Packit |
857059 |
|
|
Packit |
857059 |
-------------------------------------------------------------------------
|
|
Packit |
857059 |
|
|
Packit |
857059 |
Revisions as of Mon Feb 25 06:48:14 CST 2002
|
|
Packit |
857059 |
|
|
Packit |
857059 |
Added an OpenMP version of stream_d.c, called stream_d_omp.c. This is
|
|
Packit |
857059 |
still not up to date with the Fortran version, which includes error
|
|
Packit |
857059 |
checking and advanced data flow to prevent overoptimization, but it is
|
|
Packit |
857059 |
a good start....
|
|
Packit |
857059 |
|
|
Packit |
857059 |
|
|
Packit |
857059 |
-------------------------------------------------------------------------
|
|
Packit |
857059 |
|
|
Packit |
857059 |
Revisions as of Tue Jun 4 16:31:31 EDT 1996
|
|
Packit |
857059 |
|
|
Packit |
857059 |
I have fixed an "off-by-one" error in the RMS time calculation in
|
|
Packit |
857059 |
stream_d.f. This was already corrected in stream_d.c. No results are
|
|
Packit |
857059 |
invalidated, since I use minimum time instead of RMS time anyway....
|
|
Packit |
857059 |
|
|
Packit |
857059 |
-------------------------------------------------------------------------
|
|
Packit |
857059 |
|
|
Packit |
857059 |
Revisions as of Fri Dec 8 14:49:56 EST 1995
|
|
Packit |
857059 |
|
|
Packit |
857059 |
I have renamed the timer routines to:
|
|
Packit |
857059 |
second_cpu.c
|
|
Packit |
857059 |
second_wall.c
|
|
Packit |
857059 |
second_cpu.f
|
|
Packit |
857059 |
|
|
Packit |
857059 |
All have a function interface named 'second' which returns a double
|
|
Packit |
857059 |
precision floating point number. It should be possible to link
|
|
Packit |
857059 |
second_wall.c with stream_d.f without too much trouble, though the
|
|
Packit |
857059 |
details will depend on your environment.
|
|
Packit |
857059 |
|
|
Packit |
857059 |
If anyone builds versions of these timers for machines running the
|
|
Packit |
857059 |
Macintosh O/S or DOS/Windows, I would appreciate getting a copy.
|
|
Packit |
857059 |
|
|
Packit |
857059 |
To clarify:
|
|
Packit |
857059 |
* For single-user machines, the wallclock timer is preferred.
|
|
Packit |
857059 |
* For parallel machines, the wallclock timer is required.
|
|
Packit |
857059 |
* For time-shared systems, the cpu timer is more reliable,
|
|
Packit |
857059 |
though less accurate.
|
|
Packit |
857059 |
|
|
Packit |
857059 |
|
|
Packit |
857059 |
-------------------------------------------------------------------------
|
|
Packit |
857059 |
|
|
Packit |
857059 |
Revisions as of Wed Oct 25 09:40:32 EDT 1995
|
|
Packit |
857059 |
|
|
Packit |
857059 |
(1) NOTICE to C users:
|
|
Packit |
857059 |
|
|
Packit |
857059 |
stream_d.c has been updated to version 4.0 (beta), and
|
|
Packit |
857059 |
should be functionally identical to stream_d.f
|
|
Packit |
857059 |
|
|
Packit |
857059 |
Two timers are provided --- second_cpu.c and second_wall.c
|
|
Packit |
857059 |
second_cpu.c measures cpu time, while second_wall.c measures
|
|
Packit |
857059 |
elapsed (real) time.
|
|
Packit |
857059 |
|
|
Packit |
857059 |
For single-user machines, the wallclock timer is preferred.
|
|
Packit |
857059 |
For parallel machines, the wallclock timer is required.
|
|
Packit |
857059 |
For time-shared systems, the cpu timer is more reliable,
|
|
Packit |
857059 |
though less accurate.
|
|
Packit |
857059 |
|
|
Packit |
857059 |
(2) cstream.c has been removed -- use stream_d.c
|
|
Packit |
857059 |
|
|
Packit |
857059 |
(3) stream_wall.f has been removed --- to do parallel aggregate
|
|
Packit |
857059 |
bandwidth runs, comment out the definition of FUNCTION SECOND
|
|
Packit |
857059 |
in stream_d.f and compile/link with second_wall.c
|
|
Packit |
857059 |
|
|
Packit |
857059 |
(4) stream_offset has been deprecated. It is still here
|
|
Packit |
857059 |
and usable, but stream_d.f is the "standard" version.
|
|
Packit |
857059 |
There are easy hooks in stream_d.f to change the
|
|
Packit |
857059 |
array offsets if you want to.
|
|
Packit |
857059 |
|
|
Packit |
857059 |
(5) The rules of the game are clarified as follows:
|
|
Packit |
857059 |
|
|
Packit |
857059 |
The reference case uses array sizes of 2,000,000 elements
|
|
Packit |
857059 |
and no additional offsets. I would like to see results
|
|
Packit |
857059 |
for this case.
|
|
Packit |
857059 |
|
|
Packit |
857059 |
But, you are free to use any array size and any offset
|
|
Packit |
857059 |
you want, provided that the arrays are each bigger than
|
|
Packit |
857059 |
the last-level of cache. The output will show me what
|
|
Packit |
857059 |
parameters you chose.
|
|
Packit |
857059 |
|
|
Packit |
857059 |
I expect that I will report just the best number, but
|
|
Packit |
857059 |
if there is a serious discrepancy between the reference
|
|
Packit |
857059 |
case and the "best" case, I reserve the right to report
|
|
Packit |
857059 |
both.
|
|
Packit |
857059 |
|
|
Packit |
857059 |
Of course, I also reserve the right to reject any results
|
|
Packit |
857059 |
that I do not trust....
|
|
Packit |
857059 |
--
|
|
Packit |
857059 |
John D. McCalpin, Ph.D.
|
|
Packit |
857059 |
john@mccalpin.com
|