An Example of anUninstrumented FORTRAN Code (Corresponding, instrumented FORTRAN code)

      integer i

      open(unit=2,file='/tmp/f',form='formatted',status='new')

      i=0
      write(2, 100) i

      close(2)

100   format('Node' ,i3)

      end

Instrumented FORTRAN Code (Corresponding, Uninstrumented FORTRAN Code)

      include "fIOTrace.h"

      integer i

      call initIOTrace()

      call traceOpenBegin('/tmp/f', 1)
      open(unit=2,file='/tmp/f',form='formatted',status='new')
      call traceOpenEnd(2)

      i=0
      call traceWriteBegin(2,1,0)
      write(2, 100) i
      call traceWriteEnd(4)

      call traceCloseBegin(2)
      close(2)
      call traceCloseEnd()

100   format('Node' ,i3)

      call endIOTrace()
      call endTracing()

      end

 

Compiling, Linking, and Executing

Suppose the Pablo software is installed in the directory <PabloDir>.

To compile the code, use the following command:

f77 -c ioexample.f -I<PabloDir>/include

To link the code, use the following command:

f77 -o myEXE ioexample.o -L<PabloDir>/lib -lPabloTrace -lPabloTraceExt [other libraries as necessary]

To execute the code, use the following command:

myEXE

This will produce a trace output file named Pablo.bin

Trace Output Files

Click here to download the trace output file Pablo.bin produced by following the steps above. The file is in binary. To convert it to ASCII, use the command SDDFconverter. This command will prompt users for input. The following is the session used to convert Pablo.bin from a binary format to the ASCII file Pablo.ascii. User responses are in bold.

% SDDFconverter

Please enter name of the input SDDF file: Pablo.bin

File is in SDDF Non-Native Binary format

Output in Ascii, Binary or Converted (reverse byte order) format [A, B, C]: A

Please entery name of the output SDDF file: Pablo.ascii

Do you want diagnostic messages printed [Y or N}: N

Processing Data: Sample Reports

Issue the command IOStats Pablo.bin to produce the report on the screen.

Issue the command IOStatsTable Pablo.bin to produce the report on the screen.

Because lifetime summary data collection was not enabled within the sample insturmented code above, the SDDF files required to generate this report were not generated. Had they been enabled, a report could have been generated that would look like this example generated by an instrumented C code.

Because lifetime summary data collection was not enabled within the sample insturmented code above, the SDDF files required to generate this report were not generated. Had they been enabled, a report could have been generated that would look like this example generated by an instrumented C code.

Because lifetime summary data collection was not enabled within the sample insturmented code above, the SDDF files required to generate this report were not generated. Had they been enabled, a report could have been generated that would look like this example generated by an instrumented C code.