%define gmem_path /usr/local/gmem %define with_gmem 0 Name: libgmem Version: 0.1 Release: 6 Summary: Library of Generalized Memory Management License: MulanPSL-2.0 URL: https://gitee.com/openeuler/libgmem Source0: https://gitee.com/openeuler/libgmem/repository/archive/%{name}-v%{version}.tar.gz BuildRequires: autoconf automake libtool BuildRequires: gcc glibc-devel make kernel-headers %description libgmem is the abstract layer of GMEM(Generalized Memory Management) user-mode interface, which encapsulates some memory characteristics and semantics of GMEM %package devel Summary: Header files for libgmem development Requires: %{name} = %{version}-%{release} %description devel The libgmem-devel package provides header files used for GMEM. %if %{with_gmem} %prep %autosetup -p1 -n %{name}-v%{version} %build sh ./autogen.sh %configure --with-device=Ascend %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 %ldconfig_scriptlets %files %license License %{_libdir}/%{name}.so* %files devel %{_includedir}/libgmem.h %dir %{gmem_path} %{gmem_path}/install_npu_driver.sh %else %prep %autosetup -p1 -n %{name}-v%{version} %install install -dp %{buildroot}/%{gmem_path} install -dp %{buildroot}/%{_includedir} install -Dp %{_builddir}/%{name}-v%{version}/License %{buildroot}/%{gmem_path}/ install -Dp %{_builddir}/%{name}-v%{version}/include/libgmem.h %{buildroot}/%{_includedir} %files %{gmem_path}/License %files devel %{_includedir}/libgmem.h %endif %changelog * Fri Feb 2 2024 Yang Yanchao - 0.1-6 -update libgmem-v0.1.tar.gz to 4dc188c Skip building when the kernel does not support GMEM[I8Z5F4] * Wed Sep 20 2023 Lemmy Huang - 0.1-5 - add install_npu_driver.sh * Tue Sep 12 2023 Yang Yanchao - 0.1-4 - Structures and macros use the default definition of the kernel [I80K89] optimize headers file * Wed Sep 06 2023 Yang Yanchao - 0.1-3 - Check the return ptr of the malloc[#I7YV2X] add hnid in gmemPrefetch [#I7XQMW] free userData in stream to avoid async operations accessing illeagal address[#I7Z2RF] * Tue Aug 29 2023 Yang Yanchao - 0.1-2 - use ioctl instead of syscall * Sun Aug 13 2023 Yang Yanchao - 0.1-1 - Init Package