dsm(3I)

DSM_CHUNKSIZE, DSM_DISTRIBUTION_BLOCK, DSM_DISTRIBUTION_CYCLIC, DSM_DISTRIBUTION_STAR, DSM_ISDISTRIBUTED, DSM_ISRESHAPED, DSM_NUMCHUNKS, DSM_NUMTHREADS, DSM_REM_CHUNKSIZE, DSM_THIS_CHUNKSIZE, DSM_THIS_STARTINGINDEX, DSM_THIS_THREADNUM - Query intrinsics for distributed arrays

As shipped in IRIX 6.5.22. Last changed in IRIX 6.5.19.

NAME
     DSM_CHUNKSIZE, DSM_DISTRIBUTION_BLOCK, DSM_DISTRIBUTION_CYCLIC,
     DSM_DISTRIBUTION_STAR, DSM_ISDISTRIBUTED, DSM_ISRESHAPED,
     DSM_NUMCHUNKS, DSM_NUMTHREADS, DSM_REM_CHUNKSIZE, DSM_THIS_CHUNKSIZE,
     DSM_THIS_STARTINGINDEX, DSM_THIS_THREADNUM - Query intrinsics for
     distributed arrays

SYNOPSIS
     DSM_CHUNKSIZE ([ARRAY=]array, [DIM=]dim)
     DSM_DISTRIBUTION_BLOCK ([ARRAY=]array, [DIM=]dim)
     DSM_DISTRIBUTION_CYCLIC ([ARRAY=]array, [DIM=]dim)
     DSM_DISTRIBUTION_STAR ([ARRAY=]array, [DIM=]dim)
     DSM_ISDISTRIBUTED ([ARRAY=]array)
     DSM_ISRESHAPED ([ARRAY=]array)
     DSM_NUMCHUNKS ([ARRAY=]array, [DIM=]dim)
     DSM_NUMTHREADS ([ARRAY=]array, [DIM=]dim)
     DSM_REM_CHUNKSIZE ([ARRAY=]array, [DIM=]dim, [INDEX=]index)
     DSM_THIS_CHUNKSIZE ([ARRAY=]array, [DIM=]dim, [INDEX=]index)
     DSM_THIS_STARTINGINDEX ([ARRAY=]array, [DIM=]dim, [INDEX=]index)
     DSM_THIS_THREADNUM ([ARRAY=]array, [DIM=]dim, [INDEX=]index)

STANDARDS
     Fortran extension

DESCRIPTION
     You can use the Dynamic Shared Memory (DSM) functions to obtain
     information about an individual dimension of a distributed array.  All
     functions work with 64-bit integers.

     The DSM functions are as follows:

     Function            Purpose

     DSM_CHUNKSIZE       Returns the chunk size (ignoring partial chunks)
                         in the given dimension for each of BLOCK, CYCLIC,
                         and asterisk (*) distributions.

     DSM_DISTRIBUTION_BLOCK
                         Returns 0 (FALSE) or 1 (TRUE) for a query on
                         whether or not the specified dimension has a BLOCK
                         distribution.

     DSM_DISTRIBUTION_CYCLIC
                         Returns 0 (FALSE) or 1 (TRUE) for a query on
                         whether or not the specified dimension has a
                         CYCLIC distribution.

     DSM_DISTRIBUTION_STAR
                         Returns 0 (FALSE) or 1 (TRUE) for a query on
                         whether or not the specified dimension has an
                         asterisk (*) distribution.

     DSM_ISDISTRIBUTED   Returns 0 (FALSE) or 1 (TRUE) for a query on
                         whether or not array is distributed (regular or
                         reshaped) or not.

     DSM_ISRESHAPED      Returns 0 (FALSE) or 1 (TRUE) for a query on
                         whether or not array is reshaped or not.

     DSM_NUMCHUNKS       Returns the number of chunks (including partial
                         chunks) in the given dim for each of BLOCK,
                         CYCLIC, and asterisk (*) distributions.

     DSM_NUMTHREADS      Returns the number of threads in the specified
                         dimension of a distributed array.

     DSM_REM_CHUNKSIZE   Returns the remaining chunk size from index to the
                         end of the current chunk, inclusive of each end
                         point.  Essentially it is the distance from index
                         to the end of that contiguous block, inclusive.

     DSM_THIS_CHUNKSIZE  Returns the chunk size for the chunk containing
                         the specified index for each of BLOCK, CYCLIC, and
                         asterisk (*).  This value may be different from
                         DSM_CHUNKSIZE due to edge effects that can lead to
                         a partial chunk.

     DSM_THIS_STARTINGINDEX
                         Returns the starting index value of the chunk
                         containing the supplied index.

     DSM_THIS_THREADNUM  Returns the thread number for the chunk containing
                         the given index value for each of BLOCK, CYCLIC,
                         and asterisk (*) distributions.

     These functions accept the following arguments:

     array     An array of any data type.

     dim       The array dimension for which you need information.  The
               array dimensions are numbered starting at 1.  Must be of
               type integer.

     index     Must be of type integer.

     The names of these intrinsics cannot be passed as arguments.

RETURN VALUES
     The return value is is INTEGER(KIND=8).

     These functions return -1 in case of an error.  For
     DSM_THIS_STARTINGINDEX, however, -1 can be a valid return value.

SEE ALSO
     MIPSpro Fortran 90 Commands and Directives Reference Manual

     mp(3F)