diff options
author | robot-piglet <robot-piglet@yandex-team.com> | 2023-11-13 23:03:25 +0300 |
---|---|---|
committer | robot-piglet <robot-piglet@yandex-team.com> | 2023-11-13 23:18:50 +0300 |
commit | fb5a92a2e87346760c6bb80c767b46c550cf2ee7 (patch) | |
tree | cfe5cbca12e04df2b663cc70a4ce945ab8bf92e2 | |
parent | 79b9ca5b60c3f2c4a545bb1b7948e506a80cd78f (diff) | |
download | ydb-fb5a92a2e87346760c6bb80c767b46c550cf2ee7.tar.gz |
Intermediate changes
-rw-r--r-- | contrib/libs/cxxsupp/openmp/kmp_config-armv8a.h | 4 | ||||
-rw-r--r-- | contrib/libs/cxxsupp/openmp/kmp_config-linux.h | 137 | ||||
-rw-r--r-- | contrib/libs/cxxsupp/openmp/kmp_config.h | 138 |
3 files changed, 145 insertions, 134 deletions
diff --git a/contrib/libs/cxxsupp/openmp/kmp_config-armv8a.h b/contrib/libs/cxxsupp/openmp/kmp_config-armv8a.h new file mode 100644 index 0000000000..3bc1621c6e --- /dev/null +++ b/contrib/libs/cxxsupp/openmp/kmp_config-armv8a.h @@ -0,0 +1,4 @@ +#include "kmp_config-linux.h" + +#undef LIBOMP_HAVE_XMMINTRIN_H +#undef KMP_HAVE_XMMINTRIN_H diff --git a/contrib/libs/cxxsupp/openmp/kmp_config-linux.h b/contrib/libs/cxxsupp/openmp/kmp_config-linux.h new file mode 100644 index 0000000000..2f7a7f9320 --- /dev/null +++ b/contrib/libs/cxxsupp/openmp/kmp_config-linux.h @@ -0,0 +1,137 @@ +/* + * kmp_config.h -- Feature macros + */ +//===----------------------------------------------------------------------===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//===----------------------------------------------------------------------===// +#ifndef KMP_CONFIG_H +#define KMP_CONFIG_H + +#include "kmp_platform.h" + +#define LIBOMP_USE_ITT_NOTIFY 0 +#define USE_ITT_NOTIFY LIBOMP_USE_ITT_NOTIFY +#if ! LIBOMP_USE_ITT_NOTIFY +# define INTEL_NO_ITTNOTIFY_API +#endif +#define LIBOMP_USE_VERSION_SYMBOLS 0 +#if LIBOMP_USE_VERSION_SYMBOLS +# define KMP_USE_VERSION_SYMBOLS +#endif +#define LIBOMP_HAVE_WEAK_ATTRIBUTE 1 +#define KMP_HAVE_WEAK_ATTRIBUTE LIBOMP_HAVE_WEAK_ATTRIBUTE +#define LIBOMP_HAVE_PSAPI 0 +#define KMP_HAVE_PSAPI LIBOMP_HAVE_PSAPI +#define LIBOMP_STATS 0 +#define KMP_STATS_ENABLED LIBOMP_STATS +#define LIBOMP_HAVE_X86INTRIN_H 0 +#define KMP_HAVE_X86INTRIN_H LIBOMP_HAVE_X86INTRIN_H +#define LIBOMP_HAVE___BUILTIN_READCYCLECOUNTER 0 +#define KMP_HAVE___BUILTIN_READCYCLECOUNTER LIBOMP_HAVE___BUILTIN_READCYCLECOUNTER +#define LIBOMP_HAVE___RDTSC 0 +#define KMP_HAVE___RDTSC LIBOMP_HAVE___RDTSC +#define LIBOMP_USE_DEBUGGER 0 +#define USE_DEBUGGER LIBOMP_USE_DEBUGGER +#define LIBOMP_OMPT_DEBUG 0 +#define OMPT_DEBUG LIBOMP_OMPT_DEBUG +#define LIBOMP_OMPT_SUPPORT 1 +#define OMPT_SUPPORT LIBOMP_OMPT_SUPPORT +#define LIBOMP_OMPD_SUPPORT 0 +#define OMPD_SUPPORT LIBOMP_OMPD_SUPPORT +#define LIBOMP_PROFILING_SUPPORT 0 +#define OMP_PROFILING_SUPPORT LIBOMP_PROFILING_SUPPORT +#define LIBOMP_OMPT_OPTIONAL 1 +#define OMPT_OPTIONAL LIBOMP_OMPT_OPTIONAL +#define LIBOMP_USE_ADAPTIVE_LOCKS 1 +#define KMP_USE_ADAPTIVE_LOCKS LIBOMP_USE_ADAPTIVE_LOCKS +#define KMP_DEBUG_ADAPTIVE_LOCKS 0 +#define LIBOMP_USE_INTERNODE_ALIGNMENT 0 +#define KMP_USE_INTERNODE_ALIGNMENT LIBOMP_USE_INTERNODE_ALIGNMENT +#define LIBOMP_ENABLE_ASSERTIONS 1 +#define KMP_USE_ASSERT LIBOMP_ENABLE_ASSERTIONS +#define LIBOMP_USE_HIER_SCHED 0 +#define KMP_USE_HIER_SCHED LIBOMP_USE_HIER_SCHED +#define STUBS_LIBRARY 0 +#define LIBOMP_USE_HWLOC 0 +#define KMP_USE_HWLOC LIBOMP_USE_HWLOC +#define LIBOMP_ENABLE_SHARED 1 +#define KMP_DYNAMIC_LIB LIBOMP_ENABLE_SHARED +#define KMP_ARCH_STR "Intel(R) 64" +#define KMP_LIBRARY_FILE "libomp.so" +#define KMP_VERSION_MAJOR 5 +#define KMP_VERSION_MINOR 0 +#define MSVC 0 +#define KMP_MSVC_COMPAT MSVC +#define LIBOMP_HAVE_WAITPKG_INTRINSICS 1 +#define KMP_HAVE_WAITPKG_INTRINSICS LIBOMP_HAVE_WAITPKG_INTRINSICS +#define LIBOMP_HAVE_RTM_INTRINSICS 1 +#define KMP_HAVE_RTM_INTRINSICS LIBOMP_HAVE_RTM_INTRINSICS +#define LIBOMP_HAVE_IMMINTRIN_H 1 +#define KMP_HAVE_IMMINTRIN_H LIBOMP_HAVE_IMMINTRIN_H +#define LIBOMP_HAVE_INTRIN_H 0 +#define KMP_HAVE_INTRIN_H LIBOMP_HAVE_INTRIN_H +#define LIBOMP_HAVE_ATTRIBUTE_WAITPKG 1 +#define KMP_HAVE_ATTRIBUTE_WAITPKG LIBOMP_HAVE_ATTRIBUTE_WAITPKG +#define LIBOMP_HAVE_ATTRIBUTE_RTM 1 +#define KMP_HAVE_ATTRIBUTE_RTM LIBOMP_HAVE_ATTRIBUTE_RTM +#define LIBOMP_ARCH_AARCH64_A64FX 0 +#define KMP_ARCH_AARCH64_A64FX LIBOMP_ARCH_AARCH64_A64FX +#define LIBOMP_HAVE_XMMINTRIN_H 1 +#define KMP_HAVE_XMMINTRIN_H LIBOMP_HAVE_XMMINTRIN_H +#define LIBOMP_HAVE__MM_MALLOC 1 +#define KMP_HAVE__MM_MALLOC LIBOMP_HAVE__MM_MALLOC +#define LIBOMP_HAVE_ALIGNED_ALLOC 1 +#define KMP_HAVE_ALIGNED_ALLOC LIBOMP_HAVE_ALIGNED_ALLOC +#define LIBOMP_HAVE_POSIX_MEMALIGN 1 +#define KMP_HAVE_POSIX_MEMALIGN LIBOMP_HAVE_POSIX_MEMALIGN +#define LIBOMP_HAVE__ALIGNED_MALLOC 0 +#define KMP_HAVE__ALIGNED_MALLOC LIBOMP_HAVE__ALIGNED_MALLOC + +// Configured cache line based on architecture +#if KMP_ARCH_PPC64 +# define CACHE_LINE 128 +#elif KMP_ARCH_AARCH64_A64FX +# define CACHE_LINE 256 +#else +# define CACHE_LINE 64 +#endif + +#if ! KMP_32_BIT_ARCH +# define BUILD_I8 1 +#endif + +#define KMP_NESTED_HOT_TEAMS 1 +#define KMP_ADJUST_BLOCKTIME 1 +#define BUILD_PARALLEL_ORDERED 1 +#define KMP_ASM_INTRINS 1 +#define USE_ITT_BUILD LIBOMP_USE_ITT_NOTIFY +#define INTEL_ITTNOTIFY_PREFIX __kmp_itt_ +#if ! KMP_MIC +# define USE_LOAD_BALANCE 1 +#endif +#if ! (KMP_OS_WINDOWS || KMP_OS_DARWIN) +# define KMP_TDATA_GTID 1 +#endif +#if STUBS_LIBRARY +# define KMP_STUB 1 +#endif + +// KMP_DEBUG is explicitly set from ya.make + +#if KMP_OS_WINDOWS +# define KMP_WIN_CDECL +#else +# define BUILD_TV +# define KMP_GOMP_COMPAT +#endif + +// use shared memory with dynamic library (except Android, where shm_* +// functions don't exist). +#if KMP_OS_UNIX && KMP_DYNAMIC_LIB && !__ANDROID__ +#define KMP_USE_SHM +#endif +#endif // KMP_CONFIG_H diff --git a/contrib/libs/cxxsupp/openmp/kmp_config.h b/contrib/libs/cxxsupp/openmp/kmp_config.h index 2f7a7f9320..cf92bd3cf4 100644 --- a/contrib/libs/cxxsupp/openmp/kmp_config.h +++ b/contrib/libs/cxxsupp/openmp/kmp_config.h @@ -1,137 +1,7 @@ -/* - * kmp_config.h -- Feature macros - */ -//===----------------------------------------------------------------------===// -// -// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. -// See https://llvm.org/LICENSE.txt for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//===----------------------------------------------------------------------===// -#ifndef KMP_CONFIG_H -#define KMP_CONFIG_H +#pragma once -#include "kmp_platform.h" - -#define LIBOMP_USE_ITT_NOTIFY 0 -#define USE_ITT_NOTIFY LIBOMP_USE_ITT_NOTIFY -#if ! LIBOMP_USE_ITT_NOTIFY -# define INTEL_NO_ITTNOTIFY_API -#endif -#define LIBOMP_USE_VERSION_SYMBOLS 0 -#if LIBOMP_USE_VERSION_SYMBOLS -# define KMP_USE_VERSION_SYMBOLS -#endif -#define LIBOMP_HAVE_WEAK_ATTRIBUTE 1 -#define KMP_HAVE_WEAK_ATTRIBUTE LIBOMP_HAVE_WEAK_ATTRIBUTE -#define LIBOMP_HAVE_PSAPI 0 -#define KMP_HAVE_PSAPI LIBOMP_HAVE_PSAPI -#define LIBOMP_STATS 0 -#define KMP_STATS_ENABLED LIBOMP_STATS -#define LIBOMP_HAVE_X86INTRIN_H 0 -#define KMP_HAVE_X86INTRIN_H LIBOMP_HAVE_X86INTRIN_H -#define LIBOMP_HAVE___BUILTIN_READCYCLECOUNTER 0 -#define KMP_HAVE___BUILTIN_READCYCLECOUNTER LIBOMP_HAVE___BUILTIN_READCYCLECOUNTER -#define LIBOMP_HAVE___RDTSC 0 -#define KMP_HAVE___RDTSC LIBOMP_HAVE___RDTSC -#define LIBOMP_USE_DEBUGGER 0 -#define USE_DEBUGGER LIBOMP_USE_DEBUGGER -#define LIBOMP_OMPT_DEBUG 0 -#define OMPT_DEBUG LIBOMP_OMPT_DEBUG -#define LIBOMP_OMPT_SUPPORT 1 -#define OMPT_SUPPORT LIBOMP_OMPT_SUPPORT -#define LIBOMP_OMPD_SUPPORT 0 -#define OMPD_SUPPORT LIBOMP_OMPD_SUPPORT -#define LIBOMP_PROFILING_SUPPORT 0 -#define OMP_PROFILING_SUPPORT LIBOMP_PROFILING_SUPPORT -#define LIBOMP_OMPT_OPTIONAL 1 -#define OMPT_OPTIONAL LIBOMP_OMPT_OPTIONAL -#define LIBOMP_USE_ADAPTIVE_LOCKS 1 -#define KMP_USE_ADAPTIVE_LOCKS LIBOMP_USE_ADAPTIVE_LOCKS -#define KMP_DEBUG_ADAPTIVE_LOCKS 0 -#define LIBOMP_USE_INTERNODE_ALIGNMENT 0 -#define KMP_USE_INTERNODE_ALIGNMENT LIBOMP_USE_INTERNODE_ALIGNMENT -#define LIBOMP_ENABLE_ASSERTIONS 1 -#define KMP_USE_ASSERT LIBOMP_ENABLE_ASSERTIONS -#define LIBOMP_USE_HIER_SCHED 0 -#define KMP_USE_HIER_SCHED LIBOMP_USE_HIER_SCHED -#define STUBS_LIBRARY 0 -#define LIBOMP_USE_HWLOC 0 -#define KMP_USE_HWLOC LIBOMP_USE_HWLOC -#define LIBOMP_ENABLE_SHARED 1 -#define KMP_DYNAMIC_LIB LIBOMP_ENABLE_SHARED -#define KMP_ARCH_STR "Intel(R) 64" -#define KMP_LIBRARY_FILE "libomp.so" -#define KMP_VERSION_MAJOR 5 -#define KMP_VERSION_MINOR 0 -#define MSVC 0 -#define KMP_MSVC_COMPAT MSVC -#define LIBOMP_HAVE_WAITPKG_INTRINSICS 1 -#define KMP_HAVE_WAITPKG_INTRINSICS LIBOMP_HAVE_WAITPKG_INTRINSICS -#define LIBOMP_HAVE_RTM_INTRINSICS 1 -#define KMP_HAVE_RTM_INTRINSICS LIBOMP_HAVE_RTM_INTRINSICS -#define LIBOMP_HAVE_IMMINTRIN_H 1 -#define KMP_HAVE_IMMINTRIN_H LIBOMP_HAVE_IMMINTRIN_H -#define LIBOMP_HAVE_INTRIN_H 0 -#define KMP_HAVE_INTRIN_H LIBOMP_HAVE_INTRIN_H -#define LIBOMP_HAVE_ATTRIBUTE_WAITPKG 1 -#define KMP_HAVE_ATTRIBUTE_WAITPKG LIBOMP_HAVE_ATTRIBUTE_WAITPKG -#define LIBOMP_HAVE_ATTRIBUTE_RTM 1 -#define KMP_HAVE_ATTRIBUTE_RTM LIBOMP_HAVE_ATTRIBUTE_RTM -#define LIBOMP_ARCH_AARCH64_A64FX 0 -#define KMP_ARCH_AARCH64_A64FX LIBOMP_ARCH_AARCH64_A64FX -#define LIBOMP_HAVE_XMMINTRIN_H 1 -#define KMP_HAVE_XMMINTRIN_H LIBOMP_HAVE_XMMINTRIN_H -#define LIBOMP_HAVE__MM_MALLOC 1 -#define KMP_HAVE__MM_MALLOC LIBOMP_HAVE__MM_MALLOC -#define LIBOMP_HAVE_ALIGNED_ALLOC 1 -#define KMP_HAVE_ALIGNED_ALLOC LIBOMP_HAVE_ALIGNED_ALLOC -#define LIBOMP_HAVE_POSIX_MEMALIGN 1 -#define KMP_HAVE_POSIX_MEMALIGN LIBOMP_HAVE_POSIX_MEMALIGN -#define LIBOMP_HAVE__ALIGNED_MALLOC 0 -#define KMP_HAVE__ALIGNED_MALLOC LIBOMP_HAVE__ALIGNED_MALLOC - -// Configured cache line based on architecture -#if KMP_ARCH_PPC64 -# define CACHE_LINE 128 -#elif KMP_ARCH_AARCH64_A64FX -# define CACHE_LINE 256 -#else -# define CACHE_LINE 64 -#endif - -#if ! KMP_32_BIT_ARCH -# define BUILD_I8 1 -#endif - -#define KMP_NESTED_HOT_TEAMS 1 -#define KMP_ADJUST_BLOCKTIME 1 -#define BUILD_PARALLEL_ORDERED 1 -#define KMP_ASM_INTRINS 1 -#define USE_ITT_BUILD LIBOMP_USE_ITT_NOTIFY -#define INTEL_ITTNOTIFY_PREFIX __kmp_itt_ -#if ! KMP_MIC -# define USE_LOAD_BALANCE 1 -#endif -#if ! (KMP_OS_WINDOWS || KMP_OS_DARWIN) -# define KMP_TDATA_GTID 1 -#endif -#if STUBS_LIBRARY -# define KMP_STUB 1 -#endif - -// KMP_DEBUG is explicitly set from ya.make - -#if KMP_OS_WINDOWS -# define KMP_WIN_CDECL +#if defined(__aarch64__) || defined(_M_ARM64) +# include "kmp_config-armv8a.h" #else -# define BUILD_TV -# define KMP_GOMP_COMPAT -#endif - -// use shared memory with dynamic library (except Android, where shm_* -// functions don't exist). -#if KMP_OS_UNIX && KMP_DYNAMIC_LIB && !__ANDROID__ -#define KMP_USE_SHM +# include "kmp_config-linux.h" #endif -#endif // KMP_CONFIG_H |