54#include <Padico/Puk.h>
55#if defined(NMAD_PIOMAN)
61#define NM_DISPF(str, ...) padico_out(puk_verbose_info, str, ## __VA_ARGS__)
63#define NM_TRACEF(str, ...) padico_trace(str, ## __VA_ARGS__)
65#define NM_WARN(format, ...) padico_warning(format, ## __VA_ARGS__)
67#define NM_FATAL(format, ...) padico_fatal(format, ## __VA_ARGS__)
72#define NM_EXTERN_C extern "C"
73#define NM_EXTERN_C_BEGIN extern "C" {
74#define NM_EXTERN_C_END }
77#define NM_EXTERN_C_BEGIN
78#define NM_EXTERN_C_END
92# error "nmad CFLAGS not defined; please compile with CFLAGS returned by 'pkg-config --cflags nmad'"
95#if defined(NMAD_PIOMAN) && !defined(PIOMAN)
96# error "nmad was configured with pioman support; cannot build without pioman flags."
99#if defined(PIOMAN) && !defined(NMAD_PIOMAN)
100# error "nmad was configured without pioman support; cannot build with pioman flags."
103#if defined(NMAD_PUKABI) && !defined(PUKABI)
104# error "nmad was configured with PukABI support; cannot build without PukABI flags."
107#if defined(PUKABI) && !defined(NMAD_PUKABI)
108# error "nmad was configured without PukABI support; cannot build with PukABI flags."
111#if defined(PIOMAN_TOPOLOGY_HWLOC) && !defined(NMAD_HWLOC)
112# error "pioman was configured with hwloc, but nmad was configured without hwloc."
115#if defined(NMAD_SIMGRID) && !defined(PUK_SIMGRID)
116# error "nmad was configured with simgrid, but Puk was configured without simgrid."
119#if defined(PUK_SIMGRID) && !defined(NMAD_SIMGRID)
120# error "Puk was configured with simgrid, but nmad was configured without simgrid."
123#if defined(NMAD_SIMGRID) && (defined(PIOMAN) && !defined(PIOMAN_SIMGRID))
124# error "nmad was configured with simgrid, but pioman was configured without simgrid."
131# define NMAD_CONFIG_PIOMAN 1
133# define NMAD_CONFIG_PIOMAN 0
137# define NMAD_CONFIG_HWLOC 1
139# define NMAD_CONFIG_HWLOC 0
143# define NMAD_CONFIG_PUKABI 1
145# define NMAD_CONFIG_PUKABI 0
149# define NMAD_CONFIG_DEBUG 1
151# define NMAD_CONFIG_DEBUG 0
155# define NMAD_CONFIG_NDEBUG 1
157# define NMAD_CONFIG_NDEBUG 0
161# define NMAD_CONFIG_SIMGRID 1
163# define NMAD_CONFIG_SIMGRID 0
167# define NMAD_CONFIG_CUDA 1
169# define NMAD_CONFIG_CUDA 0
173# define NMAD_CONFIG_HIP 1
175# define NMAD_CONFIG_HIP 0
178#define NM_TOSTRING2(s) #s
179#define NM_TOSTRING(s) NM_TOSTRING2(s)
183#define NMAD_CONFIG_STRING \
184 " pioman = " NM_TOSTRING(NMAD_CONFIG_PIOMAN) \
185 " hwloc = " NM_TOSTRING(NMAD_CONFIG_HWLOC) \
186 " pukabi = " NM_TOSTRING(NMAD_CONFIG_PUKABI) \
187 " debug = " NM_TOSTRING(NMAD_CONFIG_DEBUG) \
188 " ndebug = " NM_TOSTRING(NMAD_CONFIG_NDEBUG) \
189 " simgrid = " NM_TOSTRING(NMAD_CONFIG_SIMGRID) \
190 " cuda = " NM_TOSTRING(NMAD_CONFIG_CUDA) \
191 " hip = " NM_TOSTRING(NMAD_CONFIG_HIP)
196#define NMAD_ABI_CONFIG_STRING \
197 " pioman = " NM_TOSTRING(NMAD_CONFIG_PIOMAN) \
198 " hwloc = " NM_TOSTRING(NMAD_CONFIG_HWLOC) \
199 " pukabi = " NM_TOSTRING(NMAD_CONFIG_PUKABI) \
200 " debug = " NM_TOSTRING(NMAD_CONFIG_DEBUG) \
201 " simgrid = " NM_TOSTRING(NMAD_CONFIG_SIMGRID) \
202 " cuda = " NM_TOSTRING(NMAD_CONFIG_CUDA) \
203 " hip = " NM_TOSTRING(NMAD_CONFIG_HIP)
#define NMAD_ABI_CONFIG_STRING
config options that impact nmad ABI (content of structures exposed in API or used in inline code)
void nm_abi_config_check_internal(const char *p_config)
static void nm_abi_config_check(void)
Check consistency of ABI config between nmad and application.
This file contains error codes definitions.
This file contains some types and constants used throughout NewMad core and interfaces.