%global pkg_version %{name}-v%{version}-alpha %global build_dir %{_builddir}/%{pkg_version} %global build_dir_dep %{build_dir}/third_party %global build_dir_frm %{build_dir}/aiframe/build %global build_libdir %{build_dir_frm}/%{_lib} %global build_includedir %{build_dir_frm}/include %global install_libdir %{buildroot}%{_libdir} %global install_includedir %{buildroot}%{_includedir} %global install_dir_model %{install_libdir}/%{name} %global max_jobs 16 Summary: %{name} is a framework which enables compilers compilers to integrate ML-driven compiler optimization. Name: AI4C Version: 1.0.4 Release: 3 # Package onnxruntime and SafeInt have MIT License. # Package onnx has Apache License 2.0. License: MIT and ASL 2.0 and Boost and BSD URL: https://gitee.com/openeuler/AI4C Source0: %{pkg_version}.tar.gz Patch1: 0001-Bugfix-for-undefined-np-symbol-in-ai4c-option-tuner.patch Patch2: 0002-Update-README.md.patch BuildRequires: cmake >= 3.13 BuildRequires: make BuildRequires: gcc BuildRequires: gcc-c++ BuildRequires: abseil-cpp-devel BuildRequires: boost-devel >= 1.66 BuildRequires: bzip2 BuildRequires: python3-devel BuildRequires: python3-numpy BuildRequires: python3-setuptools BuildRequires: python3-pip BuildRequires: python3-wheel BuildRequires: openssl BuildRequires: openssl-devel BuildRequires: yaml-cpp BuildRequires: yaml-cpp-devel BuildRequires: gcc-plugin-devel BuildRequires: libstdc++-static %description %{name} is a framework which enables compilers compilers to integrate ML-driven compiler optimization. %prep tar -xzf %{SOURCE0} -C . %autosetup -S git -n %{pkg_version} %build # Broken test in aarch64 architecture. cd %{build_dir_dep}/onnxruntime %ifarch aarch64 rm -v onnxruntime/test/optimizer/nhwc_transformer_test.cc %endif # Construct dependency package `onnxruntime`. mkdir -p %{build_libdir} mkdir -p %{build_includedir} cmake \ -DCMAKE_INSTALL_PREFIX=%{build_dir_frm} \ -DCMAKE_INSTALL_LIBDIR=%{build_libdir} \ -DCMAKE_INSTALL_INCLUDEDIR=%{build_includedir} \ -Donnxruntime_BUILD_SHARED_LIB=ON \ -Donnxruntime_BUILD_UNIT_TESTS=ON \ -Donnxruntime_INSTALL_UNIT_TESTS=OFF \ -Donnxruntime_BUILD_BENCHMARKS=OFF \ -Donnxruntime_USE_FULL_PROTOBUF=ON \ -DPYTHON_VERSION=%{python3_version} \ -Donnxruntime_ENABLE_CPUINFO=ON \ -Donnxruntime_DISABLE_ABSEIL=ON \ -Donnxruntime_USE_NEURAL_SPEED=OFF \ -Donnxruntime_ENABLE_PYTHON=OFF \ -DCMAKE_BUILD_TYPE=RelWithDebInfo \ -S cmake make -j %{max_jobs} && make install pushd %{build_dir}/python %{__python3} setup.py bdist_wheel \ -Donnxruntime_ROOTDIR=%{build_dir_frm} \ -DCMAKE_BUILD_TYPE=RelWithDebInfo %install install -d %{install_includedir} install %{build_includedir}/onnxruntime/* -t %{install_includedir} install -d %{install_dir_model} install %{build_dir}/models/* -t %{install_dir_model} install %{build_libdir}/libonnxruntime.so* -t %{install_libdir} pushd %{install_libdir} ln -sf libonnxruntime.so.1.* libonnxruntime.so popd pushd %{build_dir}/python %py3_install %files %{_includedir}/* %{_libdir}/* %{python3_sitelib}/*egg-info %{python3_sitelib}/ai4c /usr/bin/ai4c-autotune /usr/bin/ai4c-g++ /usr/bin/ai4c-gcc /usr/bin/ai4c-option-tune /usr/bin/ai4c-tune %changelog * Mon Dec 09 2024 Feiyang Liu - 1.0.4-3 - Update README.md. * Sun Dec 08 2024 Feiyang Liu - 1.0.4-2 - Bugfix for undefined "np" symbol in ai4c-option-tuner. * Wed Dec 04 2024 Feiyang Liu - 1.0.4-1 - Update AI4C from v1.0.3 to v1.0.4. * Wed Nov 27 2024 Chenhui Zheng - 1.0.3-2 - Add inline_unroll plugin and models * Fri Nov 22 2024 Feiyang Liu - 1.0.3-1 - Update AI4C from v0.2.0 to v1.0.3. * Mon Nov 25 2024 Zhenyu Zhao - 0.2.0-1 - Sync patch from 22.03 SP4.