[highway] Bump to 1.2.0 (#39086)

This commit is contained in:
Weihang Ding 2024-06-27 04:05:50 +08:00 committed by GitHub
parent 9dc5ae24a3
commit 2f7e9e11f2
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
9 changed files with 124 additions and 8 deletions

View File

@ -0,0 +1,91 @@
diff --git a/hwy/contrib/thread_pool/topology.cc b/hwy/contrib/thread_pool/topology.cc
index 3d24f4f4..17f35630 100644
--- a/hwy/contrib/thread_pool/topology.cc
+++ b/hwy/contrib/thread_pool/topology.cc
@@ -64,7 +64,7 @@
namespace hwy {
-HWY_DLLEXPORT bool HaveThreadingSupport() {
+HWY_CONTRIB_DLLEXPORT bool HaveThreadingSupport() {
#if HWY_ARCH_WASM
return emscripten_has_threading_support() != 0;
#else
@@ -72,7 +72,7 @@ HWY_DLLEXPORT bool HaveThreadingSupport() {
#endif
}
-HWY_DLLEXPORT size_t TotalLogicalProcessors() {
+HWY_CONTRIB_DLLEXPORT size_t TotalLogicalProcessors() {
size_t lp = 0;
#if HWY_ARCH_WASM
const int num_cores = emscripten_num_logical_cores();
@@ -111,7 +111,7 @@ HWY_DLLEXPORT size_t TotalLogicalProcessors() {
#include <sys/syscall.h>
#endif
-HWY_DLLEXPORT bool GetThreadAffinity(LogicalProcessorSet& lps) {
+HWY_CONTRIB_DLLEXPORT bool GetThreadAffinity(LogicalProcessorSet& lps) {
#if HWY_OS_WIN
// Only support the first 64 because WINE does not support processor groups.
const HANDLE hThread = GetCurrentThread();
@@ -173,7 +173,7 @@ HWY_DLLEXPORT bool GetThreadAffinity(LogicalProcessorSet& lps) {
#endif
}
-HWY_DLLEXPORT bool SetThreadAffinity(const LogicalProcessorSet& lps) {
+HWY_CONTRIB_DLLEXPORT bool SetThreadAffinity(const LogicalProcessorSet& lps) {
#if HWY_OS_WIN
const HANDLE hThread = GetCurrentThread();
const DWORD_PTR prev = SetThreadAffinityMask(hThread, lps.Get64());
@@ -385,7 +385,7 @@ std::vector<PerPackage> DetectPackages(std::vector<Topology::LP>& lps) {
} // namespace
#endif // HWY_OS_LINUX
-HWY_DLLEXPORT Topology::Topology() {
+HWY_CONTRIB_DLLEXPORT Topology::Topology() {
#if HWY_OS_LINUX
lps.resize(TotalLogicalProcessors());
const std::vector<PerPackage>& per_package = DetectPackages(lps);
diff --git a/hwy/contrib/thread_pool/topology.h b/hwy/contrib/thread_pool/topology.h
index 95b0835b..f80fc47c 100644
--- a/hwy/contrib/thread_pool/topology.h
+++ b/hwy/contrib/thread_pool/topology.h
@@ -28,7 +28,7 @@
namespace hwy {
// Returns false if std::thread should not be used.
-HWY_DLLEXPORT bool HaveThreadingSupport();
+HWY_CONTRIB_DLLEXPORT bool HaveThreadingSupport();
// Upper bound on logical processors, including hyperthreads.
static constexpr size_t kMaxLogicalProcessors = 1024; // matches glibc
@@ -38,12 +38,12 @@ using LogicalProcessorSet = BitSet4096<kMaxLogicalProcessors>;
// Returns false, or sets `lps` to all logical processors which are online and
// available to the current thread.
-HWY_DLLEXPORT bool GetThreadAffinity(LogicalProcessorSet& lps);
+HWY_CONTRIB_DLLEXPORT bool GetThreadAffinity(LogicalProcessorSet& lps);
// Ensures the current thread can only run on the logical processors in `lps`.
// Returns false if not supported (in particular on Apple), or if the
// intersection between `lps` and `GetThreadAffinity` is the empty set.
-HWY_DLLEXPORT bool SetThreadAffinity(const LogicalProcessorSet& lps);
+HWY_CONTRIB_DLLEXPORT bool SetThreadAffinity(const LogicalProcessorSet& lps);
// Returns false, or ensures the current thread will only run on `lp`, which
// must not exceed `TotalLogicalProcessors`. Note that this merely calls
@@ -58,11 +58,11 @@ static inline bool PinThreadToLogicalProcessor(size_t lp) {
// provided by the hardware clamped to `kMaxLogicalProcessors`.
// These processors are not necessarily all usable; you can determine which are
// via GetThreadAffinity().
-HWY_DLLEXPORT size_t TotalLogicalProcessors();
+HWY_CONTRIB_DLLEXPORT size_t TotalLogicalProcessors();
struct Topology {
// Caller must check packages.empty(); if so, do not use any fields.
- HWY_DLLEXPORT Topology();
+ HWY_CONTRIB_DLLEXPORT Topology();
// Clique of cores with lower latency to each other. On Apple M1 these are
// four cores sharing an L2. On Zen4 these 'CCX' are up to eight cores sharing

View File

@ -2,8 +2,10 @@ vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO google/highway
REF "${VERSION}"
SHA512 513718873ca5d1be5c781f92ef943432da4677582e15d25a247c1d3def087fdbd3fe787608d76f32a9b4f9253df88b40bd8ea570159f8106c338ba37e8a50a8d
SHA512 e94b9cc51c81157ccd6bf4d6163445b1acc1a2667dc2650d1c4aea0a5021989c08dafcb92564fcbecb9445ab2f1779051260be2f5b29c3932803b8a42ed2f824
HEAD_REF master
PATCHES
fix_dll_export.patch #https://github.com/google/highway/pull/2229
)
vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS

View File

@ -1,6 +1,6 @@
{
"name": "highway",
"version": "1.1.0",
"version": "1.2.0",
"description": "Performance-portable, length-agnostic SIMD with runtime dispatch",
"homepage": "https://github.com/google/highway",
"license": "Apache-2.0",

View File

@ -1,8 +1,20 @@
diff --git a/third_party/CMakeLists.txt b/third_party/CMakeLists.txt
index ea22103..bafb9b6 100644
index ea22103e..c6dbbe9f 100644
--- a/third_party/CMakeLists.txt
+++ b/third_party/CMakeLists.txt
@@ -48,7 +48,11 @@ endif()
@@ -31,8 +31,9 @@ if (EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/highway/CMakeLists.txt" AND
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/highway/LICENSE"
${PROJECT_BINARY_DIR}/LICENSE.highway COPYONLY)
else()
- find_package(HWY 1.0.7)
- if (NOT HWY_FOUND)
+ find_package(HWY NAMES hwy REQUIRED)
+ add_library(hwy ALIAS hwy::hwy)
+ if (NOT TARGET hwy::hwy)
message(FATAL_ERROR
"Highway library (hwy) not found. Install libhwy-dev or download it "
"to third_party/highway from https://github.com/google/highway . "
@@ -48,7 +49,11 @@ endif()
# brotli
if (NOT EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/brotli/c/include/brotli/decode.h" OR
JPEGXL_FORCE_SYSTEM_BROTLI)
@ -15,7 +27,7 @@ index ea22103..bafb9b6 100644
if (NOT Brotli_FOUND)
message(FATAL_ERROR
"Brotli not found, install brotli-dev or download brotli source code to"
@@ -106,7 +110,8 @@ if (JPEGXL_ENABLE_SKCMS)
@@ -106,7 +111,8 @@ if (JPEGXL_ENABLE_SKCMS)
endif ()
if (JPEGXL_ENABLE_VIEWERS OR NOT JPEGXL_ENABLE_SKCMS OR JPEGXL_ENABLE_PLUGINS)
if( NOT EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/lcms/.git" OR JPEGXL_FORCE_SYSTEM_LCMS2 )

View File

@ -28,6 +28,7 @@ vcpkg_cmake_configure(
SOURCE_PATH "${SOURCE_PATH}"
OPTIONS
"-DJPEGXL_VERSION=${JPEGXL_VERSION}"
-DJPEGXL_FORCE_SYSTEM_HWY=ON
-DJPEGXL_FORCE_SYSTEM_BROTLI=ON
-DJPEGXL_FORCE_SYSTEM_HWY=ON
-DJPEGXL_FORCE_SYSTEM_LCMS2=ON

View File

@ -1,7 +1,7 @@
{
"name": "libjxl",
"version-semver": "0.10.2",
"port-version": 3,
"port-version": 4,
"description": "JPEG XL image format reference implementation",
"homepage": "https://github.com/libjxl/libjxl",
"license": "BSD-3-Clause",

View File

@ -3429,7 +3429,7 @@
"port-version": 1
},
"highway": {
"baseline": "1.1.0",
"baseline": "1.2.0",
"port-version": 0
},
"hikogui": {
@ -4590,7 +4590,7 @@
},
"libjxl": {
"baseline": "0.10.2",
"port-version": 3
"port-version": 4
},
"libkeyfinder": {
"baseline": "2.2.8",

View File

@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "6084fa0969d208dd78997f44e8b4b406aa174345",
"version": "1.2.0",
"port-version": 0
},
{
"git-tree": "c5063ea7c7a83d9bb3d70a9ac0ea8e3fc96730c8",
"version": "1.1.0",

View File

@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "41e26aeaddac21391e72200277a3bcda04cd7072",
"version-semver": "0.10.2",
"port-version": 4
},
{
"git-tree": "d400085f5ae0a78f03ae828d6c51ea9882e80f76",
"version-semver": "0.10.2",