nas, a FORTRAN90 code which is a revision of David Bailey's NASA kernel benchmark program.

The benchmark program was developed around 1984, and measured computational performance on a representative range of realistic calculations. One motivation for this benchmark was to move beyond the LINPACK benchmark, which focussed on a single highly structured procedure.

Benchmarking computers has become much more difficult now that memory, I/O, multicores and distributed memory have all become significant factors in computing performance. Nonetheless, the NAS benchmarks provide an interesting insight into the floating point processing power of a system, and so, for this reason, a version of the program has been created that retains the functionality of the original, while being somewhat easier to transfer to other languages.


runs the program, and prints the error, timing, and MegaFLOPS results.


The computer code and data files described and made available on this web page are distributed under the MIT license


nas is available in a C version and a C++ version and a Fortran90 version and a MATLAB version and an Octave version and a Python version.

Related Data and Programs:

linpack_bench, a FORTRAN90 code which measures the time taken by LINPACK to solve a particular linear system.



  1. David Bailey, John Barton,
    The NAS Kernel Benchmark Program,
    Numerical Aerodynamics Simulations Systems Division,
    NASA Ames Research Center,
    13 June 1986.

Source Code:

Last revised on 01 August 2020.