How to compile with Fortran

Follow the steps below to compile a program with a Fortran compiler.

Step 1

Log on to the Grid.

Step 2

Start an interactive job. Type srun -q debug -t 10:0 --pty bash.

Note: This puts you on a compute node to do compiling on. Never run jobs or compile on the head node.

 

Step 3

Let's create a simple program to practice compiling. Type vim hello.f.

Step 4

Press i to insert. Type the following lines into the editor; each line has a tab (eight spaces) before it starts:

program hello

! This is a comment line that is ignored by the compiler

print *, 'Hello, World!'

end program hello

Step 5

Save the file and exit. Press Esc and type wq, then Enter.

Step 6

Now compile the program. Type gfortran hello.f -o hello.

Step 7

Now let's practice creating a job script to submit that will execute the program. Type vim fortran_jobscript.

Step 8

Press i to insert. Enter the following into the editor:

#!/bin/bash

# Job name

#SBATCH --job-name fortran_job

# Submit to the primary QoS

#SBATCH -q primary

# Request one node

#SBATCH -N 1

# Total number of cores, in this example it will 1 node with 1 core each.

#SBATCH -n 1

# Request memory

#SBATCH --mem=5G

# Mail when the job begins, ends, fails, requeues

#SBATCH --mail-type=ALL

# Where to send email alerts

#SBATCH --mail-user=xxyyyy@wayne.edu

# Create an output file that will be output_<jobid>.out

#SBATCH -o output_%j.out

# Create an error file that will be error_<jobid>.out

#SBATCH -e errors_%j.err

# Set maximum time limit

#SBATCH -t 1:0:0

cd $TMPDIR

cp /wsu/home/zz/zz99/zz9992/hello .

$TMPDIR/hello

 

Note: Be sure to modify the script using the AccessID and directories specific to your account.

 

Step 9

Save the file and exit the editor. Press Esc, and type :wq then Enter.

Step 10
  • Make sure that the file is executable. You can do this by changing the permissions with the chmod command.
  • Type chmod x fortran_jobscript.
  • The file permissions can be checked by entering ls -alt.

Step 11

Submit the job script. Type sbatch fortran_jobscript.

The output file shows the program was executed.