-
-
Notifications
You must be signed in to change notification settings - Fork 5.1k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
3 changed files
with
217 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
mkdir build | ||
cd build | ||
cmake ${CMAKE_ARGS} \ | ||
-DQNNPACK_BUILD_TESTS=OFF \ | ||
-DQNNPACK_BUILD_BENCHMARKS=OFF \ | ||
-DQNNPACK_LIBRARY_TYPE=shared \ | ||
.. | ||
make -j${CPU_COUNT} | ||
make install |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,68 @@ | ||
# To generate the version number | ||
{%- if false %} | ||
git clone [email protected]:pytorch/qnnpack.git | ||
cd QNNPACK | ||
git pull | ||
echo 0.0.0.$(date +%Y%m%d -d "$(git show -s --format=%ci HEAD)").$(git rev-list HEAD --count).$(git rev-parse --short HEAD) | ||
# Get the git sha | ||
git rev-parse HEAD | ||
wget --quiet https://github.com/pytorch/qnnpack/archive/$(git rev-parse HEAD).tar.gz | ||
openssl sha256 $(git rev-parse HEAD).tar.gz | ||
{%- endif %} | ||
|
||
{% set gitrev = "7d2a4e9931a82adc3814275b6219a03e24e36b4c" %} | ||
{% set version = "0.0.0.20190828.145.7d2a4e9" %} | ||
|
||
|
||
package: | ||
name: qnnpack | ||
version: {{ version }} | ||
|
||
source: | ||
url: https://github.com/pytorch/qnnpack/archive/{{ gitrev }}.tar.gz | ||
sha256: 0d752bd75f46ce4d7c6f0a60b0d6c0e5918a7b4683c825284f8db3706dd24f76 | ||
patches: | ||
- shared_libs.patch | ||
|
||
build: | ||
# You can probably build this for windows | ||
skip: true # [win] | ||
number: 0 | ||
run_exports: | ||
# 0 guarantees because they beleive in not creating real releases... | ||
# https://github.com/pytorch/qnnpack/issues/84 | ||
- {{ pin_subpackage('qnnpack', max_pin='x.x.x.x.x') }} | ||
|
||
requirements: | ||
build: | ||
- {{ compiler('c') }} | ||
- {{ compiler('cxx') }} | ||
- cmake | ||
- make # [unix] | ||
host: | ||
- cpuinfo | ||
- pthreadpool | ||
# header only libraries below | ||
- fp16 | ||
- fxdiv | ||
|
||
test: | ||
commands: | ||
- test -f ${PREFIX}/lib/libqnnpack.so | ||
- test -f ${PREFIX}/include/qnnpack.h | ||
|
||
about: | ||
home: https://github.com/pytorch/qnnpack | ||
summary: Quantized Neural Networks PACKage | ||
description: | | ||
QNNPACK (Quantized Neural Networks PACKage) is a mobile-optimized library | ||
for low-precision high-performance neural network inference. QNNPACK | ||
provides implementation of common neural network operators on quantized | ||
8-bit tensors. | ||
license: BSD-3-Clause | ||
license_family: BSD | ||
license_file: LICENSE | ||
|
||
extra: | ||
recipe-maintainers: | ||
- hmaarrfk |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,140 @@ | ||
diff --git a/CMakeLists.txt b/CMakeLists.txt | ||
index a5ddc49..707dae6 100644 | ||
--- a/CMakeLists.txt | ||
+++ b/CMakeLists.txt | ||
@@ -57,56 +57,6 @@ IF(NOT DEFINED CLOG_SOURCE_DIR) | ||
SET(CLOG_SOURCE_DIR "${PROJECT_SOURCE_DIR}/deps/clog") | ||
ENDIF() | ||
|
||
-IF(NOT DEFINED CPUINFO_SOURCE_DIR) | ||
- MESSAGE(STATUS "Downloading cpuinfo to ${CONFU_DEPENDENCIES_SOURCE_DIR}/cpuinfo (define CPUINFO_SOURCE_DIR to avoid it)") | ||
- CONFIGURE_FILE(cmake/DownloadCpuinfo.cmake "${CONFU_DEPENDENCIES_BINARY_DIR}/cpuinfo-download/CMakeLists.txt") | ||
- EXECUTE_PROCESS(COMMAND "${CMAKE_COMMAND}" -G "${CMAKE_GENERATOR}" . | ||
- WORKING_DIRECTORY "${CONFU_DEPENDENCIES_BINARY_DIR}/cpuinfo-download") | ||
- EXECUTE_PROCESS(COMMAND "${CMAKE_COMMAND}" --build . | ||
- WORKING_DIRECTORY "${CONFU_DEPENDENCIES_BINARY_DIR}/cpuinfo-download") | ||
- SET(CPUINFO_SOURCE_DIR "${CONFU_DEPENDENCIES_SOURCE_DIR}/cpuinfo" CACHE STRING "cpuinfo source directory") | ||
-ENDIF() | ||
- | ||
-IF(NOT DEFINED FP16_SOURCE_DIR) | ||
- MESSAGE(STATUS "Downloading FP16 to ${CONFU_DEPENDENCIES_SOURCE_DIR}/fp16 (define FP16_SOURCE_DIR to avoid it)") | ||
- CONFIGURE_FILE(cmake/DownloadFP16.cmake "${CONFU_DEPENDENCIES_BINARY_DIR}/fp16-download/CMakeLists.txt") | ||
- EXECUTE_PROCESS(COMMAND "${CMAKE_COMMAND}" -G "${CMAKE_GENERATOR}" . | ||
- WORKING_DIRECTORY "${CONFU_DEPENDENCIES_BINARY_DIR}/fp16-download") | ||
- EXECUTE_PROCESS(COMMAND "${CMAKE_COMMAND}" --build . | ||
- WORKING_DIRECTORY "${CONFU_DEPENDENCIES_BINARY_DIR}/fp16-download") | ||
- SET(FP16_SOURCE_DIR "${CONFU_DEPENDENCIES_SOURCE_DIR}/fp16" CACHE STRING "FP16 source directory") | ||
-ENDIF() | ||
- | ||
-IF(NOT DEFINED FXDIV_SOURCE_DIR) | ||
- MESSAGE(STATUS "Downloading FXdiv to ${CONFU_DEPENDENCIES_SOURCE_DIR}/fxdiv (define FXDIV_SOURCE_DIR to avoid it)") | ||
- CONFIGURE_FILE(cmake/DownloadFXdiv.cmake "${CONFU_DEPENDENCIES_BINARY_DIR}/fxdiv-download/CMakeLists.txt") | ||
- EXECUTE_PROCESS(COMMAND "${CMAKE_COMMAND}" -G "${CMAKE_GENERATOR}" . | ||
- WORKING_DIRECTORY "${CONFU_DEPENDENCIES_BINARY_DIR}/fxdiv-download") | ||
- EXECUTE_PROCESS(COMMAND "${CMAKE_COMMAND}" --build . | ||
- WORKING_DIRECTORY "${CONFU_DEPENDENCIES_BINARY_DIR}/fxdiv-download") | ||
- SET(FXDIV_SOURCE_DIR "${CONFU_DEPENDENCIES_SOURCE_DIR}/fxdiv" CACHE STRING "FXdiv source directory") | ||
-ENDIF() | ||
- | ||
-IF(NOT DEFINED PSIMD_SOURCE_DIR) | ||
- MESSAGE(STATUS "Downloading PSimd to ${CONFU_DEPENDENCIES_SOURCE_DIR}/psimd (define PSIMD_SOURCE_DIR to avoid it)") | ||
- CONFIGURE_FILE(cmake/DownloadPSimd.cmake "${CONFU_DEPENDENCIES_BINARY_DIR}/psimd-download/CMakeLists.txt") | ||
- EXECUTE_PROCESS(COMMAND "${CMAKE_COMMAND}" -G "${CMAKE_GENERATOR}" . | ||
- WORKING_DIRECTORY "${CONFU_DEPENDENCIES_BINARY_DIR}/psimd-download") | ||
- EXECUTE_PROCESS(COMMAND "${CMAKE_COMMAND}" --build . | ||
- WORKING_DIRECTORY "${CONFU_DEPENDENCIES_BINARY_DIR}/psimd-download") | ||
- SET(PSIMD_SOURCE_DIR "${CONFU_DEPENDENCIES_SOURCE_DIR}/psimd" CACHE STRING "PSimd source directory") | ||
-ENDIF() | ||
- | ||
-IF(NOT DEFINED PTHREADPOOL_SOURCE_DIR) | ||
- MESSAGE(STATUS "Downloading pthreadpool to ${CONFU_DEPENDENCIES_SOURCE_DIR}/pthreadpool (define PTHREADPOOL_SOURCE_DIR to avoid it)") | ||
- CONFIGURE_FILE(cmake/DownloadPThreadPool.cmake "${CONFU_DEPENDENCIES_BINARY_DIR}/pthreadpool-download/CMakeLists.txt") | ||
- EXECUTE_PROCESS(COMMAND "${CMAKE_COMMAND}" -G "${CMAKE_GENERATOR}" . | ||
- WORKING_DIRECTORY "${CONFU_DEPENDENCIES_BINARY_DIR}/pthreadpool-download") | ||
- EXECUTE_PROCESS(COMMAND "${CMAKE_COMMAND}" --build . | ||
- WORKING_DIRECTORY "${CONFU_DEPENDENCIES_BINARY_DIR}/pthreadpool-download") | ||
- SET(PTHREADPOOL_SOURCE_DIR "${CONFU_DEPENDENCIES_SOURCE_DIR}/pthreadpool" CACHE STRING "pthreadpool source directory") | ||
-ENDIF() | ||
- | ||
IF(QNNPACK_BUILD_TESTS AND NOT DEFINED GOOGLETEST_SOURCE_DIR) | ||
MESSAGE(STATUS "Downloading Google Test to ${CONFU_DEPENDENCIES_SOURCE_DIR}/googletest (define GOOGLETEST_SOURCE_DIR to avoid it)") | ||
CONFIGURE_FILE(cmake/DownloadGoogleTest.cmake "${CONFU_DEPENDENCIES_BINARY_DIR}/googletest-download/CMakeLists.txt") | ||
@@ -284,60 +234,10 @@ ENDIF() | ||
TARGET_LINK_LIBRARIES(qnnpack PRIVATE clog) | ||
|
||
# ---[ Configure cpuinfo | ||
-IF(NOT TARGET cpuinfo) | ||
- SET(CPUINFO_BUILD_TOOLS OFF CACHE BOOL "") | ||
- SET(CPUINFO_BUILD_UNIT_TESTS OFF CACHE BOOL "") | ||
- SET(CPUINFO_BUILD_MOCK_TESTS OFF CACHE BOOL "") | ||
- SET(CPUINFO_BUILD_BENCHMARKS OFF CACHE BOOL "") | ||
- ADD_SUBDIRECTORY( | ||
- "${CPUINFO_SOURCE_DIR}" | ||
- "${CONFU_DEPENDENCIES_BINARY_DIR}/cpuinfo") | ||
-ENDIF() | ||
TARGET_LINK_LIBRARIES(qnnpack PRIVATE cpuinfo) | ||
|
||
# ---[ Configure pthreadpool | ||
-IF(NOT TARGET pthreadpool) | ||
- SET(PTHREADPOOL_BUILD_TESTS OFF CACHE BOOL "") | ||
- SET(PTHREADPOOL_BUILD_BENCHMARKS OFF CACHE BOOL "") | ||
- ADD_SUBDIRECTORY( | ||
- "${PTHREADPOOL_SOURCE_DIR}" | ||
- "${CONFU_DEPENDENCIES_BINARY_DIR}/pthreadpool") | ||
-ENDIF() | ||
-IF(QNNPACK_CUSTOM_THREADPOOL) | ||
- # Depend on pthreadpool interface, but not on implementation. | ||
- # This is used when QNNPACK user (e.g. Caffe2) provides its own threadpool implementation. | ||
- TARGET_LINK_LIBRARIES(qnnpack PUBLIC pthreadpool_interface) | ||
-ELSE() | ||
- TARGET_LINK_LIBRARIES(qnnpack PUBLIC pthreadpool) | ||
-ENDIF() | ||
- | ||
-# ---[ Configure FXdiv | ||
-IF(NOT TARGET fxdiv) | ||
- SET(FXDIV_BUILD_TESTS OFF CACHE BOOL "") | ||
- SET(FXDIV_BUILD_BENCHMARKS OFF CACHE BOOL "") | ||
- ADD_SUBDIRECTORY( | ||
- "${FXDIV_SOURCE_DIR}" | ||
- "${CONFU_DEPENDENCIES_BINARY_DIR}/fxdiv") | ||
-ENDIF() | ||
-TARGET_LINK_LIBRARIES(qnnpack PRIVATE fxdiv) | ||
- | ||
-# ---[ Configure psimd | ||
-IF(NOT TARGET psimd) | ||
- ADD_SUBDIRECTORY( | ||
- "${PSIMD_SOURCE_DIR}" | ||
- "${CONFU_DEPENDENCIES_BINARY_DIR}/psimd") | ||
-ENDIF() | ||
-TARGET_LINK_LIBRARIES(qnnpack PRIVATE psimd) | ||
- | ||
-# ---[ Configure FP16 | ||
-IF(NOT TARGET fp16) | ||
- SET(FP16_BUILD_TESTS OFF CACHE BOOL "") | ||
- SET(FP16_BUILD_BENCHMARKS OFF CACHE BOOL "") | ||
- ADD_SUBDIRECTORY( | ||
- "${FP16_SOURCE_DIR}" | ||
- "${CONFU_DEPENDENCIES_BINARY_DIR}/fp16") | ||
-ENDIF() | ||
-TARGET_LINK_LIBRARIES(qnnpack PRIVATE fp16) | ||
+TARGET_LINK_LIBRARIES(qnnpack PUBLIC pthreadpool) | ||
|
||
INSTALL(TARGETS qnnpack | ||
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} | ||
diff --git a/deps/clog/CMakeLists.txt b/deps/clog/CMakeLists.txt | ||
index 7465313..5831f62 100644 | ||
--- a/deps/clog/CMakeLists.txt | ||
+++ b/deps/clog/CMakeLists.txt | ||
@@ -73,11 +73,6 @@ IF(ANDROID AND NOT CLOG_LOG_TO_STDIO) | ||
TARGET_LINK_LIBRARIES(clog PRIVATE log) | ||
ENDIF() | ||
|
||
-INSTALL(TARGETS clog | ||
- LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" | ||
- ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" | ||
- PUBLIC_HEADER DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}") | ||
- | ||
# ---[ clog tests | ||
IF(CLOG_BUILD_TESTS) | ||
# ---[ Build google test | ||
|