StarPU Internal Handbook
starpu_config.h
1/* StarPU --- Runtime system for heterogeneous multicore architectures.
2 *
3 * Copyright (C) 2009-2025 University of Bordeaux, CNRS (LaBRI UMR 5800), Inria
4 * Copyright (C) 2020-2020 Federal University of Rio Grande do Sul (UFRGS)
5 *
6 * StarPU is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU Lesser General Public License as published by
8 * the Free Software Foundation; either version 2.1 of the License, or (at
9 * your option) any later version.
10 *
11 * StarPU is distributed in the hope that it will be useful, but
12 * WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
14 *
15 * See the GNU Lesser General Public License in COPYING.LGPL for more details.
16 */
17
18/*
19 * This is the public config.h file, installed along libstarpu.
20 *
21 * It should only contain the build-time #defines which have an effect on the
22 * API & ABI.
23 */
24
25#ifndef __STARPU_CONFIG_PUBLIC_H__
26#define __STARPU_CONFIG_PUBLIC_H__
27
33#define STARPU_MAJOR_VERSION 1
34
40#define STARPU_MINOR_VERSION 1
41
47#define STARPU_RELEASE_VERSION 1
48
49#define STARPU_USE_CPU 1
50
57#define STARPU_USE_CUDA 1
58
62#define STARPU_USE_CUDA0 1
63
67#define STARPU_USE_CUDA1 1
68
75#define STARPU_USE_HIP 1
76
83#define STARPU_USE_HIPBLAS 1
84
91#define STARPU_HAVE_NVML_H 1
92
99#define STARPU_USE_OPENCL 1
100
106#define STARPU_USE_MAX_FPGA 1
107
114#define STARPU_USE_MPI_MASTER_SLAVE 1
115
121#define STARPU_USE_TCPIP_MASTER_SLAVE 1
122
129#define STARPU_OPENMP 1
130
131#define STARPU_BUBBLE 1
132#define STARPU_PARALLEL_WORKER 1
133
134#define STARPU_SIMGRID 1
135#define STARPU_SIMGRID_MC 1
136#define STARPU_SIMGRID_HAVE_XBT_BARRIER_INIT 1
137#define STARPU_HAVE_SIMGRID_MSG_H 1
138#define STARPU_HAVE_MSG_MSG_H 1
139#define STARPU_HAVE_SIMGRID_ACTOR_H 1
140#define STARPU_HAVE_SIMGRID_SEMAPHORE_H 1
141#define STARPU_HAVE_SIMGRID_MUTEX_H 1
142#define STARPU_HAVE_SIMGRID_COND_H 1
143#define STARPU_HAVE_SIMGRID_BARRIER_H 1
144#define STARPU_HAVE_XBT_SYNCHRO_H 1
145#define STARPU_HAVE_VALGRIND_H 1
146#define STARPU_HAVE_MEMCHECK_H 1
147#define STARPU_VALGRIND_FULL 1
148#define STARPU_SANITIZE_LEAK 1
149#define STARPU_NON_BLOCKING_DRIVERS 1
150/* workers must call callbacks on sleep/wake-up */
151#define STARPU_WORKER_CALLBACKS 1
152
153#define STARPU_HAVE_ICC 1
154
160#define STARPU_USE_MPI 1
161#define STARPU_USE_MPI_MPI 1
162#define STARPU_USE_MPI_NMAD 1
163#define STARPU_USE_MPI_FT 1
164#define STARPU_USE_MPI_FT_STATS 1
165
166#define STARPU_ATLAS 1
167#define STARPU_GOTO 1
168#define STARPU_OPENBLAS 1
169#define STARPU_MKL 1
170#define STARPU_ARMPL 1
171#define STARPU_SYSTEM_BLAS 1
172#define STARPU_HAVE_CBLAS_H 1
173#define STARPU_HAVE_BLAS 1
174
180#define STARPU_OPENCL_DATADIR 1
181#define STARPU_HAVE_LIBCUBLASLT 1
182#define STARPU_HAVE_LIBCUSPARSE 1
183#define STARPU_HAVE_LIBCUSOLVER 1
184#define STARPU_HAVE_MAGMA 1
185
186#define STARPU_OPENGL_RENDER 1
187#define STARPU_USE_GTK 1
188#define STARPU_HAVE_X11 1
189#define STARPU_PAPI 1
190
191#define STARPU_HAVE_POSIX_MEMALIGN 1
192
193#define STARPU_HAVE_MEMALIGN 1
194
195#define STARPU_HAVE_MALLOC_H 1
196
197#define STARPU_HAVE_SYNC_BOOL_COMPARE_AND_SWAP 1
198#define STARPU_HAVE_SYNC_BOOL_COMPARE_AND_SWAP_8 1
199#define STARPU_HAVE_SYNC_VAL_COMPARE_AND_SWAP 1
200#define STARPU_HAVE_SYNC_VAL_COMPARE_AND_SWAP_8 1
201#define STARPU_HAVE_SYNC_FETCH_AND_ADD 1
202#define STARPU_HAVE_SYNC_FETCH_AND_ADD_8 1
203#define STARPU_HAVE_SYNC_FETCH_AND_OR 1
204#define STARPU_HAVE_SYNC_FETCH_AND_OR_8 1
205#define STARPU_HAVE_SYNC_LOCK_TEST_AND_SET 1
206#define STARPU_HAVE_ATOMIC_COMPARE_EXCHANGE_N 1
207#define STARPU_HAVE_ATOMIC_COMPARE_EXCHANGE_N_8 1
208#define STARPU_HAVE_ATOMIC_EXCHANGE_N 1
209#define STARPU_HAVE_ATOMIC_EXCHANGE_N_8 1
210#define STARPU_HAVE_ATOMIC_FETCH_ADD 1
211#define STARPU_HAVE_ATOMIC_FETCH_ADD_8 1
212#define STARPU_HAVE_ATOMIC_FETCH_OR 1
213#define STARPU_HAVE_ATOMIC_FETCH_OR_8 1
214#define STARPU_HAVE_ATOMIC_TEST_AND_SET 1
215#define STARPU_HAVE_SYNC_SYNCHRONIZE 1
216
217#define STARPU_DEVEL 1
218#define STARPU_MODEL_DEBUG 1
219#define STARPU_NO_ASSERT 1
220#define STARPU_DEBUG 1
221#define STARPU_VERBOSE 1
222#define STARPU_GDB_PATH 1
223
224#define STARPU_HAVE_FFTW 1
225#define STARPU_HAVE_FFTWF 1
226#define STARPU_HAVE_FFTWL 1
227#define STARPU_HAVE_CUFFTDOUBLECOMPLEX 1
228
229#define STARPU_HAVE_CURAND 1
230
238#define STARPU_MAXNODES 1
239
247#define STARPU_NMAXBUFS 1
248
256#define STARPU_FXT_MAX_FILES 1
257
264#define STARPU_MAXCPUS 1
265
272#define STARPU_MAXNUMANODES 1
273
278#define STARPU_MAXCUDADEVS 1
279
285#define STARPU_MAXOPENCLDEVS 1
286
292#define STARPU_MAXMAXFPGADEVS 1
293
299#define STARPU_MAXHIPDEVS 1
300
305#define STARPU_NMAXWORKERS 1
306
313#define STARPU_NMAX_SCHED_CTXS 1
314
321#define STARPU_MAXIMPLEMENTATIONS 1
322
323#define STARPU_USE_SC_HYPERVISOR 1
324#define STARPU_SC_HYPERVISOR_DEBUG 1
325#define STARPU_HAVE_GLPK_H 1
326
327#define STARPU_HAVE_CUDA_MEMCPY_PEER 1
328#define STARPU_HAVE_LIBNUMA 1
329
330#define STARPU_HAVE_WINDOWS 1
331#define STARPU_LINUX_SYS 1
332#define STARPU_HAVE_SETENV 1
333#define STARPU_HAVE_UNSETENV 1
334#define STARPU_HAVE_UNISTD_H 1
335#define STARPU_HAVE_HDF5 1
336
337#define STARPU_HAVE_MPI_COMM_CREATE_GROUP 1
338
339#define STARPU_USE_FXT 1
340#define STARPU_FXT_LOCK_TRACES 1
341
342#ifdef _MSC_VER
343typedef long starpu_ssize_t;
344#define __starpu_func__ __FUNCTION__
345#else
346#include <sys/types.h>
347typedef ssize_t starpu_ssize_t;
348#define __starpu_func__ __func__
349#endif
350
351#if defined(c_plusplus) || defined(__cplusplus)
352/* inline is part of C++ */
353#define __starpu_inline inline
354#elif defined(_MSC_VER) || defined(__HP_cc)
355#define __starpu_inline __inline
356#else
357#define __starpu_inline __inline__
358#endif
359
360#define STARPU_QUICK_CHECK 1
361#define STARPU_LONG_CHECK 1
362#define STARPU_USE_DRAND48 1
363#define STARPU_USE_ERAND48_R 1
364#define STARPU_HAVE_NEARBYINTF 1
365#define STARPU_HAVE_RINTF 1
366
367#define STARPU_HAVE_HWLOC 1
368#define STARPU_HAVE_PTHREAD_SPIN_LOCK 1
369#define STARPU_HAVE_PTHREAD_BARRIER 1
370#define STARPU_HAVE_PTHREAD_SETNAME_NP 1
371#define STARPU_HAVE_STRUCT_TIMESPEC 1
372#define STARPU_PTHREAD_MUTEX_INITIALIZER_ZERO 1
373#define STARPU_PTHREAD_COND_INITIALIZER_ZERO 1
374#define STARPU_PTHREAD_RWLOCK_INITIALIZER_ZERO 1
375
377#define STARPU_HAVE_HELGRIND_H 1
378
380#define HAVE_MPI_COMM_F2C 1
381
382#define STARPU_HAVE_DARWIN 1
383
384#define STARPU_HAVE_CXX11 1
385#define STARPU_HAVE_STRERROR_R 1
386#define STARPU_HAVE_STATEMENT_EXPRESSIONS 1
387#define STARPU_PERF_MODEL_DIR 1
388
389#define STARPU_PYTHON_HAVE_NUMPY 1
390
391#define STARPU_PROF_TOOL 1
392
393#endif