|
270 | 270 | #endif |
271 | 271 |
|
272 | 272 |
|
| 273 | +/* ========================================================================== */ |
| 274 | +/* Configuration and Status Flags/Strings */ |
| 275 | +/* ========================================================================== */ |
| 276 | + |
| 277 | +/* Currently employed performance library: */ |
| 278 | +#if defined(SAF_USE_INTEL_MKL_LP64) |
| 279 | +# define SAF_CURRENT_PERFORMANCE_LIBRARY_STRING "Intel MKL (LP64)" |
| 280 | +#elif defined(SAF_USE_INTEL_MKL_ILP64) |
| 281 | +# define SAF_CURRENT_PERFORMANCE_LIBRARY_STRING "Intel MKL (ILP64)" |
| 282 | +#elif defined(SAF_USE_OPEN_BLAS_AND_LAPACKE) |
| 283 | +# define SAF_CURRENT_PERFORMANCE_LIBRARY_STRING "OpenBLAS with LAPACKE" |
| 284 | +#elif defined(SAF_USE_ATLAS) |
| 285 | +# define SAF_CURRENT_PERFORMANCE_LIBRARY_STRING "ATLAS" |
| 286 | +#elif defined(__APPLE__) && defined(SAF_USE_APPLE_ACCELERATE) |
| 287 | +# define SAF_CURRENT_PERFORMANCE_LIBRARY_STRING "Apple Accelerate" |
| 288 | +#else |
| 289 | +# define SAF_CURRENT_PERFORMANCE_LIBRARY_STRING "NONE" |
| 290 | +#endif |
| 291 | + |
| 292 | +/* Status of Intel IPP */ |
| 293 | +#if defined(SAF_USE_INTEL_IPP) |
| 294 | +# define SAF_INTEL_IPP_STATUS_STRING "Enabled" |
| 295 | +#else |
| 296 | +# define SAF_INTEL_IPP_STATUS_STRING "Disabled" |
| 297 | +#endif |
| 298 | + |
| 299 | +/* Status of FFTW */ |
| 300 | +#if defined(SAF_USE_FFTW) |
| 301 | +# define SAF_FFTW_STATUS_STRING "Enabled" |
| 302 | +#else |
| 303 | +# define SAF_FFTW_STATUS_STRING "Disabled" |
| 304 | +#endif |
| 305 | + |
| 306 | +/* Status of SIMD intrinsics */ |
| 307 | +#if defined(SAF_ENABLE_SIMD) |
| 308 | +# define SAF_SIMD_STATUS_STRING "Enabled" |
| 309 | +/* Which SIMD intrinsics are currently enabled? */ |
| 310 | +# if defined(__AVX512F__) |
| 311 | +# define SAF_ENABLED_SIMD_INTRINSICS_STRING "SSE, SSE2, SSE3, AVX, AVX2, AVX512F" |
| 312 | +# elif defined(__AVX__) && defined(__AVX2__) |
| 313 | +# define SAF_ENABLED_SIMD_INTRINSICS_STRING "SSE, SSE2, SSE3, AVX, AVX2" |
| 314 | +# elif defined(__SSE__) && defined(__SSE2__) && defined(__SSE3__) |
| 315 | +# define SAF_ENABLED_SIMD_INTRINSICS_STRING "SSE, SSE2, SSE3" |
| 316 | +# else |
| 317 | +# define SAF_ENABLED_SIMD_INTRINSICS_STRING "None" |
| 318 | +# endif |
| 319 | +#else |
| 320 | +# define SAF_SIMD_STATUS_STRING "Disabled" |
| 321 | +# define SAF_ENABLED_SIMD_INTRINSICS_STRING "None" |
| 322 | +#endif |
| 323 | + |
| 324 | +/* Status of netCDF */ |
| 325 | +#if defined(SAF_ENABLE_SOFA_READER_MODULE) |
| 326 | +# define SAF_NETCDF_STATUS_STRING "Enabled" |
| 327 | +#else |
| 328 | +# define SAF_NETCDF_STATUS_STRING "Disabled" |
| 329 | +#endif |
| 330 | + |
| 331 | +/** Current configuration information */ |
| 332 | +#define SAF_EXTERNALS_CONFIGURATION_STRING \ |
| 333 | + "Current SAF externals configuration: " "\n" \ |
| 334 | + " - Performance library: " SAF_CURRENT_PERFORMANCE_LIBRARY_STRING "\n" \ |
| 335 | + " - Intel IPP status: " SAF_INTEL_IPP_STATUS_STRING "\n" \ |
| 336 | + " - FFTW status: " SAF_FFTW_STATUS_STRING "\n" \ |
| 337 | + " - SIMD status: " SAF_SIMD_STATUS_STRING "\n" \ |
| 338 | + " - Enabled intrinsics: " SAF_ENABLED_SIMD_INTRINSICS_STRING "\n" \ |
| 339 | + " - netCDF status: " SAF_NETCDF_STATUS_STRING "\n" |
| 340 | + |
| 341 | + |
273 | 342 | #endif /* __SAF_EXTERNALS_H_INCLUDED__ */ |
0 commit comments