Skip to content

Commit e809a42

Browse files
luncliffstrega-nil
andauthored
[cpuinfo,fbgemm,xnnpack] update cpuinfo to latest (#23944)
* [cpuinfo] update to latest * use official support of CMake find_package * [cpuinfo] update triplet support * [nnpack] fix cpuinfo usage * [qnnpack] fix cpuinfo usage * [fbgemm] fix cpuinfo usage * [xnnpack] fix cpuinfo usage * [cpuinfo] add license * [nnpack] port license/dependencies * [qnnpack] port license * [xnnpack] port license * [fbgemm] port license * fix supports * I think this should work? * alright, arm&windows is unsupported... for now Co-authored-by: nicole mazzuca <mazzucan@outlook.com>
1 parent 3286c67 commit e809a42

19 files changed

Lines changed: 117 additions & 126 deletions

ports/cpuinfo/fix-install.patch

Lines changed: 0 additions & 81 deletions
This file was deleted.

ports/cpuinfo/portfile.cmake

Lines changed: 47 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,38 +1,68 @@
11
# On Windows, we can get a cpuinfo.dll, but it exports no symbols.
2-
vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
2+
if(VCPKG_TARGET_IS_WINDOWS)
3+
vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
4+
endif()
35

46
vcpkg_from_github(
57
OUT_SOURCE_PATH SOURCE_PATH
68
REPO pytorch/cpuinfo
7-
REF 5916273f79a21551890fd3d56fc5375a78d1598d
8-
SHA512 50e537b61d991e8579577fb1ecf8d9ceb2171dbad96dfe159a062eadfdc0b2372b94988fc6f223c20e327453c7f55042ee06779f5b5fe0922f4470f746c9686b
9+
REF b40bae27785787b6dd70788986fd96434cf90ae2
10+
SHA512 dbbe4f3e1d5ae74ffc8ba2cba0ab745a23f4993788f4947825ef5125dd1cbed3e13e0c98e020e6fcfa9879f54f06d7cba4de73ec29f77649b6a27b4ab82c8f1c
911
HEAD_REF master
10-
PATCHES
11-
fix-install.patch
1212
)
1313

1414
vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
1515
FEATURES
1616
tools CPUINFO_BUILD_TOOLS
1717
)
1818

19-
vcpkg_configure_cmake(
20-
SOURCE_PATH ${SOURCE_PATH}
21-
PREFER_NINJA
22-
OPTIONS_DEBUG
23-
-DCPUINFO_BUILD_TOOLS=OFF
24-
-DCPUINFO_LOG_LEVEL=debug
25-
OPTIONS_RELEASE
26-
${FEATURE_OPTIONS}
27-
-DCPUINFO_LOG_LEVEL=default
19+
if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic")
20+
list(APPEND LINK_OPTIONS -DCPUINFO_LIBRARY_TYPE=shared)
21+
else()
22+
list(APPEND LINK_OPTIONS -DCPUINFO_LIBRARY_TYPE=static)
23+
endif()
24+
25+
if(VCPKG_CRT_LINKAGE STREQUAL "dynamic")
26+
list(APPEND LINK_OPTIONS -DCPUINFO_RUNTIME_TYPE=shared)
27+
else()
28+
list(APPEND LINK_OPTIONS -DCPUINFO_RUNTIME_TYPE=static)
29+
endif()
30+
31+
# hack to get around that toolchains/windows.cmake doesn't set CMAKE_SYSTEM_ARCHITECTURE
32+
set(CPUINFO_TARGET_PROCESSOR_param "")
33+
if(VCPKG_TARGET_IS_WINDOWS)
34+
# NOTE: arm64-windows is unsupported for now;
35+
# see https://github.com/pytorch/cpuinfo/pull/82 for updates
36+
# NOTE: arm-windows is unsupported
37+
if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86")
38+
set(CPUINFO_TARGET_PROCESSOR_param "-DCPUINFO_TARGET_PROCESSOR=x86")
39+
elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64")
40+
set(CPUINFO_TARGET_PROCESSOR_param "-DCPUINFO_TARGET_PROCESSOR=AMD64")
41+
elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm")
42+
set(CPUINFO_TARGET_PROCESSOR_param "-DCPUINFO_TARGET_PROCESSOR=ARM")
43+
elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64")
44+
set(CPUINFO_TARGET_PROCESSOR_param "-DCPUINFO_TARGET_PROCESSOR=ARM64")
45+
endif()
46+
endif()
47+
48+
vcpkg_cmake_configure(
49+
SOURCE_PATH "${SOURCE_PATH}"
2850
OPTIONS
51+
${FEATURE_OPTIONS}
52+
${LINK_OPTIONS}
53+
${CPUINFO_TARGET_PROCESSOR_param}
2954
-DCPUINFO_BUILD_UNIT_TESTS=OFF
3055
-DCPUINFO_BUILD_MOCK_TESTS=OFF
3156
-DCPUINFO_BUILD_BENCHMARKS=OFF
57+
OPTIONS_DEBUG
58+
-DCPUINFO_LOG_LEVEL=debug
59+
OPTIONS_RELEASE
60+
-DCPUINFO_LOG_LEVEL=default
3261
)
33-
vcpkg_install_cmake()
62+
vcpkg_cmake_install()
63+
vcpkg_cmake_config_fixup()
3464
vcpkg_copy_pdbs()
35-
vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/unofficial-${PORT} TARGET_PATH share/unofficial-${PORT})
65+
vcpkg_fixup_pkgconfig() # pkg_check_modules(libcpuinfo)
3666

3767
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
3868

@@ -43,5 +73,4 @@ if("tools" IN_LIST FEATURES)
4373
)
4474
endif()
4575

46-
# Handle copyright
47-
configure_file(${SOURCE_PATH}/LICENSE ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY)
76+
file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright)

ports/cpuinfo/vcpkg.json

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,20 @@
11
{
22
"name": "cpuinfo",
3-
"version-date": "2021-04-04",
3+
"version-date": "2022-04-02",
44
"description": "CPU INFOrmation library (x86/x86-64/ARM/ARM64, Linux/Windows/Android/macOS/iOS)",
55
"homepage": "https://github.com/pytorch/cpuinfo",
6+
"license": "BSD-2-Clause",
7+
"supports": "!(arm & windows)",
8+
"dependencies": [
9+
{
10+
"name": "vcpkg-cmake",
11+
"host": true
12+
},
13+
{
14+
"name": "vcpkg-cmake-config",
15+
"host": true
16+
}
17+
],
618
"features": {
719
"tools": {
820
"description": "Build cpuinfo command-line tools"

ports/fbgemm/fix-cmakelists.patch

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ index 6f19a16..3c758d2 100644
5656
endif()
5757

5858
-if(NOT TARGET cpuinfo)
59-
+find_package(unofficial-cpuinfo CONFIG REQUIRED) # target 'unofficial::cpuinfo::cpuinfo'
59+
+find_package(cpuinfo CONFIG REQUIRED) # target 'cpuinfo::cpuinfo'
6060
+if(FALSE)
6161
#Download cpuinfo from github if CPUINFO_SOURCE_DIR is not specified.
6262
if(NOT DEFINED CPUINFO_SOURCE_DIR)
@@ -68,15 +68,15 @@ index 6f19a16..3c758d2 100644
6868
- PRIVATE "${ASMJIT_SRC_DIR}/src"
6969
- PRIVATE "${CPUINFO_SOURCE_DIR}/include")
7070
+)
71-
+target_link_libraries(fbgemm_generic PUBLIC asmjit::asmjit unofficial::cpuinfo::cpuinfo)
71+
+target_link_libraries(fbgemm_generic PUBLIC asmjit::asmjit cpuinfo::cpuinfo)
7272

7373
target_include_directories(fbgemm_avx2 BEFORE
7474
PUBLIC $<BUILD_INTERFACE:${FBGEMM_SOURCE_DIR}>
7575
PUBLIC $<BUILD_INTERFACE:${FBGEMM_SOURCE_DIR}/include>
7676
- PRIVATE "${ASMJIT_SRC_DIR}/src"
7777
- PRIVATE "${CPUINFO_SOURCE_DIR}/include")
7878
+)
79-
+target_link_libraries(fbgemm_avx2 PUBLIC asmjit::asmjit unofficial::cpuinfo::cpuinfo)
79+
+target_link_libraries(fbgemm_avx2 PUBLIC asmjit::asmjit cpuinfo::cpuinfo)
8080

8181
target_include_directories(fbgemm_avx512 BEFORE
8282
PUBLIC $<BUILD_INTERFACE:${FBGEMM_SOURCE_DIR}>
@@ -95,7 +95,7 @@ index 6f19a16..3c758d2 100644
9595
- $<TARGET_OBJECTS:fbgemm_avx2>
9696
- $<TARGET_OBJECTS:fbgemm_avx512>)
9797
+)
98-
+target_link_libraries(fbgemm_avx512 PUBLIC asmjit::asmjit unofficial::cpuinfo::cpuinfo)
98+
+target_link_libraries(fbgemm_avx512 PUBLIC asmjit::asmjit cpuinfo::cpuinfo)
9999
+
100100
+add_library(fbgemm
101101
+ $<TARGET_OBJECTS:fbgemm_generic>
@@ -131,7 +131,7 @@ index 6f19a16..3c758d2 100644
131131
-target_link_libraries(fbgemm $<BUILD_INTERFACE:asmjit>
132132
- $<BUILD_INTERFACE:cpuinfo>)
133133
-add_dependencies(fbgemm asmjit cpuinfo)
134-
+target_link_libraries(fbgemm PUBLIC asmjit::asmjit unofficial::cpuinfo::cpuinfo)
134+
+target_link_libraries(fbgemm PUBLIC asmjit::asmjit cpuinfo::cpuinfo)
135135

136136
install(TARGETS fbgemm EXPORT fbgemmLibraryConfig
137137
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}

ports/fbgemm/vcpkg.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
{
22
"name": "fbgemm",
33
"version-date": "2021-03-18",
4-
"port-version": 3,
4+
"port-version": 4,
55
"description": "FB (Facebook) + GEMM (General Matrix-Matrix Multiplication)",
66
"homepage": "https://code.fb.com/ml-applications/fbgemm/",
7+
"license": "BSD-3-Clause",
78
"supports": "!(x86 | uwp)",
89
"dependencies": [
910
"asmjit",

ports/nnpack/fix-cmakelists.patch

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,8 +42,8 @@ index 5ecd2df..8565044 100644
4242
"${CONFU_DEPENDENCIES_BINARY_DIR}/cpuinfo")
4343
ENDIF()
4444
-TARGET_LINK_LIBRARIES(nnpack PRIVATE cpuinfo)
45-
+find_package(unofficial-cpuinfo CONFIG REQUIRED)
46-
+target_link_libraries(nnpack PUBLIC unofficial::cpuinfo::cpuinfo)
45+
+find_package(cpuinfo CONFIG REQUIRED)
46+
+target_link_libraries(nnpack PUBLIC cpuinfo::cpuinfo)
4747

4848
# ---[ Configure pthreadpool
4949
-IF(NOT TARGET pthreadpool)

ports/nnpack/portfile.cmake

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,16 +7,15 @@ vcpkg_from_github(
77
fix-cmakelists.patch
88
)
99

10-
vcpkg_configure_cmake(
10+
vcpkg_cmake_configure(
1111
SOURCE_PATH ${SOURCE_PATH}
12-
PREFER_NINJA
1312
OPTIONS
1413
-DNNPACK_BACKEND=psimd
1514
-DNNPACK_BUILD_TESTS=OFF
1615
-DNNPACK_BUILD_BENCHMARKS=OFF
1716
-DNNPACK_CUSTOM_THREADPOOL=OFF
1817
)
19-
vcpkg_install_cmake()
18+
vcpkg_cmake_install()
2019
vcpkg_copy_pdbs()
2120

2221
file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)

ports/nnpack/vcpkg.json

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,20 @@
11
{
22
"name": "nnpack",
33
"version-date": "2021-02-21",
4-
"port-version": 2,
4+
"port-version": 3,
55
"description": "Acceleration package for neural networks on multi-core CPUs",
66
"homepage": "https://github.com/Maratyszcza/NNPACK",
7-
"supports": "linux & osx",
7+
"license": "BSD-2-Clause",
8+
"supports": "linux | osx",
89
"dependencies": [
910
"cpuinfo",
1011
"fp16",
1112
"fxdiv",
1213
"psimd",
13-
"pthreadpool"
14+
"pthreadpool",
15+
{
16+
"name": "vcpkg-cmake",
17+
"host": true
18+
}
1419
]
1520
}

ports/qnnpack/use-packages.patch

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -123,8 +123,8 @@ index a5ddc49..05e1279 100644
123123
ENDIF()
124124
-TARGET_LINK_LIBRARIES(qnnpack PRIVATE cpuinfo)
125125
+
126-
+find_package(unofficial-cpuinfo CONFIG REQUIRED)
127-
+target_link_libraries(qnnpack PUBLIC unofficial::cpuinfo::clog unofficial::cpuinfo::cpuinfo)
126+
+find_package(cpuinfo CONFIG REQUIRED)
127+
+target_link_libraries(qnnpack PUBLIC cpuinfo::clog cpuinfo::cpuinfo)
128128

129129
# ---[ Configure pthreadpool
130130
-IF(NOT TARGET pthreadpool)

ports/qnnpack/vcpkg.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
{
22
"name": "qnnpack",
33
"version-date": "2021-02-26",
4-
"port-version": 1,
4+
"port-version": 2,
55
"description": "Quantized Neural Network PACKage - mobile-optimized implementation of quantized neural network operators",
66
"homepage": "https://github.com/pytorch/QNNPACK",
7+
"license": "BSD-3-Clause",
78
"supports": "linux | osx",
89
"dependencies": [
910
"cpuinfo",

0 commit comments

Comments
 (0)