Blame IbaTools/stream/HISTORY.txt

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