# G High Performance Fortran (HPF) Library Routines on Tru64 UNIX Systems

Compaq Fortran provides as extensions the following HPF intrinsic functions:

- ILEN
- MY_PROCESSOR
- NUMBER_OF_PROCESSORS
- PROCESSORS_SHAPE

In addition, Compaq Fortran on Tru64 UNIX Systems provides the HPF_LIBRARY `3hpf` library routines summarized in Table G-1.

For more information on a specific routine, see the appropriate reference page; for example, for more information on all_prefix, see `all_prefix(3hpf)`.

Table G-1 Summary of Compaq Fortran 3hpf Routines (TU*X only)

Name | Description
--- | ---
abstract_to_physical | Returns processor identification for the physical processor associated with a specified abstract processor relative to a global actual argument array.
all_prefix | Computes a segmented logical AND scan along dimension DIM of MASK.
all_scatter | Scatters elements of MASK to positions of the result indicated by index arrays INDX1, ..., INDXn. An element of the result is true if and only if the corresponding element of BASE and all elements of MASK scattered to that position are true.
all_suffix | Computes a reverse, segmented logical AND scan along dimension DIM of MASK.
any_prefix | Computes a segmented logical OR scan along dimension DIM of MASK.
any_scatter | Scatters elements of MASK to positions of the result indicated by index arrays INDX1, ..., INDXn. An element of the result is true if and only if the corresponding element of BASE or any element of MASK scattered to that position is true.
any_suffix | Computes a reverse, segmented logical OR scan along dimension DIM of MASK.
copy_prefix | Computes a segmented copy scan along dimension DIM of ARRAY.
copy_scatter | Scatters elements of ARRAY selected by MASK to positions of the result indicated by index arrays INDX1, ..., INDXn. Each element of the result is equal to one of the elements of ARRAY scattered to that position or, if there is none, to the corresponding element of BASE.
copy_suffix | Computes a reverse, segmented copy scan along dimension DIM of ARRAY.
count_prefix | Computes a segmented COUNT scan along dimension DIM of MASK.
count_scatter | Scatters elements of MASK to positions of the result indicated by index arrays INDX1, ..., INDXn. Each element of the result is the sum of the corresponding element of BASE and the number of true elements of MASK scattered to that position.
count_suffix | Computes a reverse, segmented COUNT scan along dimension DIM of MASK.
get_hpf_mynode | Returns the peer number of the calling process (equivalent to intrinsic function MY_PROCESSOR). This subroutine can only be called within an EXTRINSIC(HPF_LOCAL) routine.
get_hpf_numnodes | Returns the number of peers on which the process is executing (equivalent to intrinsic function NUMBER_OF_PROCESSORS). This subroutine can only be called within an EXTRINSIC(HPF_LOCAL) or EXTRINSIC(HPF_SERIAL) routine.
global_alignment | Has the same interface and behavior as hpf_alignment. However, it returns information about the global HPF array actual argument associated with the local dummy argument array, rather than returning information about the local array.
global_bounds | Returns the lower and upper bounds of the global HPF array actual argument associated with an assumed-shape local dummy array.
global_distribution | Has the same interface and behavior as hpf_distribution. However, it returns information about the global HPF array actual argument associated with the local dummy argument array, rather than returning information about the local array.
global_template | Has the same interface and behavior as hpf_template. However, it returns information about the global HPF array actual argument associated with the local dummy argument array, rather than returning information about the local array.
global_to_local | Converts a set of global coordinates to an equivalent set of local coordinates. This subroutine can only be called within an EXTRINSIC(HPF_LOCAL) routine.
global_to_physical | Converts a global reference to an array element in the HPF global actual array argument to a local reference and a peer number. This subroutine can only be called within an EXTRINSIC(HPF_LOCAL) routine.
grade_down | Produces a permutation of the indices of an array, sorted by descending array element values.
grade_up | Produces a permutation of the indices of an array, sorted by ascending array element values.
hpf_alignment | Returns information about the correspondence of a variable and the align-target (array or template) to which it is ultimately aligned.
hpf_distribution | Returns information about the distribution of the ultimate align-target associated with a variable.
hpf_sync | Causes each MPI peer to wait at the point hpf_sync is called until all peers have reached that point in the program.
hpf_template | Returns information about the ultimate align-target associated with a variable. It returns information about the variable from the template's point of view (assuming the alignment is to a template rather than to an array); hpf_alignment returns information from the variable's point of view.
iall | Computes a bitwise logical AND reduction along dimension DIM of ARRAY.
iall_prefix | Computes a segmented bitwise logical AND scan along dimension DIM of ARRAY.
iall_scatter | Scatters elements of ARRAY selected by MASK to positions of the result indicated by index arrays INDX1, ..., INDXn. The nth bit of an element of the result is 1 if and only if the nth bits of the corresponding element of BASE and of the elements of ARRAY scattered to that position are all equal to 1.
iall_suffix | Computes a reverse, segmented bitwise logical AND scan along dimension DIM of ARRAY.
iany | Computes a bitwise logical OR reduction along dimension DIM of ARRAY.
iany_prefix | Computes a segmented bitwise logical OR scan along dimension DIM of ARRAY.
iany_scatter | Scatters elements of ARRAY selected by MASK to positions of the result indicated by index arrays INDX1, ..., INDXn. The nth bit of an element of the result is 1 if and only if the nth bit of the corresponding element of BASE or of any of the elements of ARRAY scattered to that position is equal to 1.
iany_suffix | Computes a reverse, segmented bitwise logical OR scan along dimension DIM of ARRAY.
iparity | Computes a bitwise logical exclusive OR reduction along dimension DIM of ARRAY.
iparity_prefix | Computes a segmented bitwise logical exclusive OR scan along dimension DIM of ARRAY.
iparity_scatter | Scatters elements of ARRAY selected by MASK to positions of the result indicated by index arrays INDX1, ..., INDXn. The nth bit of an element of the result is 1 if and only if there are an odd number of ones among the nth bits of the corresponding element of BASE and the elements of ARRAY scattered to that position.
iparity_suffix | Computes a reverse, segmented bitwise logical exclusive OR scan along dimension DIM of ARRAY.
leadz | Returns the number of leading zeros in an integer.
local_to_global | Converts a set of local coordinates within a local dummy array to an equivalent set of global coordinates within the associated global HPF actual argument array.
maxval_prefix | Computes a segmented MAXVAL scan along dimension DIM of ARRAY.
maxval_scatter | Scatters elements of ARRAY selected by MASK to positions of the result indicated by index arrays INDX1, ..., INDXn. Each element of the result is assigned the maximum value of the corresponding element of BASE and the elements of ARRAY scattered to that position.
maxval_suffix | Computes a reverse, segmented MAXVAL scan along dimension DIM of ARRAY.
minval_prefix | Computes a segmented MINVAL scan along dimension DIM of ARRAY.
minval_scatter | Scatters elements of ARRAY selected by MASK to positions of the result indicated by index arrays INDX1, ..., INDXn. Each element of the result is assigned the maximum value of the corresponding element of BASE and the elements of ARRAY scattered to that position.
minval_suffix | Computes a reverse, segmented MINVAL scan along dimension DIM of ARRAY.
my_processor | Returns the peer number of the calling process. This function can only be called within an EXTRINSIC(HPF_LOCAL) routine.
parity | Determines whether an odd number of values are true in MASK along dimension DIM.
parity_prefix | Computes a segmented logical exclusive OR scan along dimension DIM of MASK.
parity_scatter | Scatters elements of MASK to positions of the result indicated by index arrays INDX1, ..., INDXn. An element of the result is true if and only if the number of true values among the corresponding element of BASE and the elements of MASK scattered to that position is odd.
parity_suffix | Computes a reverse, segmented logical exclusive OR scan along dimension DIM of MASK.
physical_to_abstract | Returns coordinates for an abstract processor, relative to a global actual argument array, corresponding to a specified physical processor.
popcnt | Returns the number of one bits in an integer.
poppar | Returns the parity of an integer.
product_prefix | Computes a segmented PRODUCT scan along dimension DIM of ARRAY.
product_scatter | Scatters elements of ARRAY selected by MASK to positions of the result indicated by index arrays INDX1, ..., INDXn. Each element of the result is equal to the product of the corresponding element of BASE and the elements of ARRAY scattered to that position.
product_suffix | Computes a reverse, segmented PRODUCT scan along dimension DIM of ARRAY.
sum_prefix | Computes a segmented SUM scan along dimension DIM of ARRAY.
sum_scatter | Scatters elements of ARRAY selected by MASK to positions of the result indicated by index arrays INDX1, ..., INDXn. Each element of the result is equal to the sum of the corresponding element of BASE and the elements of ARRAY scattered to that position.
sum_suffix | Computes a reverse, segmented SUM scan along dimension DIM of ARRAY.

For More Information:

- On the procedures for calling library routines, see your user manual.
- On other available library routines, see your user manual.
- On how to use these routines, see your user manual.

Previous Page Next Page Table of Contents