SimCon logo

SimCon - Fortran Analysis, Engineering & Migration

  FPT Reference ManualDownloadsLicensingHome

FPT - Fortran Migration and Porting
Migration and Porting

A four year old workstation is obsolete. Scientific and engineering Fortran codes live for decades. FPT contains powerful tools for migrating code from one computer system to another.

An FPT migration typically has four steps:

Checking the Code

FPT checks for errors in the original code. It is much easier to migrate correct code than code which contains errors. If the code doesn't run correctly on the new host, we need to know that this is because of the migration process, not because of an existing bug which has shown its symptoms in a new way. See the Quality Assurance pages for a description of the checks. Any errors are corrected on the original host before migrating the code.

Preparing Tests

The Record/Replay (Hamlet) facility captures test data on the original host. A common problem is that packages are made up of groups of programs which interact through file I/O, network I/O or shared memory. FPT captures data from the interfaces so that the programs may be tested separately.

Converting the Code

FPT converts many language extensions to standard code in a single pass, in very much less time than the Fortran compilation. The changes are repeatable. Usually they are controlled by a script which is adapted to produce the desired result. We avoid the situation where the source is modified manually through intermediate stages where it won't run on either host.

The changes depend on the characteristics of the hosts. FPT has extensive facilities for migration:

Testing and Debugging

The migration is tested by replaying the recorded data. The replay mechanism allows the real interfaces to be added progressively.

Difficult debugging issues can be attacked by the FPT run-time trace facility - FPT instruments sections of the code to capture every left-hand-side scalar quantity to file, and it is then possible to find the point at which two program runs diverge.

Data sets may be compared by the RDIFF utility, a file comparator which is insensitive to real number formats and to small differences between numbers.

Copyright ©1995 to 2015 Software Validation Ltd. All rights reserved.