StarPU Internal Handbook
starpu_config.h
1 /* StarPU --- Runtime system for heterogeneous multicore architectures.
2  *
3  * Copyright (C) 2011,2012,2014,2016,2017 Inria
4  * Copyright (C) 2009-2018 Université de Bordeaux
5  * Copyright (C) 2010-2017 CNRS
6  *
7  * StarPU is free software; you can redistribute it and/or modify
8  * it under the terms of the GNU Lesser General Public License as published by
9  * the Free Software Foundation; either version 2.1 of the License, or (at
10  * your option) any later version.
11  *
12  * StarPU is distributed in the hope that it will be useful, but
13  * WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
15  *
16  * See the GNU Lesser General Public License in COPYING.LGPL for more details.
17  */
18 
19 /*
20  * This is the public config.h file, installed along libstarpu.
21  *
22  * It should only contain the build-time #defines which have an effect on the
23  * API & ABI.
24  */
25 
26 #ifndef __STARPU_CONFIG_PUBLIC_H__
27 #define __STARPU_CONFIG_PUBLIC_H__
28 
29 #define STARPU_MAJOR_VERSION 1
30 #define STARPU_MINOR_VERSION 1
31 #define STARPU_RELEASE_VERSION 1
32 
33 #define STARPU_USE_CPU 1
34 #define STARPU_USE_CUDA 1
35 #define STARPU_USE_OPENCL 1
36 #define STARPU_USE_MIC 1
37 #define STARPU_USE_SCC 1
38 #define STARPU_USE_MPI_MASTER_SLAVE 1
39 
40 #define STARPU_OPENMP 1
41 
42 #define STARPU_SIMGRID 1
43 #define STARPU_SIMGRID_MC 1
44 #define STARPU_SIMGRID_HAVE_XBT_BARRIER_INIT 1
45 #define STARPU_HAVE_SIMGRID_MSG_H 1
46 #define STARPU_HAVE_XBT_SYNCHRO_H 1
47 #define STARPU_HAVE_VALGRIND_H 1
48 #define STARPU_HAVE_MEMCHECK_H 1
49 #define STARPU_VALGRIND_FULL 1
50 #define STARPU_SANITIZE_LEAK 1
51 #define STARPU_NON_BLOCKING_DRIVERS 1
52 /* workers must call callbacks on sleep/wake-up */
53 #define STARPU_WORKER_CALLBACKS 1
54 
55 
56 #define STARPU_HAVE_ICC 1
57 
58 #define STARPU_USE_MPI 1
59 #define STARPU_USE_MPI_MPI 1
60 #define STARPU_USE_MPI_NMAD 1
61 
62 #define STARPU_ATLAS 1
63 #define STARPU_GOTO 1
64 #define STARPU_OPENBLAS 1
65 #define STARPU_MKL 1
66 #define STARPU_SYSTEM_BLAS 1
67 
68 #define STARPU_OPENCL_DATADIR 1
69 #define STARPU_HAVE_MAGMA 1
70 
71 #define STARPU_OPENGL_RENDER 1
72 #define STARPU_USE_GTK 1
73 #define STARPU_HAVE_X11 1
74 
75 #define STARPU_HAVE_POSIX_MEMALIGN 1
76 
77 #define STARPU_HAVE_MEMALIGN 1
78 
79 #define STARPU_HAVE_MALLOC_H 1
80 
81 #define STARPU_HAVE_SYNC_BOOL_COMPARE_AND_SWAP 1
82 #define STARPU_HAVE_SYNC_VAL_COMPARE_AND_SWAP 1
83 #define STARPU_HAVE_SYNC_FETCH_AND_ADD 1
84 #define STARPU_HAVE_SYNC_FETCH_AND_OR 1
85 #define STARPU_HAVE_SYNC_LOCK_TEST_AND_SET 1
86 #define STARPU_HAVE_SYNC_SYNCHRONIZE 1
87 
88 #define STARPU_DEVEL 1
89 #define STARPU_MODEL_DEBUG 1
90 #define STARPU_NO_ASSERT 1
91 #define STARPU_DEBUG 1
92 #define STARPU_VERBOSE 1
93 #define STARPU_GDB_PATH 1
94 
95 #define STARPU_HAVE_FFTW 1
96 #define STARPU_HAVE_FFTWF 1
97 #define STARPU_HAVE_FFTWL 1
98 #define STARPU_HAVE_CUFFTDOUBLECOMPLEX 1
99 
100 #define STARPU_HAVE_CURAND 1
101 
102 #define STARPU_MAXNODES 1
103 #define STARPU_NMAXBUFS 1
104 #define STARPU_MAXCPUS 1
105 #define STARPU_MAXNUMANODES 1
106 #define STARPU_MAXCUDADEVS 1
107 #define STARPU_MAXOPENCLDEVS 1
108 #define STARPU_MAXMICDEVS 1
109 #define STARPU_MAXSCCDEVS 1
110 #define STARPU_NMAXWORKERS 1
111 #define STARPU_NMAX_SCHED_CTXS 1
112 #define STARPU_MAXIMPLEMENTATIONS 1
113 #define STARPU_MAXMPKERNELS 1
114 #define STARPU_USE_SC_HYPERVISOR 1
115 #define STARPU_SC_HYPERVISOR_DEBUG 1
116 #define STARPU_HAVE_GLPK_H 1
117 
118 #define STARPU_HAVE_CUDA_MEMCPY_PEER 1
119 #define STARPU_HAVE_LIBNUMA 1
120 
121 #define STARPU_HAVE_WINDOWS 1
122 #define STARPU_LINUX_SYS 1
123 #define STARPU_HAVE_SETENV 1
124 #define STARPU_HAVE_UNSETENV 1
125 #define STARPU_HAVE_UNISTD_H 1
126 #define STARPU_HAVE_HDF5 1
127 
128 #define STARPU_USE_FXT 1
129 #define STARPU_FXT_LOCK_TRACES 1
130 
131 #ifdef _MSC_VER
132 typedef long starpu_ssize_t;
133 #define __starpu_func__ __FUNCTION__
134 #else
135 # include <sys/types.h>
136 typedef ssize_t starpu_ssize_t;
137 #define __starpu_func__ __func__
138 #endif
139 
140 #if defined(c_plusplus) || defined(__cplusplus)
141 /* inline is part of C++ */
142 # define __starpu_inline inline
143 #elif defined(_MSC_VER) || defined(__HP_cc)
144 # define __starpu_inline __inline
145 #else
146 # define __starpu_inline __inline__
147 #endif
148 
149 #define STARPU_QUICK_CHECK 1
150 #define STARPU_LONG_CHECK 1
151 #define STARPU_USE_DRAND48 1
152 #define STARPU_USE_ERAND48_R 1
153 #define STARPU_HAVE_NEARBYINTF 1
154 #define STARPU_HAVE_RINTF 1
155 #define STARPU_USE_TOP 1
156 
157 #define STARPU_HAVE_HWLOC 1
158 #define STARPU_HAVE_PTHREAD_SPIN_LOCK 1
159 #define STARPU_HAVE_PTHREAD_BARRIER 1
160 #define STARPU_HAVE_PTHREAD_SETNAME_NP 1
161 #define STARPU_HAVE_STRUCT_TIMESPEC 1
162 
163 /* This is only for building examples */
164 #define STARPU_HAVE_HELGRIND_H 1
165 
166 /* Enable Fortran to C MPI interface */
167 #define HAVE_MPI_COMM_F2C 1
168 
169 #define STARPU_HAVE_DARWIN 1
170 
171 #define STARPU_HAVE_CXX11 1
172 #define STARPU_HAVE_STRERROR_R 1
173 #define STARPU_HAVE_STATEMENT_EXPRESSIONS 1
174 #define STARPU_PERF_MODEL_DIR 1
175 
176 #endif