SCALAPACK
2.2.2
LAPACK: Linear Algebra PACKage
Loading...
Searching...
No Matches
Bconfig.h
Go to the documentation of this file.
1
/*
2
* This file includes the standard C libraries, as well as system dependant
3
* include files. All BLACS routines include this file.
4
*/
5
6
#ifndef BCONFIG_H
7
#define BCONFIG_H 1
8
9
/*
10
* Include files
11
*/
12
#include <stdlib.h>
13
#include <stdio.h>
14
#include <math.h>
15
#include <stdarg.h>
16
#include <mpi.h>
17
18
/*
19
* Integer types used by BLACS
20
*/
21
#ifndef Int
22
#define Int int
23
#endif
24
#ifndef MpiInt
25
#define MpiInt int
26
#endif
27
28
/*
29
* These macros define the naming strategy needed for a fortran
30
* routine to call a C routine, and whether to build so they may be
31
* called from C or fortran. For the fortran call C interface, ADD_ assumes that
32
* fortran calls expect C routines to have an underscore postfixed to the name
33
* (Suns, and the Intel expect this). NOCHANGE indicates that fortran expects
34
* the name called by fortran to be identical to that compiled by C
35
* (AIX does this). UPCASE says it expects C routines called by fortran
36
* to be in all upcase (CRAY wants this). The variable FORTRAN_CALL_C is always
37
* set to one of these values. If the BLACS will be called from C, we define
38
* INTFACE to be CALL_C, otherwise, it is set to FORTRAN_CALL_C.
39
*/
40
#define ADD_ 0
41
#define NOCHANGE 1
42
#define UPCASE 2
43
#define FCISF2C 3
44
#define C_CALL 4
45
46
#ifdef UpCase
47
#define FORTRAN_CALL_C UPCASE
48
#endif
49
50
#ifdef NoChange
51
#define FORTRAN_CALL_C NOCHANGE
52
#endif
53
54
#ifdef Add_
55
#define FORTRAN_CALL_C ADD_
56
#endif
57
58
#ifdef FortranIsF2C
59
#define FORTRAN_CALL_C FCISF2C
60
#endif
61
62
#ifndef FORTRAN_CALL_C
63
#define FORTRAN_CALL_C ADD_
64
#endif
65
66
#ifdef CallFromC
67
#define INTFACE C_CALL
68
#else
69
#define INTFACE FORTRAN_CALL_C
70
#endif
71
72
/*
73
* Uncomment these macro definitions, and substitute the topology of your
74
* choice to vary the default topology (TOP = ' ') for broadcast and combines.
75
#define DefBSTop '1'
76
#define DefCombTop '1'
77
*/
78
79
/*
80
* Uncomment this line if your MPI_Send provides a locally-blocking send
81
*/
82
//#define SndIsLocBlk
83
84
/*
85
* Comment out the following line if your MPI does a data copy on every
86
* non-contiguous send
87
*/
88
#define MpiBuffGood
89
90
/*
91
* If your MPI cannot form data types of zero length, uncomment the
92
* following definition
93
*/
94
/* #define ZeroByteTypeBug */
95
96
/*
97
* These macros set the timing and debug levels for the BLACS. The fastest
98
* code is produced by setting both values to 0. Higher levels provide
99
* more timing/debug information at the cost of performance. Present levels
100
* of debug are:
101
* 0 : No debug information
102
* 1 : Mainly parameter checking.
103
*
104
* Present levels of timing are:
105
* 0 : No timings taken
106
*/
107
#ifndef BlacsDebugLvl
108
#define BlacsDebugLvl 0
109
#endif
110
#ifndef BlacsTimingLvl
111
#define BlacsTimingLvl 0
112
#endif
113
114
#endif
BLACS
SRC
Bconfig.h
Generated on Sun Jan 12 2025 15:58:37 for SCALAPACK by
1.9.8