HP Fortran Programmer's Reference (September 2007)

HP Fortran statements
BUFFER OUT (extension)
Chapter 10 287
BUFFER OUT (extension)
Provided for compatibility with Cray BUFFER OUT statement.
NOTE Asynchronous I/O with the BUFFER OUT statements is not supported. HP
Fortran 90 Draft supports these statements for synchronous I/O only.
Syntax
BUFFER OUT
(unit, mode) (begin-loc, end-loc
)
unit
is a unit identifier (integer expression).
mode
is ignored.
begin-loc, end-loc
are symbolic names of the variables, arrays, or array elements that
mark the beginning and end locations of the BUFFER IN operation.
begin-loc and end-loc must be either elements of a single array (or
equivalenced to an array) or members of the same common block.
Description
The BUFFER OUT statement is an HP Fortran extension that provides compatibility with
the Cray BUFFER OUT feature. The statement causes data to be transferred while allowing
any subsequent statements to execute concurrently.
The BUFFER OUT statement is provided as a porting aid for existing Cray code; it typically
will not produce noticeably superior performance compared to conventional Fortran 90 I/O
methods. In fact, the BUFFER OUT statement will always be slightly slower than
unformatted fixed record length I/O.
Other Fortran I/O statements (for example, READ, WRITE, PRINT, ACCEPT, and TYPE)
cannot be used on the same unit as the BUFFER OUT statement. Mixing the standard
Fortran 90 I/O operations with BUFFER OUT on the same logical unit number can
confuse the input stream (READ) or corrupt the data file (WRITE).
The BACKSPACE statement cannot be used with files that are capable of being
transferred by the BUFFER OUT statement. Such files are referred to as pure-data
(unblocked) files.
Examples
For an example of BUFFER IN, see “BUFFER IN (extension)” on page 285.