123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332 |
- /* StarPU --- Runtime system for heterogeneous multicore architectures.
- *
- * Copyright (C) 2009-2021 Université de Bordeaux, CNRS (LaBRI UMR 5800), Inria
- * Copyright (C) 2020 Federal University of Rio Grande do Sul (UFRGS)
- *
- * StarPU is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or (at
- * your option) any later version.
- *
- * StarPU 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 Lesser General Public License in COPYING.LGPL for more details.
- */
- /*
- * This is the public config.h file, installed along libstarpu.
- *
- * It should only contain the build-time #defines which have an effect on the
- * API & ABI.
- */
- #ifndef __STARPU_CONFIG_PUBLIC_H__
- #define __STARPU_CONFIG_PUBLIC_H__
- /**
- Define the major version of StarPU. This is the version used when
- compiling the application.
- @ingroup API_Versioning
- */
- #undef STARPU_MAJOR_VERSION
- /**
- @ingroup API_Versioning
- Define the minor version of StarPU. This is the version used when
- compiling the application.
- */
- #undef STARPU_MINOR_VERSION
- /**
- Define the release version of StarPU. This is the version used when
- compiling the application.
- @ingroup API_Versioning
- */
- #undef STARPU_RELEASE_VERSION
- #undef STARPU_USE_CPU
- /**
- Defined when StarPU has been installed with
- CUDA support. It should be used in your code to detect the
- availability of CUDA.
- @ingroup API_CUDA_Extensions
- */
- #undef STARPU_USE_CUDA
- /**
- Defined when StarPU has been installed with
- NVidia-ML support. It should be used in your code to detect the
- availability of NVML-related functions.
- @ingroup API_CUDA_Extensions
- */
- #undef STARPU_HAVE_LIBNVIDIA_ML
- /**
- Defined when StarPU has been installed with OpenCL support. It
- should be used in your code to detect the availability of OpenCL as
- shown in \ref FullSourceCodeVectorScal.
- @ingroup API_OpenCL_Extensions
- */
- #undef STARPU_USE_OPENCL
- /**
- Defined when StarPU has been installed with MIC support. It should
- be used in your code to detect the availability of MIC.
- @ingroup API_MIC_Extensions
- */
- #undef STARPU_USE_MIC
- /**
- Defined when StarPU has been installed with MPI Master Slave
- support. It should be used in your code to detect the availability
- of MPI Master Slave.
- @ingroup API_MPI_Support
- */
- #undef STARPU_USE_MPI_MASTER_SLAVE
- /**
- Defined when StarPU has been installed with OpenMP Runtime support.
- It should be used in your code to detect the availability of the
- runtime support for OpenMP.
- @ingroup API_OpenMP_Runtime_Support
- */
- #undef STARPU_OPENMP
- #undef STARPU_CLUSTER
- #undef STARPU_SIMGRID
- #undef STARPU_SIMGRID_MC
- #undef STARPU_SIMGRID_HAVE_XBT_BARRIER_INIT
- #undef STARPU_HAVE_SIMGRID_MSG_H
- #undef STARPU_HAVE_MSG_MSG_H
- #undef STARPU_HAVE_SIMGRID_ACTOR_H
- #undef STARPU_HAVE_SIMGRID_SEMAPHORE_H
- #undef STARPU_HAVE_SIMGRID_MUTEX_H
- #undef STARPU_HAVE_SIMGRID_COND_H
- #undef STARPU_HAVE_SIMGRID_BARRIER_H
- #undef STARPU_HAVE_XBT_SYNCHRO_H
- #undef STARPU_HAVE_VALGRIND_H
- #undef STARPU_HAVE_MEMCHECK_H
- #undef STARPU_VALGRIND_FULL
- #undef STARPU_SANITIZE_LEAK
- #undef STARPU_NON_BLOCKING_DRIVERS
- /* workers must call callbacks on sleep/wake-up */
- #undef STARPU_WORKER_CALLBACKS
- #undef STARPU_HAVE_ICC
- /**
- Defined when StarPU has been installed with MPI support. It should
- be used in your code to detect the availability of MPI.
- @ingroup API_MPI_Support
- */
- #undef STARPU_USE_MPI
- #undef STARPU_USE_MPI_MPI
- #undef STARPU_USE_MPI_NMAD
- #undef STARPU_ATLAS
- #undef STARPU_GOTO
- #undef STARPU_OPENBLAS
- #undef STARPU_MKL
- #undef STARPU_ARMPL
- #undef STARPU_SYSTEM_BLAS
- #undef STARPU_HAVE_CBLAS_H
- /**
- Define the directory in which the OpenCL codelets of the
- applications provided with StarPU have been installed.
- @ingroup API_OpenCL_Extensions
- */
- #undef STARPU_OPENCL_DATADIR
- #undef STARPU_HAVE_MAGMA
- #undef STARPU_OPENGL_RENDER
- #undef STARPU_USE_GTK
- #undef STARPU_HAVE_X11
- #undef STARPU_PAPI
- #undef STARPU_HAVE_POSIX_MEMALIGN
- #undef STARPU_HAVE_MEMALIGN
- #undef STARPU_HAVE_MALLOC_H
- #undef STARPU_HAVE_SYNC_BOOL_COMPARE_AND_SWAP
- #undef STARPU_HAVE_SYNC_VAL_COMPARE_AND_SWAP
- #undef STARPU_HAVE_SYNC_FETCH_AND_ADD
- #undef STARPU_HAVE_SYNC_FETCH_AND_OR
- #undef STARPU_HAVE_SYNC_LOCK_TEST_AND_SET
- #undef STARPU_HAVE_SYNC_SYNCHRONIZE
- #undef STARPU_HAVE_ATOMIC_EXCHANGE_N
- #undef STARPU_DEVEL
- #undef STARPU_MODEL_DEBUG
- #undef STARPU_NO_ASSERT
- #undef STARPU_DEBUG
- #undef STARPU_VERBOSE
- #undef STARPU_GDB_PATH
- #undef STARPU_HAVE_FFTW
- #undef STARPU_HAVE_FFTWF
- #undef STARPU_HAVE_FFTWL
- #undef STARPU_HAVE_CUFFTDOUBLECOMPLEX
- #undef STARPU_HAVE_CURAND
- /**
- Define the maximum number of memory nodes managed by StarPU. The
- default value can be modified at configure by using the option \ref
- enable-maxnodes "--enable-maxnodes". Reducing it allows to
- considerably reduce memory used by StarPU data structures.
- @ingroup API_Workers_Properties
- */
- #undef STARPU_MAXNODES
- /**
- Define the maximum number of buffers that tasks will be able to
- take as parameters. The default value is 8, it can be changed by
- using the configure option \ref enable-maxbuffers
- "--enable-maxbuffers".
- @ingroup API_Codelet_And_Tasks
- */
- #undef STARPU_NMAXBUFS
- /**
- Define the maximum number of fxt mpi files that can be read when
- generating traces. The default value is 64, it can be changed by
- using the configure option \ref enable-fxt-max-files
- "--enable-fxt-max-files".
- @ingroup API_MPI_Support
- */
- #undef STARPU_FXT_MAX_FILES
- /**
- Define the maximum number of CPU workers managed by StarPU. The
- default value can be modified at configure by using the option \ref
- enable-maxcpus "--enable-maxcpus".
- @ingroup API_Workers_Properties
- */
- #undef STARPU_MAXCPUS
- /**
- Define the maximum number of NUMA nodes managed by StarPU. The
- default value can be modified at configure by using the option \ref
- enable-maxnumanodes "--enable-maxnumanodes".
- @ingroup API_Workers_Properties
- */
- #undef STARPU_MAXNUMANODES
- /**
- Define the maximum number of CUDA devices that are supported by StarPU.
- @ingroup API_CUDA_Extensions
- */
- #undef STARPU_MAXCUDADEVS
- /**
- Define the maximum number of OpenCL devices that are supported by
- StarPU.
- @ingroup API_OpenCL_Extensions
- */
- #undef STARPU_MAXOPENCLDEVS
- /**
- Define the maximum number of MIC devices that are supported by
- StarPU.
- @ingroup API_MIC_Extensions
- */
- #undef STARPU_MAXMICDEVS
- /**
- Define the maximum number of workers managed by StarPU.
- @ingroup API_Workers_Properties
- */
- #undef STARPU_NMAXWORKERS
- /**
- Define the maximum number of scheduling contexts managed by StarPU.
- The default value can be modified at configure by using the option
- \ref enable-max-sched-ctxs "--enable-max-sched-ctxs".
- @ingroup API_Scheduling_Policy
- */
- #undef STARPU_NMAX_SCHED_CTXS
- /**
- Define the maximum number of implementations per architecture. The
- default value can be modified at configure by using the option \ref
- enable-maximplementations "--enable-maximplementations".
- @ingroup API_Scheduling_Policy
- */
- #undef STARPU_MAXIMPLEMENTATIONS
- #undef STARPU_MAXMPKERNELS
- #undef STARPU_USE_SC_HYPERVISOR
- #undef STARPU_SC_HYPERVISOR_DEBUG
- #undef STARPU_HAVE_GLPK_H
- #undef STARPU_HAVE_CUDA_MEMCPY_PEER
- #undef STARPU_HAVE_LIBNUMA
- #undef STARPU_HAVE_WINDOWS
- #undef STARPU_LINUX_SYS
- #undef STARPU_HAVE_SETENV
- #undef STARPU_HAVE_UNSETENV
- #undef STARPU_HAVE_UNISTD_H
- #undef STARPU_HAVE_HDF5
- #undef STARPU_USE_FXT
- #undef STARPU_FXT_LOCK_TRACES
- #ifdef _MSC_VER
- typedef long starpu_ssize_t;
- #define __starpu_func__ __FUNCTION__
- #else
- # include <sys/types.h>
- typedef ssize_t starpu_ssize_t;
- #define __starpu_func__ __func__
- #endif
- #if defined(c_plusplus) || defined(__cplusplus)
- /* inline is part of C++ */
- # define __starpu_inline inline
- #elif defined(_MSC_VER) || defined(__HP_cc)
- # define __starpu_inline __inline
- #else
- # define __starpu_inline __inline__
- #endif
- #undef STARPU_QUICK_CHECK
- #undef STARPU_LONG_CHECK
- #undef STARPU_USE_DRAND48
- #undef STARPU_USE_ERAND48_R
- #undef STARPU_HAVE_NEARBYINTF
- #undef STARPU_HAVE_RINTF
- #undef STARPU_HAVE_HWLOC
- #undef STARPU_HAVE_PTHREAD_SPIN_LOCK
- #undef STARPU_HAVE_PTHREAD_BARRIER
- #undef STARPU_HAVE_PTHREAD_SETNAME_NP
- #undef STARPU_HAVE_STRUCT_TIMESPEC
- #undef STARPU_PTHREAD_MUTEX_INITIALIZER_ZERO
- #undef STARPU_PTHREAD_COND_INITIALIZER_ZERO
- #undef STARPU_PTHREAD_RWLOCK_INITIALIZER_ZERO
- /** This is only for building examples */
- #undef STARPU_HAVE_HELGRIND_H
- /** Enable Fortran to C MPI interface */
- #undef HAVE_MPI_COMM_F2C
- #undef STARPU_HAVE_DARWIN
- #undef STARPU_HAVE_CXX11
- #undef STARPU_HAVE_STRERROR_R
- #undef STARPU_HAVE_STATEMENT_EXPRESSIONS
- #undef STARPU_PERF_MODEL_DIR
- #undef STARPU_PYTHON_HAVE_NUMPY
- #endif
|