[Home]
[Version 2]
[Run it Now]
[Download]
[Results]
[FAQ]
[About]
[Resources]
[Credits]
New 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
on SciMark.
(11/27/00) Bug fix
Tiny bug in offline version reported FFT performance twice,
but did not affect our posted results. Version 2.0a
of scimark2lib.zip
, scimark2lib.jar
,
and scimark2src.zip
have this
fixed. (Thanks to Robert Gottlieb for pointing
this out.)
(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
more details.)
(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.
(4/99)
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 onedimensional Radix2 version in
which both the input and output are complex (treated as a floatingpoint
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 cachecontained matrix sizes, it is unrealistic
for large problems. SciMark 2.0 uses a compressedrow 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 Overrelaxation (SOR)
The GaussSiedel iteration kernel in the previous version has been
replaced with a Successive Overrelatxation 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 emailbased version) to receive contributed scores. If you
submit a score, it is updated on our database immediately.
Large outofcache version
A commandline version of SciMark
2.0 is available for download which can run large (outofcache) 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
environment.
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
java.util.Random
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.