PROTECTED STREAM

Purpose

The PROTECTED STREAM directives allow you to manage protected streams. These streams are protected from being replaced by any hardware-detected streams.

XL Fortran provides the following 8 protected stream directives:

Syntax

The PROTECTED directive can take the following forms:



>>-PROTECTED_UNLIMITED_STREAM_SET_GO_FORWARD--(--prefetch_variable--,--stream_ID--)-><
 
 
Note:
Valid for PowerPC 970 and POWER5(TM).



>>-PROTECTED_UNLIMITED_STREAM_SET_GO_BACKWARD--(--prefetch_variable--,--stream_ID--)-><
 
 
Note:
Valid for PowerPC 970 and POWER5.



>>-PROTECTED_STREAM_SET_FORWARD--(--prefetch_variable--,--stream_ID--)-><
 
 
Note:
Valid for POWER5 only.



>>-PROTECTED_STREAM_SET_BACKWARD--(--prefetch_variable--,--stream_ID--)-><
 
 
Note:
Valid for POWER5 only.



>>-PROTECTED_STREAM_COUNT--(--unit_count--)--------------------><
 
 
Note:
Valid for POWER5 only.



>>-PROTECTED_STREAM_GO-----------------------------------------><
 
 
Note:
Valid for POWER5 only.



>>-PROTECTED_STREAM_STOP--(--stream_ID--)----------------------><
 
 
Note:
Valid for POWER5 only.



>>-PROTECTED_STREAM_STOP_ALL-----------------------------------><
 
 
Note:
Valid for POWER5 only.

prefetch_variable
is a variable to be prefetched. The variable must be a data object with a determinable storage address. The variable can be of any data type, including intrinsic and derived data types. The variable cannot be a procedure name, subroutine name, module name, function name, literal constant, label, zero-sized string, zero-length array, or array with a vector subscript.

stream_ID
is the ID for the prefetched stream. It must be scalar and of type integer. It can be any number from 0 to 7.

unit_count
is the number of cache lines for the limited-length protected stream. It must be scalar and of type integer. It can be any number from 0 to 1023. For a stream that is larger than 1024 cache lines, use the PROTECTED_UNLIMITED_STREAM directives instead of the PROTECTED_STREAM directives.

Related Information

For information on applying prefetch techniques to loops with a large iteration count, see the STREAM_UNROLL directive. IBM Copyright 2003