ScalFmmConfig.h.cmake 5.29 KB
Newer Older
BRAMAS Berenger's avatar
BRAMAS Berenger committed
1
// ===================================================================================
COULAUD Olivier's avatar
COULAUD Olivier committed
2 3 4 5 6 7 8 9 10 11 12 13 14
// Copyright ScalFmm 2011 INRIA, Olivier Coulaud, Berenger Bramas
// olivier.coulaud@inria.fr, berenger.bramas@inria.fr
// This software is a computer program whose purpose is to compute the FMM.
//
// This software is governed by the CeCILL-C and LGPL licenses and
// abiding by the rules of distribution of free software.  
// 
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public and CeCILL-C Licenses for more details.
// "http://www.cecill.info". 
// "http://www.gnu.org/licenses".
BRAMAS Berenger's avatar
BRAMAS Berenger committed
15
// ===================================================================================
16 17
#ifndef SSCALFMMCONFIG_H
#define SSCALFMMCONFIG_H
18 19 20 21 22
///////////////////////////////////////////////////////
// Debug
///////////////////////////////////////////////////////

// Uncomment the next line to use debug mode
23
#cmakedefine SCALFMM_USE_LOG
24

berenger-bramas's avatar
berenger-bramas committed
25 26 27 28
///////////////////////////////////////////////////////
// Blas
///////////////////////////////////////////////////////

29 30
#cmakedefine SCALFMM_USE_BLAS
#cmakedefine SCALFMM_USE_MKL_AS_BLAS
31 32 33 34
// Fortran Mangling
#cmakedefine SCALFMM_BLAS_ADD_
#cmakedefine SCALFMM_BLAS_UPCASE
#cmakedefine SCALFMM_BLAS_NOCHANGE
35 36
////////////////////////////////////////////////////////
// FFT
berenger-bramas's avatar
berenger-bramas committed
37
///////////////////////////////////////////////////////
38

39 40
#cmakedefine SCALFMM_USE_FFT
#cmakedefine SCALFMM_USE_MKL_AS_FFTW
41
#cmakedefine SCALFMM_USE_ESSL_AS_FFTW
42 43

//////////////////////////////////////////////////////
berenger-bramas's avatar
berenger-bramas committed
44 45 46
// MPI
///////////////////////////////////////////////////////

47
#cmakedefine SCALFMM_USE_MPI
48

49 50 51 52
///////////////////////////////////////////////////////
// Memory trace
///////////////////////////////////////////////////////

53
#cmakedefine SCALFMM_USE_MEM_STATS
54

55 56 57 58
///////////////////////////////////////////////////////
// CUDA
///////////////////////////////////////////////////////

59
#cmakedefine SCALFMM_USE_CUDA
60

61 62 63 64
///////////////////////////////////////////////////////
// OPENCL
///////////////////////////////////////////////////////

65
#cmakedefine SCALFMM_USE_OPENCL
66

67 68 69 70
///////////////////////////////////////////////////////
// STARPU
///////////////////////////////////////////////////////

71
#cmakedefine SCALFMM_USE_STARPU
BRAMAS Berenger's avatar
BRAMAS Berenger committed
72
#cmakedefine SCALFMM_DISABLE_NATIVE_OMP4
73

74 75 76 77
///////////////////////////////////////////////////////
// SSE
///////////////////////////////////////////////////////

78
#cmakedefine SCALFMM_USE_SSE
79
#cmakedefine __AVXPE_INTEL_COMPILER
80

81 82 83 84
///////////////////////////////////////////////////////
// AVX
///////////////////////////////////////////////////////

85
#cmakedefine SCALFMM_USE_AVX
86
#cmakedefine __SSEPE_INTEL_COMPILER
87

88 89 90 91 92
///////////////////////////////////////////////////////
// EZTRACE
///////////////////////////////////////////////////////

#cmakedefine SCALFMM_USE_EZTRACE
COULAUD Olivier's avatar
COULAUD Olivier committed
93 94 95
#cmakedefine SCALFMM_TRACE_ALGO
#cmakedefine SCALFMM_TRACE_P2P
#cmakedefine SCALFMM_TRACE_P2M
COULAUD Olivier's avatar
COULAUD Olivier committed
96
#cmakedefine SCALFMM_TRACE_M2L
COULAUD Olivier's avatar
COULAUD Olivier committed
97 98
#cmakedefine SCALFMM_TRACE_L2L
#cmakedefine SCALFMM_TRACE_L2P
99 100


BRAMAS Berenger's avatar
BRAMAS Berenger committed
101 102 103 104
///////////////////////////////////////////////////////
// Assert tests
///////////////////////////////////////////////////////

105
#cmakedefine SCALFMM_USE_ASSERT
BRAMAS Berenger's avatar
BRAMAS Berenger committed
106

107 108 109 110 111 112

#ifdef __INTEL_COMPILER
#pragma warning (disable : 858 ) 
#pragma warning (disable : 2326 ) 
#endif

COULAUD Olivier's avatar
COULAUD Olivier committed
113
///////////////////////////////////////////////////////
114
// Path to the SCALFMM DATA (For UTests)
COULAUD Olivier's avatar
COULAUD Olivier committed
115 116 117 118
///////////////////////////////////////////////////////
#include <string>
const std::string SCALFMMDataPath("@CMAKE_SOURCE_DIR@/Data/");

119 120 121 122

///////////////////////////////////////////////////////
// Flags and libs used to compile
///////////////////////////////////////////////////////
123 124
const std::string SCALFMMCompileFlags("@SCALFMM_COMPILE_FLAGS@");
const std::string SCALFMMCompileLibs("@SCALFMM_COMPILE_LIBS@");
125

126 127 128 129 130 131
///////////////////////////////////////////////////////
// To use commute for KSTAR OMP4
///////////////////////////////////////////////////////

#cmakedefine OPENMP_SUPPORT_COMMUTE

132 133 134 135 136 137
///////////////////////////////////////////////////////
// To use priority for KSTAR OMP4
///////////////////////////////////////////////////////

#cmakedefine OPENMP_SUPPORT_PRIORITY

138 139 140 141 142 143
///////////////////////////////////////////////////////
// To use a taskname clause for tasks with KSTAR OMP4
///////////////////////////////////////////////////////

#cmakedefine OPENMP_SUPPORT_TASK_NAME

144 145 146 147 148 149
///////////////////////////////////////////////////////
// To record omp4 task times for statistics
///////////////////////////////////////////////////////

#cmakedefine SCALFMM_TIME_OMPTASKS

150 151 152 153 154 155
///////////////////////////////////////////////////////
// To catch signals and print backtrace
///////////////////////////////////////////////////////

#cmakedefine SCALFMM_USE_SIGNALS

156 157 158 159 160 161
///////////////////////////////////////////////////////
// To control starpu config
///////////////////////////////////////////////////////

#cmakedefine SCALFMM_STARPU_USE_COMMUTE
#cmakedefine SCALFMM_STARPU_USE_REDUX
Berenger Bramas's avatar
Berenger Bramas committed
162
#cmakedefine SCALFMM_STARPU_USE_PRIO
163
#cmakedefine SCALFMM_STARPU_FORCE_NO_SCHEDULER
164

165 166 167 168 169
///////////////////////////////////////////////////////
// To control simgrid config
///////////////////////////////////////////////////////

#cmakedefine SCALFMM_SIMGRID_NODATA
170
#cmakedefine STARPU_SIMGRID_MLR_MODELS
171

172
#endif // CONFIG_H