summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2023-09-25 02:28:09 +0000
committerCoprDistGit <infra@openeuler.org>2023-09-25 02:28:09 +0000
commitf3ecda9124b73d07936b9894fed68a58e2bef695 (patch)
treee40517019ee1d786180450a9dcc9935d828f2843
parentd1286f771edf8cf46ba78e812e7059a2879f3581 (diff)
automatic import of libgmemopeneuler23.03
-rw-r--r--Structures-and-macros-use-the-default-definition-of-.patch67
-rw-r--r--add-install_npu_driver.sh.patch67
-rw-r--r--libgmem.spec20
-rw-r--r--optimize-headers-file.patch42
4 files changed, 194 insertions, 2 deletions
diff --git a/Structures-and-macros-use-the-default-definition-of-.patch b/Structures-and-macros-use-the-default-definition-of-.patch
new file mode 100644
index 0000000..962dc9d
--- /dev/null
+++ b/Structures-and-macros-use-the-default-definition-of-.patch
@@ -0,0 +1,67 @@
+From 512d8df361f3afa3831fff90cdf3c3f43bbc9142 Mon Sep 17 00:00:00 2001
+From: Yang Yanchao <yangyanchao6@huawei.com>
+Date: Tue, 12 Sep 2023 10:54:05 +0800
+Subject: [PATCH] Structures and macros use the default definition of the
+ kernel
+
+Signed-off-by: Yang Yanchao <yangyanchao6@huawei.com>
+---
+ include/libgmem.h | 29 -----------------------------
+ src/libgmem.c | 1 +
+ 2 files changed, 1 insertion(+), 29 deletions(-)
+
+diff --git a/include/libgmem.h b/include/libgmem.h
+index ece13a3..35cf463 100644
+--- a/include/libgmem.h
++++ b/include/libgmem.h
+@@ -17,35 +17,6 @@
+ #include <syscall.h>
+
+ __BEGIN_DECLS
+-/*
+- * TODO: Remove these "ifndef" after kernel upgrade
+- */
+-#include <sys/ioctl.h>
+-struct hmadvise_arg {
+- int hnid;
+- unsigned long start;
+- size_t len_in;
+- int behavior;
+-};
+-struct gmem_hnid_arg {
+- int *hnuma_id;
+-};
+-#ifndef GMEM_GET_HNUMA_ID
+- #define GMEM_GET_HNUMA_ID _IOW(0x55, 1, struct gmem_hnid_arg)
+-#endif
+-
+-#ifndef GMEM_MADVISE
+- #define GMEM_MADVISE _IOW(0x55, 2, struct hmadvise_arg)
+-#endif
+-
+-#ifndef MADV_PREFETCH
+-# define MADV_PREFETCH 32
+-#endif
+-
+-#ifndef MADV_DONTNEED
+-# define MADV_DONTNEED 4
+-#endif
+-
+ /*
+ * gmemFreeEager - unmap memory data
+ * @args
+diff --git a/src/libgmem.c b/src/libgmem.c
+index 59682af..870da87 100644
+--- a/src/libgmem.c
++++ b/src/libgmem.c
+@@ -14,6 +14,7 @@
+ #include <linux/mman.h>
+ #include <stdio.h>
+ #include <stdlib.h>
++#include <sys/ioctl.h>
+
+ #include <libgmem.h>
+ #include <gmem_common.h>
+--
+2.41.0.windows.3
+
diff --git a/add-install_npu_driver.sh.patch b/add-install_npu_driver.sh.patch
new file mode 100644
index 0000000..6139dfc
--- /dev/null
+++ b/add-install_npu_driver.sh.patch
@@ -0,0 +1,67 @@
+From 7ec0cd6ce9c75de770426bde8747d329397ad4c8 Mon Sep 17 00:00:00 2001
+From: Lemmy Huang <huangliming5@huawei.com>
+Date: Wed, 20 Sep 2023 14:15:48 +0800
+Subject: [PATCH] add install_npu_driver.sh
+
+Signed-off-by: Lemmy Huang <huangliming5@huawei.com>
+---
+ scripts/install_npu_driver.sh | 47 +++++++++++++++++++++++++++++++++++
+ 1 file changed, 47 insertions(+)
+ create mode 100644 scripts/install_npu_driver.sh
+
+diff --git a/scripts/install_npu_driver.sh b/scripts/install_npu_driver.sh
+new file mode 100644
+index 0000000..37b35ea
+--- /dev/null
++++ b/scripts/install_npu_driver.sh
+@@ -0,0 +1,47 @@
++#!/bin/bash
++
++# install npu-driver to kernel-6.4
++
++RPM_NAME=$1
++RUN_DIR="/usr/local/Ascend"
++RUN_NAME="$RUN_DIR/Ascend-hdk-910-npu-driver_6.0.0.1_linux-aarch64.run"
++
++function sed_run()
++{
++ echo "sed $RUN_NAME ..."
++
++ sed -n '1,/^eval $finish; exit $res/!p' $RUN_NAME > tmp.tar.gz
++ sed -n '1,/^eval $finish; exit $res/p' $RUN_NAME > install.sh
++ sed -i 's/MS_Check "$0".*/echo "skip MS_Check"/g' install.sh
++
++ mkdir sz_tmp
++ mv tmp.tar.gz sz_tmp/
++ cd sz_tmp
++
++ tar -axf tmp.tar.gz
++ rm -rf tmp.tar.gz
++
++ sed -i "s/^check_euleros$/#check_euleros/g" driver/script/run_driver_map_kernel.sh
++ sed -i "s/^check_and_match$/#check_and_match/g" driver/script/run_driver_map_kernel.sh
++ sed -i "s/^drv_dkms_env_check$/#/g" driver/script/run_driver_install.sh
++ sed -i "s/^.*driver_ko_install_manually$/echo \"skip\"/g" driver/script/run_driver_install.sh
++
++ tar -acf tmp.tar.gz *
++ mv tmp.tar.gz ../tmp.tar.gz
++ cd ..
++
++ cat install.sh tmp.tar.gz > $RUN_NAME
++ rm -rf sz_tmp
++ rm -f install.sh tmp.tar.gz
++}
++
++
++rpm -ivh $RPM_NAME --noscripts
++
++cd $RUN_DIR
++sed_run
++groupadd HwHiAiUser
++useradd -g HwHiAiUser -d /home/HwHiAiUser -m HwHiAiUser -s /bin/bash
++$RUN_NAME --full --force
++cd -
++
+--
+2.33.0
+
diff --git a/libgmem.spec b/libgmem.spec
index ee6cc16..de6d188 100644
--- a/libgmem.spec
+++ b/libgmem.spec
@@ -1,6 +1,8 @@
+%define gmem_path /usr/local/gmem
+
Name: libgmem
Version: 0.1
-Release: 3
+Release: 5
Summary: Library of Generalized Memory Management
License: MulanPSL-2.0
URL: https://gitee.com/openeuler/libgmem
@@ -8,9 +10,12 @@ Source0: https://gitee.com/openeuler/libgmem/repository/archive/%{name}-v
PATCH0001: use-ioctl-instead-of-syscall.patch
PATCH0002: fix-three-issue-I7YV2X-I7XQMW-I7Z2RF.patch
+Patch0003: Structures-and-macros-use-the-default-definition-of-.patch
+Patch0004: optimize-headers-file.patch
+Patch0005: add-install_npu_driver.sh.patch
BuildRequires: autoconf automake libtool
-BuildRequires: gcc glibc-devel make
+BuildRequires: gcc glibc-devel make kernel-headers
%description
libgmem is the abstract layer of GMEM(Generalized Memory Management) user-mode interface,
@@ -32,6 +37,8 @@ sh ./autogen.sh
%make_build
%install
+install -dp %{buildroot}/%{gmem_path}
+install -Dp %{_builddir}/%{name}-v%{version}/scripts/install_npu_driver.sh %{buildroot}/%{gmem_path}/
%make_install
%delete_la
@@ -44,8 +51,17 @@ sh ./autogen.sh
%files devel
%{_includedir}/libgmem.h
+%dir %{gmem_path}
+%{gmem_path}/install_npu_driver.sh
%changelog
+* Wed Sep 20 2023 Lemmy Huang <huangliming5@huawei.com> - 0.1-5
+- add install_npu_driver.sh
+
+* Tue Sep 12 2023 Yang Yanchao <yangyanchao6@huawei.com> - 0.1-4
+- Structures and macros use the default definition of the kernel [I80K89]
+ optimize headers file
+
* Wed Sep 06 2023 Yang Yanchao <yangyanchao6@huawei.com> - 0.1-3
- Check the return ptr of the malloc[#I7YV2X]
add hnid in gmemPrefetch [#I7XQMW]
diff --git a/optimize-headers-file.patch b/optimize-headers-file.patch
new file mode 100644
index 0000000..819e4c0
--- /dev/null
+++ b/optimize-headers-file.patch
@@ -0,0 +1,42 @@
+From 074fe4486f48838690e674a7e0f394705777cc93 Mon Sep 17 00:00:00 2001
+From: Yang Yanchao <yangyanchao6@huawei.com>
+Date: Tue, 12 Sep 2023 12:02:03 +0800
+Subject: [PATCH] optimize headers file
+
+add linux/gmem_dev.h in gmem_common.h
+change syscall.h position
+
+Signed-off-by: Yang Yanchao <yangyanchao6@huawei.com>
+---
+ include/gmem_common.h | 2 ++
+ include/libgmem.h | 1 -
+ 2 files changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/include/gmem_common.h b/include/gmem_common.h
+index a400b37..dfaeb56 100644
+--- a/include/gmem_common.h
++++ b/include/gmem_common.h
+@@ -15,6 +15,8 @@
+
+ #include <libgmem.h>
+ #include <stdlib.h>
++#include <syscall.h>
++#include <linux/gmem_dev.h>
+
+ typedef struct {
+ int (*FreeEager)(void *userData, void *stream);
+diff --git a/include/libgmem.h b/include/libgmem.h
+index 35cf463..d68aed7 100644
+--- a/include/libgmem.h
++++ b/include/libgmem.h
+@@ -14,7 +14,6 @@
+ #define _LIBGMEM_H
+
+ #include <unistd.h>
+-#include <syscall.h>
+
+ __BEGIN_DECLS
+ /*
+--
+2.41.0.windows.3
+