ScalFmmConfig.h.cmake 4.24 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
berenger-bramas's avatar
berenger-bramas committed
31

32 33
////////////////////////////////////////////////////////
// FFT
berenger-bramas's avatar
berenger-bramas committed
34
///////////////////////////////////////////////////////
35

36 37
#cmakedefine SCALFMM_USE_FFT
#cmakedefine SCALFMM_USE_MKL_AS_FFTW
38 39

//////////////////////////////////////////////////////
berenger-bramas's avatar
berenger-bramas committed
40 41 42
// MPI
///////////////////////////////////////////////////////

43
#cmakedefine SCALFMM_USE_MPI
44

45 46 47 48
///////////////////////////////////////////////////////
// Memory trace
///////////////////////////////////////////////////////

49
#cmakedefine SCALFMM_USE_MEM_STATS
50

51 52 53 54
///////////////////////////////////////////////////////
// CUDA
///////////////////////////////////////////////////////

55
#cmakedefine SCALFMM_USE_CUDA
56

57 58 59 60
///////////////////////////////////////////////////////
// OPENCL
///////////////////////////////////////////////////////

61
#cmakedefine SCALFMM_USE_OPENCL
62

63 64 65 66
///////////////////////////////////////////////////////
// STARPU
///////////////////////////////////////////////////////

67
#cmakedefine SCALFMM_USE_STARPU
68
#cmakedefine SCALFMM_DISABLE_NATIVE_OMP4
69

70 71 72 73
///////////////////////////////////////////////////////
// SSE
///////////////////////////////////////////////////////

74
#cmakedefine SCALFMM_USE_SSE
75
#cmakedefine __AVXPE_INTEL_COMPILER
76

77 78 79 80
///////////////////////////////////////////////////////
// AVX
///////////////////////////////////////////////////////

81
#cmakedefine SCALFMM_USE_AVX
82
#cmakedefine __SSEPE_INTEL_COMPILER
83

84 85 86 87 88
///////////////////////////////////////////////////////
// EZTRACE
///////////////////////////////////////////////////////

#cmakedefine SCALFMM_USE_EZTRACE
COULAUD Olivier's avatar
COULAUD Olivier committed
89 90 91
#cmakedefine SCALFMM_TRACE_ALGO
#cmakedefine SCALFMM_TRACE_P2P
#cmakedefine SCALFMM_TRACE_P2M
COULAUD Olivier's avatar
COULAUD Olivier committed
92
#cmakedefine SCALFMM_TRACE_M2L
COULAUD Olivier's avatar
COULAUD Olivier committed
93 94
#cmakedefine SCALFMM_TRACE_L2L
#cmakedefine SCALFMM_TRACE_L2P
95 96


BRAMAS Berenger's avatar
BRAMAS Berenger committed
97 98 99 100
///////////////////////////////////////////////////////
// Assert tests
///////////////////////////////////////////////////////

101
#cmakedefine SCALFMM_USE_ASSERT
BRAMAS Berenger's avatar
BRAMAS Berenger committed
102

103 104 105 106 107 108

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

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

115 116 117 118

///////////////////////////////////////////////////////
// Flags and libs used to compile
///////////////////////////////////////////////////////
119 120
const std::string SCALFMMCompileFlags("@SCALFMM_COMPILE_FLAGS@");
const std::string SCALFMMCompileLibs("@SCALFMM_COMPILE_LIBS@");
121

122 123 124 125 126 127
///////////////////////////////////////////////////////
// To use commute for KSTAR OMP4
///////////////////////////////////////////////////////

#cmakedefine OPENMP_SUPPORT_COMMUTE

128 129 130 131 132 133
///////////////////////////////////////////////////////
// To use priority for KSTAR OMP4
///////////////////////////////////////////////////////

#cmakedefine OPENMP_SUPPORT_PRIORITY

134 135 136 137 138 139
///////////////////////////////////////////////////////
// To record omp4 task times for statistics
///////////////////////////////////////////////////////

#cmakedefine SCALFMM_TIME_OMPTASKS

140
#endif // CONFIG_H