MEMORY_TEST is a FORTRAN90 program which declares and uses a sequence of larger and larger arrays, to see how big vectors can be in a program.
The program tries an increasing series of values of N, using powers of 2, between limits that you set. At some point, the program may ask for more memory than can be provided, and crash. This is one way to find out what the memory ceiling is! The relevant power of 2 is likely to be in the 20's:
| Log(N) | N |
|---|---|
| 20 | 1,048,576 |
| 21 | 2,097,152 |
| 22 | 4,194,304 |
| 23 | 8,388,608 |
| 24 | 16,777,216 |
| 25 | 33,554,432 |
| 26 | 67,108,864 |
| 27 | 134,217,728 |
| 28 | 268,435,456 |
| 29 | 536,870,912 |
| 30 | 1,073,741,824 |
Remember that your memory is probably described in terms of bytes, but that integers and reals require 4 bytes, and double precision reals require 8 bytes.
memory_test log_n_min log_n_maxruns the program for sizes N = 2log_n_min to 2log_n_max.
The computer code and data files described and made available on this web page are distributed under the GNU LGPL license.
LINPACK_BENCH is a FORTRAN90 program which measures the time needed to factor and solve a linear system.
MACHINE is a FORTRAN90 library which can return various machine constants.
MATMUL is a FORTRAN90 program whichis an interactive matrix multiplication benchmark program.
MDBNCH is a FORTRAN77 program which is a benchmark code for a molecular dynamics calculation.
MEMORY_TEST is available in a C++ version and a FORTRAN90 version and a MATLAB version.
TIMER is a FORTRAN90 program which demonstrates how to compute CPU time or elapsed time.
You can go up one level to the FORTRAN90 source codes.