[Run it Now]
Features in Version 4.0 (C version)
SciMark 4.0 (C version) has several updates to keep up with optimizing compiler techonologies. New checksum modules have been added for improved validation and verfication capabilities.
features and has been modified extensively See the
"About" page for background information
(12/10/18) Checksum modules
New logic and checksum modules have been added to all four kernels to guard against over-aggressive and speculative optimizaiton. The results of each kernel are combined in a global checksum with varies with the precise number of iterations and repitions given by the specified time granularity. (Thanks to Lukasz Kuszner for feedback.)
Features in Version 2.0
SciMark 2.0 has several new features and has been modified extensively
from the original release.
Below are the major features of the lastest version. See the
"About" page for background information
(11/27/00) Bug fix
Tiny bug in off-line version reported FFT performance twice,
but did not affect our posted results. Version 2.0a
scimark2src.zip have this
fixed. (Thanks to Robert Gottlieb for pointing
(6/26/00) Improved displays for archived results
Because the number of SciMark submissions is large (currently
nearly a thousand) the archived resutls can sometimes take too long
to download and display the page.
Therefore, the Results page now
displays summary information of top scores for each operating
system and Java Virutual Machine combination. A link for the
complete archived results is provided.
(6/00) Verification of LU and FFT kernels
The Java applet and commandline version of SciMark now check
the LU and FFT results to make sure they are reasonable.
If any of these fail, a bogus score of 0.0 is reported.
This is in place to discourage posting scores
which may have cheated on numerical computations.
(See the FAQ section for
(9/99) ANSI C version now available
The Java sources for SciMark 2.0 have been translated to ANSI C
for performance comparison with other platforms. See the
download area for details.
SciMark scores are now reported in approximate Mflops
In the original version of SciMark, results were reported in terms
of a performance ratio to a specific machine/platform (a 50 MHz Sun SPARC
10 running Netscape 4.04). This was done because some routines (e.g. Monte
Carlo) did a fair amount of integer computations while others utilized
transcendental methods which were difficult to count the actual number
of floating point operations. Nevertheless, many of you expressed an interest
in seeing approximate Mflops numbers, so we changed the metric accordingly.
Using Mflops also lets us retain some continuity in scores when we run
larger problem sizes.
(4/99) New kernels
Fast Fourier Transform (FFT)
The FFT kernel has been completely rewritten. It is based on the Gnu
Scientific Library (GSL) and uses a one-dimensional Radix-2 version in
which both the input and output are complex (treated as a floating-point
vector of real/imaginary pairs).
Sparse Matrix Multiply
The Sparse Matrix Multiply kernel has also been rewritten. The previous
version used a coordinate storage format and use a completely random structure
pattern. While OK for small cache-contained matrix sizes, it is unrealistic
for large problems. SciMark 2.0 uses a compressed-row storage scheme and
a scalable structure pattern which more resembles application matrices.
Monte Carlo integration
In the original version, we approximate the integral of exp(-x*x)
between 0 and 1. In SciMark 2.0, we instead compute Pi by evaluating the
area of a circle within the unit square. The change was to avoid calling
Math.exp() and instead use a simple expression (e.g. x*x +
y*y) to get a better count of floating point operations used.
Successive Over-relaxation (SOR)
The Gauss-Siedel iteration kernel in the previous version has been
replaced with a Successive Over-relatxation method.
(4/99) Source code now available
We include the actual Java source
code for SciMark 2.0 so that one may use native Java compilers on it,
as well develop C and Fortran versions of SciMark for comparison.
New automated updates to our database
SciMark 2.0 now includes an automated submission system (rather than
the previous email-based version) to receive contributed scores. If you
submit a score, it is updated on our database immediately.
Large out-of-cache version
A command-line version of SciMark
2.0 is available for download which can run large (out-of-cache) problem
sizes. This version of the benchmark, SciMark 2.0 LARGE, can be
useful in measuring the capability of the memory subsystem under a Java
Portable random number generator
Most of the SciMark kernel use a random number generator to initialize
vector and array data. In the original SciMark we utilized Java's own
class, but now we include the source for a portable random number generator.
This makes it easier to create C and Fortran versions of SciMark.
SciMark 2.0 benchmark developed by Roldan
Pozo and Bruce R Miller.
Commercial equipment and software is referred to on
these pages in order to precisely document experimental measurements. Mention
of these products does not imply recommendation or endorsement by the National
Institute of Standards and Technology, nor does it imply that the products
so identified are necessarily the best available for that purpose.