Configure TAF on the P-Cluster#
Transformation of Algorithms in Fortran (TAF) is a commercial software package developed by FastOpt that performs source-to-source translation of Fortran code. ECCO uses TAF to generate adjoint code, which is essential for producing ocean and sea-ice state estimates, conducting adjoint-based reconstructions and decompositions, and supporting many other applications. Thanks to the generous support of FastOpt, attendees of the ECCO Summer School are granted access to TAF for generating adjoint code on the P-Cluster during the summer school. This tutorial describes the steps to set up the environment for using TAF on the P-Cluster.
Note
All files mentioned in this tutorial are available on the P-Cluster at /efs_ecco/ECCO/TAF/
.
TAF Helper Script: staf#
Users send Fortran code to the TAF server. After processiing (i.e., translation), the TAF server reutrns the translated Fortran code, such as adjoint code. A script developed by FastOpt, called staf
, faciliates the use of TAF, including setting up the environment, handling communication between the user’s machine (the P-Cluster in our case) and the TAF server, and enabling a wide range of TAF-related operations through command-line options.
Users should go to their home directory, create a directory called bin
, and then copy staf
to it, as described by the following commands:
cd ~
mkdir bin
cd bin
cp -p /efs_ecco/ECCO/TAF/staf .
In your ~/.bashrc
, add the path to the bin
directory to your search path:
export PATH=~/bin/:$PATH
If you are using a different shell, add the path to your shell’s configuration file in a similar way.
Issue the following command outside the bin
directory to check whether the path has been added correctly:
staf -help
If the output is a list of TAF options, it means staf
has been successfully configured.
SSH Key Pair#
Using the TAF server requires authorization from FastOpt. Secure Shell (SSH) keys—a pair of cryptographic keys used for secure authentication in the SSH protocol—are used to interact with the TAF server. For the ECCO Summer School, a common pair of SSH keys is provided for all TAF users; this key pair has been authorized by FastOpt for use with TAF. Please place the SSH keys in the .ssh
subdirectory of your home directory, and restrict the read permissions to yourself.
cd
mkdir .ssh/
cd ~/.ssh/
cp -p /efs_ecco/ECCO/TAF/taf .
cp -p /efs_ecco/ECCO/TAF/taf.pub .
chmod 400 taf
Test Connecting TAF Server#
Once the SSH keys are set up, test whether staf
can connect to the TAF server by running the following command:
staf -test
A successful connection will produce output similar to the following:
Transformation of Algorithms in Fortran (TAF)
Copyright 2000-2019 FastOpt GmbH, Hamburg, Germany
All rights reserved.
URL: http://www.FastOpt.de, Email: info@FastOpt.de
script to access TAF remotely version 5.2
ssh -x -l taf -i/home/owang/.ssh/taf fastopt.de test
Your access to the TAF server is enabled.
TAF Manual#
An up-to-date copy of the TAF manual is available on the P-Cluster at /efs_ecco/ECCO/TAF/taf-manual-4.0.pdf
. Alternatively, you can download a copy of the TAF manual directly from the TAF server using the following command:
staf -get manual
The manual provides useful information for using TAF, illustrated with simple examples.