[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#69591] [PATCH v2 19/31] gnu: Add fbgemm.
From: |
David Elsing |
Subject: |
[bug#69591] [PATCH v2 19/31] gnu: Add fbgemm. |
Date: |
Tue, 12 Mar 2024 22:51:47 +0000 |
* gnu/packages/machine-learning.scm (fbgemm): New variable.
* gnu/packages/patches/fbgemm-use-system-libraries.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it.
---
gnu/local.mk | 1 +
gnu/packages/machine-learning.scm | 31 ++++++++++
.../patches/fbgemm-use-system-libraries.patch | 62 +++++++++++++++++++
3 files changed, 94 insertions(+)
create mode 100644 gnu/packages/patches/fbgemm-use-system-libraries.patch
diff --git a/gnu/local.mk b/gnu/local.mk
index 75295a8250..2f685e2f7d 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1174,6 +1174,7 @@ dist_patch_DATA =
\
%D%/packages/patches/fasthenry-spUtils.patch \
%D%/packages/patches/fasthenry-spSolve.patch \
%D%/packages/patches/fasthenry-spFactor.patch \
+ %D%/packages/patches/fbgemm-use-system-libraries.patch \
%D%/packages/patches/fbreader-curl-7.62.patch \
%D%/packages/patches/fbreader-fix-icon.patch \
%D%/packages/patches/fenics-dolfin-algorithm.patch \
diff --git a/gnu/packages/machine-learning.scm
b/gnu/packages/machine-learning.scm
index ad8b8c9960..72b11cca5f 100644
--- a/gnu/packages/machine-learning.scm
+++ b/gnu/packages/machine-learning.scm
@@ -4101,6 +4101,37 @@ (define-public xnnpack-for-torch2
"-DXNNPACK_BUILD_TESTS=FALSE" ;FIXME: see
below
"-DXNNPACK_BUILD_BENCHMARKS=FALSE"))))))
+(define-public fbgemm
+ (package
+ (name "fbgemm")
+ (version "0.6.0")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/pytorch/fbgemm")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0mw30v55aicqdbh3xwfj9p8f38nw70ks5cxiwpgwjsk0dylah9rf"))
+ (patches (search-patches "fbgemm-use-system-libraries.patch"))
+ (modules '((guix build utils)))
+ (snippet
+ '(delete-file-recursively "third_party"))))
+ (build-system cmake-build-system)
+ (arguments
+ (list
+ #:configure-flags
+ ''("-DFBGEMM_LIBRARY_TYPE=shared")))
+ (inputs (list asmjit cpuinfo))
+ (native-inputs (list pkg-config python googletest))
+ (home-page "https://github.com/pytorch/fbgemm")
+ (synopsis "Facebook GEneral Matrix Multiplication")
+ (description "Low-precision, high-performance matrix-matrix
+multiplications and convolution library for server-side inference.")
+ (supported-systems '("x86_64-linux"))
+ (license license:bsd-3)))
+
(define-public tensorpipe
(let ((commit "bb1473a4b38b18268e8693044afdb8635bc8351b")
(revision "0"))
diff --git a/gnu/packages/patches/fbgemm-use-system-libraries.patch
b/gnu/packages/patches/fbgemm-use-system-libraries.patch
new file mode 100644
index 0000000000..456bc3021c
--- /dev/null
+++ b/gnu/packages/patches/fbgemm-use-system-libraries.patch
@@ -0,0 +1,62 @@
+Use the asmjit and cpuinfo packages.
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 134523e..b88b0e7 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -235,7 +235,7 @@ message(WARNING "CMAKE_CXX_FLAGS_DEBUG is
${CMAKE_CXX_FLAGS_DEBUG}")
+ message(WARNING "CMAKE_CXX_FLAGS_RELEASE is ${CMAKE_CXX_FLAGS_RELEASE}")
+ message(WARNING "==========")
+
+-if(NOT TARGET asmjit)
++if(FALSE)
+ #Download asmjit from github if ASMJIT_SRC_DIR is not specified.
+ if(NOT DEFINED ASMJIT_SRC_DIR)
+ set(ASMJIT_SRC_DIR "${FBGEMM_SOURCE_DIR}/third_party/asmjit"
+@@ -264,7 +264,7 @@ if(NOT TARGET asmjit)
+ endif()
+ endif()
+
+-if(NOT TARGET cpuinfo)
++if(FALSE)
+ #Download cpuinfo from github if CPUINFO_SOURCE_DIR is not specified.
+ if(NOT DEFINED CPUINFO_SOURCE_DIR)
+ set(CPUINFO_SOURCE_DIR "${FBGEMM_SOURCE_DIR}/third_party/cpuinfo"
+@@ -340,9 +340,12 @@ target_include_directories(fbgemm BEFORE
+ target_link_libraries(fbgemm
+ $<BUILD_INTERFACE:asmjit>
+ $<BUILD_INTERFACE:cpuinfo>)
+-add_dependencies(fbgemm
+- asmjit
+- cpuinfo)
++
++find_package(asmjit)
++find_package(PkgConfig REQUIRED)
++pkg_check_modules(libcpuinfo REQUIRED IMPORTED_TARGET libcpuinfo)
++
++target_link_libraries(fbgemm asmjit::asmjit PkgConfig::libcpuinfo)
+
+ if(OpenMP_FOUND)
+ target_link_libraries(fbgemm OpenMP::OpenMP_CXX)
+diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt
+index 2cffddf..bd4d409 100644
+--- a/test/CMakeLists.txt
++++ b/test/CMakeLists.txt
+@@ -14,7 +14,7 @@ set(CMAKE_C_STANDARD 11)
+ set(CMAKE_C_EXTENSIONS OFF)
+ set(CMAKE_C_STANDARD_REQUIRED ON)
+
+-if(FBGEMM_BUILD_TESTS AND NOT TARGET gtest)
++if(FALSE)
+ #Download Googletest framework from github if
+ #GOOGLETEST_SOURCE_DIR is not specified.
+ if(NOT DEFINED GOOGLETEST_SOURCE_DIR)
+@@ -78,7 +78,7 @@ macro(add_gtest TESTNAME)
+ target_link_libraries(${TESTNAME} ${OpenMP_CXX_LIBRARIES})
+ endif()
+
+- add_dependencies(${TESTNAME} gtest fbgemm)
++ add_dependencies(${TESTNAME} fbgemm)
+ add_test(${TESTNAME} ${TESTNAME})
+ set_target_properties(${TESTNAME} PROPERTIES FOLDER test)
+ endmacro()
--
2.41.0
- [bug#69591] [PATCH v2 11/31] gnu: Remove flatbuffers-next-shared., (continued)
- [bug#69591] [PATCH v2 11/31] gnu: Remove flatbuffers-next-shared., David Elsing, 2024/03/12
- [bug#69591] [PATCH v2 12/31] gnu: python-flatbuffers-next: Update to 23.5.26., David Elsing, 2024/03/12
- [bug#69591] [PATCH v2 02/31] gnu: Add python-typing-extensions-4.10., David Elsing, 2024/03/12
- [bug#69591] [PATCH v2 10/31] gnu: Add libnop., David Elsing, 2024/03/12
- [bug#69591] [PATCH v2 13/31] gnu: pthreadpool: Update to commit 178e3e0., David Elsing, 2024/03/12
- [bug#69591] [PATCH v2 17/31] gnu: oneapi-dnnl: Update to 3.3.5., David Elsing, 2024/03/12
- [bug#69591] [PATCH v2 22/31] gnu: Add ideep-pytorch., David Elsing, 2024/03/12
- [bug#69591] [PATCH v2 16/31] gnu: nnpack: Update to commit 70a77f4., David Elsing, 2024/03/12
- [bug#69591] [PATCH v2 14/31] gnu: cpuinfo: Update to commit aa4b216., David Elsing, 2024/03/12
- [bug#69591] [PATCH v2 27/31] gnu: python-torchvision: Update to 0.17.1., David Elsing, 2024/03/12
- [bug#69591] [PATCH v2 19/31] gnu: Add fbgemm.,
David Elsing <=
- [bug#69591] [PATCH v2 30/31] gnu: Add qnnpack-pytorch-for-r-torch., David Elsing, 2024/03/12
- [bug#69591] [PATCH v2 24/31] gnu: Remove xnnpack-for-torch2., David Elsing, 2024/03/12
- [bug#69591] [PATCH v2 28/31] gnu: Add ideep-pytorch-for-r-torch., David Elsing, 2024/03/12
- [bug#69591] [PATCH v2 26/31] gnu: python-pytorch: Update to 2.2.1 and unbundle dependencies., David Elsing, 2024/03/12
- [bug#69591] [PATCH v2 31/31] gnu: python-pytorch-for-r-torch: Adjust to new python-pytorch., David Elsing, 2024/03/12
- [bug#69591] [PATCH v2 18/31] gnu: Add tensorpipe., David Elsing, 2024/03/12
- [bug#69591] [PATCH v2 08/31] gnu: Add miniz., David Elsing, 2024/03/12
- [bug#69591] [PATCH v2 29/31] gnu: Add oneapi-dnnl-for-r-torch., David Elsing, 2024/03/12
- [bug#69591] [PATCH v2 09/31] gnu: Add miniz-for-pytorch., David Elsing, 2024/03/12
- [bug#69591] [PATCH v2 25/31] gnu: Add qnnpack-pytorch., David Elsing, 2024/03/12