ScaLAPACK 2.1
2.1
ScaLAPACK: Scalable Linear Algebra PACKage
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
* These macros define the naming strategy needed for a fortran
20
* routine to call a C routine, and whether to build so they may be
21
* called from C or fortran. For the fortran call C interface, ADD_ assumes that
22
* fortran calls expect C routines to have an underscore postfixed to the name
23
* (Suns, and the Intel expect this). NOCHANGE indicates that fortran expects
24
* the name called by fortran to be identical to that compiled by C
25
* (AIX does this). UPCASE says it expects C routines called by fortran
26
* to be in all upcase (CRAY wants this). The variable FORTRAN_CALL_C is always
27
* set to one of these values. If the BLACS will be called from C, we define
28
* INTFACE to be CALL_C, otherwise, it is set to FORTRAN_CALL_C.
29
*/
30
#define ADD_ 0
31
#define NOCHANGE 1
32
#define UPCASE 2
33
#define FCISF2C 3
34
#define C_CALL 4
35
36
#ifdef UpCase
37
#define FORTRAN_CALL_C UPCASE
38
#endif
39
40
#ifdef NoChange
41
#define FORTRAN_CALL_C NOCHANGE
42
#endif
43
44
#ifdef Add_
45
#define FORTRAN_CALL_C ADD_
46
#endif
47
48
#ifdef FortranIsF2C
49
#define FORTRAN_CALL_C FCISF2C
50
#endif
51
52
#ifndef FORTRAN_CALL_C
53
#define FORTRAN_CALL_C ADD_
54
#endif
55
56
#ifdef CallFromC
57
#define INTFACE C_CALL
58
#else
59
#define INTFACE FORTRAN_CALL_C
60
#endif
61
62
/*
63
* Uncomment these macro definitions, and substitute the topology of your
64
* choice to vary the default topology (TOP = ' ') for broadcast and combines.
65
#define DefBSTop '1'
66
#define DefCombTop '1'
67
*/
68
69
/*
70
* Uncomment this line if your MPI_Send provides a locally-blocking send
71
*/
72
//#define SndIsLocBlk
73
74
/*
75
* Comment out the following line if your MPI does a data copy on every
76
* non-contiguous send
77
*/
78
#define MpiBuffGood
79
80
/*
81
* If your MPI cannot form data types of zero length, uncomment the
82
* following definition
83
*/
84
/* #define ZeroByteTypeBug */
85
86
/*
87
* These macros set the timing and debug levels for the BLACS. The fastest
88
* code is produced by setting both values to 0. Higher levels provide
89
* more timing/debug information at the cost of performance. Present levels
90
* of debug are:
91
* 0 : No debug information
92
* 1 : Mainly parameter checking.
93
*
94
* Present levels of timing are:
95
* 0 : No timings taken
96
*/
97
#ifndef BlacsDebugLvl
98
#define BlacsDebugLvl 0
99
#endif
100
#ifndef BlacsTimingLvl
101
#define BlacsTimingLvl 0
102
#endif
103
104
#endif
BLACS
SRC
Bconfig.h
Generated by
1.8.16