Go to main content
Oracle Developer Studio 12.5 Man Pages

Exit Print View

Updated: June 2017
 
 

ilaenv (3p)

Name

ilaenv - The name of the calling subroutine, in either upper case or lower case.

Synopsis

INTEGER FUNCTION ILAENV(ISPEC, NAME, OPTS, N1, N2, N3, N4)

CHARACTER * 6 NAME
CHARACTER * 4 OPTS
INTEGER ISPEC, N1, N2, N3, N4

INTEGER*8 FUNCTION ILAENV_64(ISPEC, NAME, OPTS, N1, N2, N3, N4)

CHARACTER * 6 NAME
CHARACTER * 4 OPTS
INTEGER*8 ISPEC, N1, N2, N3, N4




F95 INTERFACE
INTEGER FUNCTION ILAENV(ISPEC, NAME, OPTS, N1, N2, N3, N4)

CHARACTER(LEN=6) :: NAME
CHARACTER(LEN=4) :: OPTS
INTEGER :: ISPEC, N1, N2, N3, N4

INTEGER(8) FUNCTION ILAENV_64(ISPEC, NAME, OPTS, N1, N2, N3, N4)

CHARACTER(LEN=6) :: NAME
CHARACTER(LEN=4) :: OPTS
INTEGER(8) :: ISPEC, N1, N2, N3, N4




C INTERFACE
#include <sunperf.h>

int ilaenv(int ispec, char *name, char *opts, int n1, int n2,  int  n3,
int n4);

long  ilaenv_64(long  ispec,  char *name, char *opts, long n1, long n2,
long n3, long n4);

Description

Oracle Solaris Studio Performance Library                           ilaenv(3P)



NAME
       ilaenv  -  The  name of the calling subroutine, in either upper case or
       lower case.

SYNOPSIS
       INTEGER FUNCTION ILAENV(ISPEC, NAME, OPTS, N1, N2, N3, N4)

       CHARACTER * 6 NAME
       CHARACTER * 4 OPTS
       INTEGER ISPEC, N1, N2, N3, N4

       INTEGER*8 FUNCTION ILAENV_64(ISPEC, NAME, OPTS, N1, N2, N3, N4)

       CHARACTER * 6 NAME
       CHARACTER * 4 OPTS
       INTEGER*8 ISPEC, N1, N2, N3, N4




   F95 INTERFACE
       INTEGER FUNCTION ILAENV(ISPEC, NAME, OPTS, N1, N2, N3, N4)

       CHARACTER(LEN=6) :: NAME
       CHARACTER(LEN=4) :: OPTS
       INTEGER :: ISPEC, N1, N2, N3, N4

       INTEGER(8) FUNCTION ILAENV_64(ISPEC, NAME, OPTS, N1, N2, N3, N4)

       CHARACTER(LEN=6) :: NAME
       CHARACTER(LEN=4) :: OPTS
       INTEGER(8) :: ISPEC, N1, N2, N3, N4




   C INTERFACE
       #include <sunperf.h>

       int ilaenv(int ispec, char *name, char *opts, int n1, int n2,  int  n3,
                 int n4);

       long  ilaenv_64(long  ispec,  char *name, char *opts, long n1, long n2,
                 long n3, long n4);



PURPOSE
       ilaenv is called from the LAPACK routines to  choose  problem-dependent
       parameters  for  the local environment.  See ISPEC for a description of
       the parameters.

       This version provides a set of parameters which should give  good,  but
       not  optimal, performance on many of the currently available computers.
       Users are encouraged to modify this subroutine to set the tuning param-
       eters  for  their  particular machine using the option and problem size
       information in the arguments.

       This routine will not function correctly if  it  is  converted  to  all
       lower case.  Converting it to all upper case is allowed.


ARGUMENTS
       ISPEC (input)
                 Specifies  the  parameter  to  be  returned  as  the value of
                 ILAENV.  = 1: the optimal blocksize; if this value is  1,  an
                 unblocked algorithm will give the best performance.  = 2: the
                 minimum block size for which  the  block  routine  should  be
                 used;  if  the  usable block size is less than this value, an
                 unblocked routine should be used.  = 3: the  crossover  point
                 (in a block routine, for N less than this value, an unblocked
                 routine should be used) = 4: the number of  shifts,  used  in
                 the  nonsymmetric eigenvalue routines = 5: the minimum column
                 dimension for blocking to be used;  rectangular  blocks  must
                 have  dimension  at  least  k  by  m,  where  k  is  given by
                 ILAENV(2,...) and m by  ILAENV(5,...)   =  6:  the  crossover
                 point for the SVD (when reducing an m by n matrix to bidiago-
                 nal form, if max(m,n)/min(m,n) exceeds this value, a QR  fac-
                 torization is used first to reduce the matrix to a triangular
                 form.)  = 7: the number of processors
                 = 8: the crossover point for the multishift QR and QZ methods
                 for  nonsymmetric  eigenvalue problems.  = 9: maximum size of
                 the subproblems at the bottom of the computation tree in  the
                 divide-and-conquer algorithm (used by xGELSD and xGESDD) =10:
                 ieee NaN arithmetic can be trusted not to trap
                 =11: infinity arithmetic can be trusted not to trap

       NAME (input)
                 The name of the calling subroutine, in either upper  case  or
                 lower case.

       OPTS (input)
                 The  character  options  to the subroutine NAME, concatenated
                 into a single character string.  For  example,  UPLO  =  'U',
                 TRANS = 'T', and DIAG = 'N' for a triangular routine would be
                 specified as OPTS = 'UTN'.

       N1 (input)
                  INTEGER

       N2 (input)
                  INTEGER

       N3 (input)
                  INTEGER

       N4 (input)
                  INTEGER
                 N1, N2, N3, N4 are  problem  dimensions  for  the  subroutine
                 NAME; these may not all be required.
                 >= 0: the value of the parameter specified by ISPEC
                 < 0:  if ILAENV = -k, the k-th argument had an illegal value.
                 < 0:  if ILAENV = -k, the k-th argument had an illegal value.

FURTHER DETAILS
       The  following  conventions have been used when calling ILAENV from the
       LAPACK routines:
       1)  OPTS is a concatenation of all of the character options to
           subroutine NAME, in the same order that they appear in the
           argument list for NAME, even if they are not used in determining
           the value of the parameter specified by ISPEC.
       2)  The problem dimensions N1, N2, N3, N4 are specified in the order
           that they appear in the argument list for NAME.  N1 is used
           first, N2 second, and so on, and unused problem dimensions are
           passed a value of -1.
       3)  The parameter value returned by ILAENV is checked for validity in
           the calling subroutine.  For example, ILAENV is used to retrieve
           the optimal blocksize for STRTRI as follows:

           NB = ILAENV( 1, 'STRTRI', UPLO // DIAG, N, -1, -1, -1 )
           IF( NB.LE.1 ) NB = MAX( 1, N )




                                  7 Nov 2015                        ilaenv(3P)