Background of the NAS Kernels The "NAS Kernel Benchmark Program" contains 7 tests assembled in 1984 by NASA-Ames to represent their CFD computational requirements. The tests are Fortran subroutines dominated by 64-bit floating point arithmetic, and contain nested loops operating on multidimensional arrays. Each of the tests performs an error check and a MFLOPS calculation based on execution time and operation count. A total MFLOPS calculation is also computed, based on the aggregate time and operation count of all 7 tests. These NAS Kernels are not to be confused with the "NAS Parallel Kernels", a different set of tests released more recently for testing massively parallel systems. Although developed on Crays and suitable for vector and parallel compiler optimizations, the kernels contain several undesirable characteristics for supercomputer architectures, such as non-stride-1 inner loops, power-of-2 array dimensions and strides, and loops with small iteration counts. This makes them an interesting set of tests for investigating the performance characteristics of processors, cache/memory systems, parallel architectures, and optimizing compilers. Because they are compact and well-structured, they make good examples for illustrating the tuning techniques suitable for a given system. In addition, since they run in a short amount of time and test themselves for correctness, they are also ideal examples for experimentation and learning. The names and descriptions of the kernels are: Name Description MXM Matrix Multiply CFFT2D Complex 2D FFT CHOLSKY Cholesky Decomposition/Solution of Banded Systems BTRIX Block Tridiagonal Solver GMTRY Generate Solid-Related Matrix, Gaussian Eliminate EMIT Emit Vortices, Pressure, Forces VPENTA Vectorized Inversion of 3 Pentadiagonals