kmp_config-linux.h 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137
  1. /*
  2. * kmp_config.h -- Feature macros
  3. */
  4. //===----------------------------------------------------------------------===//
  5. //
  6. // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
  7. // See https://llvm.org/LICENSE.txt for license information.
  8. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
  9. //
  10. //===----------------------------------------------------------------------===//
  11. #ifndef KMP_CONFIG_H
  12. #define KMP_CONFIG_H
  13. #include "kmp_platform.h"
  14. #define LIBOMP_USE_ITT_NOTIFY 0
  15. #define USE_ITT_NOTIFY LIBOMP_USE_ITT_NOTIFY
  16. #if ! LIBOMP_USE_ITT_NOTIFY
  17. # define INTEL_NO_ITTNOTIFY_API
  18. #endif
  19. #define LIBOMP_USE_VERSION_SYMBOLS 0
  20. #if LIBOMP_USE_VERSION_SYMBOLS
  21. # define KMP_USE_VERSION_SYMBOLS
  22. #endif
  23. #define LIBOMP_HAVE_WEAK_ATTRIBUTE 1
  24. #define KMP_HAVE_WEAK_ATTRIBUTE LIBOMP_HAVE_WEAK_ATTRIBUTE
  25. #define LIBOMP_HAVE_PSAPI 0
  26. #define KMP_HAVE_PSAPI LIBOMP_HAVE_PSAPI
  27. #define LIBOMP_STATS 0
  28. #define KMP_STATS_ENABLED LIBOMP_STATS
  29. #define LIBOMP_HAVE_X86INTRIN_H 0
  30. #define KMP_HAVE_X86INTRIN_H LIBOMP_HAVE_X86INTRIN_H
  31. #define LIBOMP_HAVE___BUILTIN_READCYCLECOUNTER 0
  32. #define KMP_HAVE___BUILTIN_READCYCLECOUNTER LIBOMP_HAVE___BUILTIN_READCYCLECOUNTER
  33. #define LIBOMP_HAVE___RDTSC 0
  34. #define KMP_HAVE___RDTSC LIBOMP_HAVE___RDTSC
  35. #define LIBOMP_USE_DEBUGGER 0
  36. #define USE_DEBUGGER LIBOMP_USE_DEBUGGER
  37. #define LIBOMP_OMPT_DEBUG 0
  38. #define OMPT_DEBUG LIBOMP_OMPT_DEBUG
  39. #define LIBOMP_OMPT_SUPPORT 1
  40. #define OMPT_SUPPORT LIBOMP_OMPT_SUPPORT
  41. #define LIBOMP_OMPD_SUPPORT 0
  42. #define OMPD_SUPPORT LIBOMP_OMPD_SUPPORT
  43. #define LIBOMP_PROFILING_SUPPORT 0
  44. #define OMP_PROFILING_SUPPORT LIBOMP_PROFILING_SUPPORT
  45. #define LIBOMP_OMPT_OPTIONAL 1
  46. #define OMPT_OPTIONAL LIBOMP_OMPT_OPTIONAL
  47. #define LIBOMP_USE_ADAPTIVE_LOCKS 1
  48. #define KMP_USE_ADAPTIVE_LOCKS LIBOMP_USE_ADAPTIVE_LOCKS
  49. #define KMP_DEBUG_ADAPTIVE_LOCKS 0
  50. #define LIBOMP_USE_INTERNODE_ALIGNMENT 0
  51. #define KMP_USE_INTERNODE_ALIGNMENT LIBOMP_USE_INTERNODE_ALIGNMENT
  52. #define LIBOMP_ENABLE_ASSERTIONS 1
  53. #define KMP_USE_ASSERT LIBOMP_ENABLE_ASSERTIONS
  54. #define LIBOMP_USE_HIER_SCHED 0
  55. #define KMP_USE_HIER_SCHED LIBOMP_USE_HIER_SCHED
  56. #define STUBS_LIBRARY 0
  57. #define LIBOMP_USE_HWLOC 0
  58. #define KMP_USE_HWLOC LIBOMP_USE_HWLOC
  59. #define LIBOMP_ENABLE_SHARED 1
  60. #define KMP_DYNAMIC_LIB LIBOMP_ENABLE_SHARED
  61. #define KMP_ARCH_STR "Intel(R) 64"
  62. #define KMP_LIBRARY_FILE "libomp.so"
  63. #define KMP_VERSION_MAJOR 5
  64. #define KMP_VERSION_MINOR 0
  65. #define MSVC 0
  66. #define KMP_MSVC_COMPAT MSVC
  67. #define LIBOMP_HAVE_WAITPKG_INTRINSICS 1
  68. #define KMP_HAVE_WAITPKG_INTRINSICS LIBOMP_HAVE_WAITPKG_INTRINSICS
  69. #define LIBOMP_HAVE_RTM_INTRINSICS 1
  70. #define KMP_HAVE_RTM_INTRINSICS LIBOMP_HAVE_RTM_INTRINSICS
  71. #define LIBOMP_HAVE_IMMINTRIN_H 1
  72. #define KMP_HAVE_IMMINTRIN_H LIBOMP_HAVE_IMMINTRIN_H
  73. #define LIBOMP_HAVE_INTRIN_H 0
  74. #define KMP_HAVE_INTRIN_H LIBOMP_HAVE_INTRIN_H
  75. #define LIBOMP_HAVE_ATTRIBUTE_WAITPKG 1
  76. #define KMP_HAVE_ATTRIBUTE_WAITPKG LIBOMP_HAVE_ATTRIBUTE_WAITPKG
  77. #define LIBOMP_HAVE_ATTRIBUTE_RTM 1
  78. #define KMP_HAVE_ATTRIBUTE_RTM LIBOMP_HAVE_ATTRIBUTE_RTM
  79. #define LIBOMP_ARCH_AARCH64_A64FX 0
  80. #define KMP_ARCH_AARCH64_A64FX LIBOMP_ARCH_AARCH64_A64FX
  81. #define LIBOMP_HAVE_XMMINTRIN_H 1
  82. #define KMP_HAVE_XMMINTRIN_H LIBOMP_HAVE_XMMINTRIN_H
  83. #define LIBOMP_HAVE__MM_MALLOC 1
  84. #define KMP_HAVE__MM_MALLOC LIBOMP_HAVE__MM_MALLOC
  85. #define LIBOMP_HAVE_ALIGNED_ALLOC 1
  86. #define KMP_HAVE_ALIGNED_ALLOC LIBOMP_HAVE_ALIGNED_ALLOC
  87. #define LIBOMP_HAVE_POSIX_MEMALIGN 1
  88. #define KMP_HAVE_POSIX_MEMALIGN LIBOMP_HAVE_POSIX_MEMALIGN
  89. #define LIBOMP_HAVE__ALIGNED_MALLOC 0
  90. #define KMP_HAVE__ALIGNED_MALLOC LIBOMP_HAVE__ALIGNED_MALLOC
  91. // Configured cache line based on architecture
  92. #if KMP_ARCH_PPC64
  93. # define CACHE_LINE 128
  94. #elif KMP_ARCH_AARCH64_A64FX
  95. # define CACHE_LINE 256
  96. #else
  97. # define CACHE_LINE 64
  98. #endif
  99. #if ! KMP_32_BIT_ARCH
  100. # define BUILD_I8 1
  101. #endif
  102. #define KMP_NESTED_HOT_TEAMS 1
  103. #define KMP_ADJUST_BLOCKTIME 1
  104. #define BUILD_PARALLEL_ORDERED 1
  105. #define KMP_ASM_INTRINS 1
  106. #define USE_ITT_BUILD LIBOMP_USE_ITT_NOTIFY
  107. #define INTEL_ITTNOTIFY_PREFIX __kmp_itt_
  108. #if ! KMP_MIC
  109. # define USE_LOAD_BALANCE 1
  110. #endif
  111. #if ! (KMP_OS_WINDOWS || KMP_OS_DARWIN)
  112. # define KMP_TDATA_GTID 1
  113. #endif
  114. #if STUBS_LIBRARY
  115. # define KMP_STUB 1
  116. #endif
  117. // KMP_DEBUG is explicitly set from ya.make
  118. #if KMP_OS_WINDOWS
  119. # define KMP_WIN_CDECL
  120. #else
  121. # define BUILD_TV
  122. # define KMP_GOMP_COMPAT
  123. #endif
  124. // use shared memory with dynamic library (except Android, where shm_*
  125. // functions don't exist).
  126. #if KMP_OS_UNIX && KMP_DYNAMIC_LIB && !__ANDROID__
  127. #define KMP_USE_SHM
  128. #endif
  129. #endif // KMP_CONFIG_H