Software
Services
News
Company Info
APTL
SCTL
Opstone Benchmarks
Benchmarks
Vector Scalar Product
Sparse-Vector Scalar Product
Singular Value Decomposition
NOTE: All of the benchmarks listed below utilize the optimized versions of the SCTL C++ API that are specifically designed and tuned for the target processor. All benchmarks were built using the 3.4 version of the standard GNU g++ compiler.
 Vector Scalar-Product Benchmark
Probably most the relevant indication of a CPUs floating-point performance is the scalar product, or dot product, operation. This simple operation is a common calculation in numerous small and medium sized dense matrix problems such as matrix factorizations and iterative matrix-inverse solutions. Using the analogy of a car engine to a CPU, this is like the quarter-mile drag race test.

This benchmark is measured in terms of "billions of floating-point operations per second" calculated using vectors of various sizes where the mean performance values across the range of vector lengths are reported. Both single and double-precision floating point values are tested.

 Sparse-Vector Scalar-Product Benchmark
Conversely to dense vector solutions, sparse vectors are a specialized form of a vector where only the non-zero elements are stored. These types of vectors are very well suited for solving medium to large finite element engineering problems and conjugate-gradient matrix solutions where a majority of the values in the matrix row-vectors are zero.

This benchmark calculates the scalar product of a sparse-vector with a regular vector whereby the loading fraction of the sparse-vector (fraction of non-zero elements) ranges from 10e-7 to 10e-2. Both vector lengths are maintained at 10-million elements where only the non-zero values are stored for the sparse-vector. The implementation of the sparse-vector is a custom hybrid binary-tree/double-linked list of short dense vectors which offers the benefits being able to dynamically add/modify/remove the vector elements during execution.

This benchmark is measured in terms of "millions of floating-point operations per second" where the mean performance values across the range of tested loading fractions are reported. Both single and double-precision floating point values are tested.

 Singular Value Decomposition Benchmark
Singular value decomposition (SVD) is a very useful tool in the solution of near-singular linear algebra problems. SVD is widely used in many engineering disciplines although its strengths lie in the analysis of near-singluar systems and linear least-squares problems.

This benchmark calculates the singular value decompostion of a regular M x N matrix where the number of rows (M) is fixed at 1024 and the number of columns (N) are powers-of-2 ranging from 4 to 128. In order to capture the processor cache effects, the original M x N matrix is decomposed many times in succession where the number of decompositions is inversely proportional to N^2.

This benchmark is measured in terms of "millions of floating-point operations per second" where the mean values across the range of tested matrix sizes are reported. Both single and double-precision floating point values are tested.

top of page
   Info Copyright ©2004 Blue Sail Software. All rights reserved. Legal