ScaLAPACK 2.1  2.1
ScaLAPACK: Scalable Linear Algebra PACKage
pilaenv.f
Go to the documentation of this file.
1  INTEGER FUNCTION pilaenv( ICTXT, PREC )
2 *
3 * -- PBLAS auxiliary routine (version 2.0) --
4 * University of Tennessee, Knoxville, Oak Ridge National Laboratory,
5 * and University of California, Berkeley.
6 * April 1, 1998
7 *
8 * .. Scalar Arguments ..
9  INTEGER ictxt
10  CHARACTER*1 prec
11 * ..
12 *
13 * Purpose
14 * =======
15 *
16 * PILAENV returns the positive integer value of the logical blocking
17 * size. This value is machine and precision specific. This version pro-
18 * vides a logical blocking size which should give good but not optimal
19 * performance on many of the currently available distributed-memory
20 * concurrent computers. Users are encouraged to modify this subroutine
21 * to set this tuning parameter for their particular machine.
22 *
23 * Arguments
24 * =========
25 *
26 * ICTXT (local input) INTEGER
27 * On entry, ICTXT specifies the BLACS context handle, indica-
28 * ting the global context of the operation. The context itself
29 * is global, but the value of ICTXT is local.
30 *
31 * PREC (global input) CHARACTER*1
32 * On input, PREC specifies the precision for which the logical
33 * block size should be returned as follows:
34 * PREC = 'S' or 's' single precision real,
35 * PREC = 'D' or 'd' double precision real,
36 * PREC = 'C' or 'c' single precision complex,
37 * PREC = 'Z' or 'z' double precision complex,
38 * PREC = 'I' or 'i' integer.
39 *
40 * Notes
41 * =====
42 *
43 * Before modifying this routine to tune the library performance on your
44 * system, be aware of the following:
45 *
46 * 1) The value this function returns must be STRICTLY LARGER THAN ZERO,
47 *
48 * 2) If you are planning to link your program with different instances
49 * of the library, (for example on a heterogeneous machine), you MUST
50 * compile each instance of the library with the EXACT SAME version of
51 * this routine for obvious inter-operability reasons.
52 *
53 * -- Written on April 1, 1998 by
54 * Antoine Petitet, University of Tennessee, Knoxville 37996, USA.
55 *
56 * =====================================================================
57 *
58 * .. External Functions ..
59  LOGICAL lsame
60  EXTERNAL lsame
61 * ..
62 * .. Executable Statements ..
63 *
64  IF( lsame( prec, 'S' ) ) THEN
65 *
66 * Single precision real logical block size
67 *
68  pilaenv = 32
69 *
70  ELSE IF( lsame( prec, 'D' ) ) THEN
71 *
72 * Double precision real logical block size
73 *
74  pilaenv = 32
75 *
76  ELSE IF( lsame( prec, 'C' ) ) THEN
77 *
78 * Single precision complex logical block size
79 *
80  pilaenv = 32
81 *
82  ELSE IF( lsame( prec, 'Z' ) ) THEN
83 *
84 * Double precision complex logical block size
85 *
86  pilaenv = 32
87 *
88  ELSE IF( lsame( prec, 'I' ) ) THEN
89 *
90 * Integer logical block size
91 *
92  pilaenv = 32
93 *
94  ELSE
95 *
96 * Probably unused
97 *
98  pilaenv = 32
99 *
100  END IF
101 *
102  RETURN
103 *
104 * End of PILAENV
105 *
106  END
pilaenv
integer function pilaenv(ICTXT, PREC)
Definition: pilaenv.f:2
lsame
logical function lsame(CA, CB)
Definition: tools.f:1724