Add batch inference feature and optimizer model.
This commit is contained in:
parent
eb462879a4
commit
49dab49ee2
1040
0001-Add-batch-inference-feature-and-optimizer-model.patch
Normal file
1040
0001-Add-batch-inference-feature-and-optimizer-model.patch
Normal file
File diff suppressed because it is too large
Load Diff
101
AI4C.spec
101
AI4C.spec
@ -1,12 +1,29 @@
|
|||||||
Summary: %{name}-v%{version}-alpha is a framework which enables compilers compilers to integrate ML-driven compiler optimization.
|
%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
|
||||||
|
%global build_dir_model %{build_dir}/models
|
||||||
|
%global build_libdir %{build_dir_frm}/lib64
|
||||||
|
%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 8
|
||||||
|
|
||||||
|
Summary: %{name} is a framework which enables compilers compilers to integrate ML-driven compiler optimization.
|
||||||
Name: AI4C
|
Name: AI4C
|
||||||
Version: 0.1.0
|
Version: 0.1.0
|
||||||
Release: 1
|
Release: 2
|
||||||
# onnxruntime and SafeInt are MIT
|
# Package onnxruntime and SafeInt have MIT License.
|
||||||
# onnx is Apache License 2.0
|
# Package onnx has Apache License 2.0.
|
||||||
License: MIT and ASL 2.0 and Boost and BSD
|
License: MIT and ASL 2.0 and Boost and BSD
|
||||||
URL: https://gitee.com/openeuler/AI4C
|
URL: https://gitee.com/openeuler/AI4C
|
||||||
Source0: %{name}-v%{version}-alpha.tar.gz
|
Source0: %{pkg_version}.tar.gz
|
||||||
|
|
||||||
|
Patch1: 0001-Add-batch-inference-feature-and-optimizer-model.patch
|
||||||
|
|
||||||
BuildRequires: cmake >= 3.13
|
BuildRequires: cmake >= 3.13
|
||||||
BuildRequires: make
|
BuildRequires: make
|
||||||
@ -24,26 +41,28 @@ BuildRequires: openssl-devel
|
|||||||
|
|
||||||
|
|
||||||
%description
|
%description
|
||||||
%{name}-v%{version}-alpha is a framework which enables compilers compilers to integrate ML-driven compiler optimization.
|
%{name} is a framework which enables compilers compilers to integrate ML-driven compiler optimization.
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
tar -xzf %{SOURCE0} -C .
|
tar -xzf %{SOURCE0} -C .
|
||||||
|
|
||||||
|
%autosetup -S git -n %{pkg_version}
|
||||||
|
|
||||||
%build
|
%build
|
||||||
## construct cmake
|
# Construct dependency package `cmake`
|
||||||
cd %{_builddir}/%{name}-v%{version}-alpha/third_party/cmake-3.28.5
|
cd %{build_dir_dep}/cmake-3.28.5
|
||||||
mkdir build
|
mkdir build
|
||||||
cd build
|
cd build
|
||||||
cmake .. -DCMAKE_INSTALL_PREFIX=./install
|
cmake .. -DCMAKE_INSTALL_PREFIX=./install
|
||||||
make install
|
make install -j %{max_jobs}
|
||||||
|
|
||||||
# Broken test in aarch64
|
# Broken test in aarch64 architecture.
|
||||||
cd %{_builddir}/%{name}-v%{version}-alpha/third_party/onnxruntime-1.16.3
|
cd %{build_dir_dep}/onnxruntime-1.16.3
|
||||||
%ifarch aarch64
|
%ifarch aarch64
|
||||||
rm -v onnxruntime/test/optimizer/nhwc_transformer_test.cc
|
rm -v onnxruntime/test/optimizer/nhwc_transformer_test.cc
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%{_builddir}/%{name}-v%{version}-alpha/third_party/cmake-3.28.5/build/install/bin/cmake \
|
%{build_dir_dep}/cmake-3.28.5/build/install/bin/cmake \
|
||||||
-DCMAKE_INSTALL_LIBDIR=%{_lib} \
|
-DCMAKE_INSTALL_LIBDIR=%{_lib} \
|
||||||
-DCMAKE_INSTALL_INCLUDEDIR=include \
|
-DCMAKE_INSTALL_INCLUDEDIR=include \
|
||||||
-Donnxruntime_BUILD_SHARED_LIB=ON \
|
-Donnxruntime_BUILD_SHARED_LIB=ON \
|
||||||
@ -58,46 +77,48 @@ rm -v onnxruntime/test/optimizer/nhwc_transformer_test.cc
|
|||||||
-Donnxruntime_ENABLE_PYTHON=ON \
|
-Donnxruntime_ENABLE_PYTHON=ON \
|
||||||
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
|
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
|
||||||
-S cmake
|
-S cmake
|
||||||
make
|
make -j %{max_jobs}
|
||||||
|
|
||||||
mkdir -p %{_builddir}/%{name}-v%{version}-alpha/aiframe/lib64/
|
mkdir -p %{build_libdir}
|
||||||
cd %{_builddir}/%{name}-v%{version}-alpha/third_party/onnxruntime-1.16.3
|
cd %{build_dir_dep}/onnxruntime-1.16.3
|
||||||
cp libonnxruntime.so.1.16.3 %{_builddir}/%{name}-v%{version}-alpha/aiframe/lib64/
|
cp libonnxruntime.so.1.16.3 %{build_libdir}
|
||||||
cp libonnxruntime.so %{_builddir}/%{name}-v%{version}-alpha/aiframe/lib64/
|
cp libonnxruntime.so %{build_libdir}
|
||||||
cp include/onnxruntime/core/session/onnxruntime_c_api.h %{_builddir}/%{name}-v%{version}-alpha/aiframe/include/
|
cp include/onnxruntime/core/session/onnxruntime_c_api.h %{build_includedir}
|
||||||
cp include/onnxruntime/core/session/onnxruntime_cxx_api.h %{_builddir}/%{name}-v%{version}-alpha/aiframe/include/
|
cp include/onnxruntime/core/session/onnxruntime_cxx_api.h %{build_includedir}
|
||||||
cp include/onnxruntime/core/session/onnxruntime_cxx_inline.h %{_builddir}/%{name}-v%{version}-alpha/aiframe/include/
|
cp include/onnxruntime/core/session/onnxruntime_cxx_inline.h %{build_includedir}
|
||||||
cp include/onnxruntime/core/session/onnxruntime_float16.h %{_builddir}/%{name}-v%{version}-alpha/aiframe/include/
|
cp include/onnxruntime/core/session/onnxruntime_float16.h %{build_includedir}
|
||||||
cp include/onnxruntime/core/session/onnxruntime_run_options_config_keys.h %{_builddir}/%{name}-v%{version}-alpha/aiframe/include/
|
cp include/onnxruntime/core/session/onnxruntime_run_options_config_keys.h %{build_includedir}
|
||||||
cp include/onnxruntime/core/session/onnxruntime_session_options_config_keys.h %{_builddir}/%{name}-v%{version}-alpha/aiframe/include/
|
cp include/onnxruntime/core/session/onnxruntime_session_options_config_keys.h %{build_includedir}
|
||||||
cp include/onnxruntime/core/providers/cpu/cpu_provider_factory.h %{_builddir}/%{name}-v%{version}-alpha/aiframe/include/
|
cp include/onnxruntime/core/providers/cpu/cpu_provider_factory.h %{build_includedir}
|
||||||
cp include/onnxruntime/core/session/onnxruntime_lite_custom_op.h %{_builddir}/%{name}-v%{version}-alpha/aiframe/include/
|
cp include/onnxruntime/core/session/onnxruntime_lite_custom_op.h %{build_includedir}
|
||||||
cp include/onnxruntime/core/framework/provider_options.h %{_builddir}/%{name}-v%{version}-alpha/aiframe/include/
|
cp include/onnxruntime/core/framework/provider_options.h %{build_includedir}
|
||||||
cp orttraining/orttraining/training_api/include/onnxruntime_training_cxx_api.h %{_builddir}/%{name}-v%{version}-alpha/aiframe/include/
|
cp orttraining/orttraining/training_api/include/onnxruntime_training_cxx_api.h %{build_includedir}
|
||||||
cp orttraining/orttraining/training_api/include/onnxruntime_training_cxx_inline.h %{_builddir}/%{name}-v%{version}-alpha/aiframe/include/
|
cp orttraining/orttraining/training_api/include/onnxruntime_training_cxx_inline.h %{build_includedir}
|
||||||
cp orttraining/orttraining/training_api/include/onnxruntime_training_c_api.h %{_builddir}/%{name}-v%{version}-alpha/aiframe/include/
|
cp orttraining/orttraining/training_api/include/onnxruntime_training_c_api.h %{build_includedir}
|
||||||
|
|
||||||
|
|
||||||
## construct ONNXRunner.so
|
# Construct AI4C library `libONNXRunner.so`.
|
||||||
cd %{_builddir}/%{name}-v%{version}-alpha/aiframe
|
cd %{build_dir_frm}
|
||||||
cmake .
|
cmake .
|
||||||
make
|
make -j %{max_jobs}
|
||||||
mv ./libONNXRunner.so ./lib64
|
mv libONNXRunner.so %{build_libdir}
|
||||||
|
|
||||||
%install
|
%install
|
||||||
mkdir -p %{buildroot}%{_libdir}
|
install -d %{install_dir_model}
|
||||||
cp %{_builddir}/%{name}-v%{version}-alpha/models/* %{buildroot}%{_libdir}/
|
install %{build_dir_model}/* %{install_dir_model}
|
||||||
|
install %{build_libdir}/* %{install_libdir}
|
||||||
|
|
||||||
|
install -d %{install_includedir}
|
||||||
|
install %{build_includedir}/* %{install_includedir}
|
||||||
|
|
||||||
cp %{_builddir}/%{name}-v%{version}-alpha/aiframe/lib64/* %{buildroot}%{_libdir}/
|
|
||||||
mkdir -p %{buildroot}%{_includedir}
|
|
||||||
cp %{_builddir}/%{name}-v%{version}-alpha/aiframe/include/* %{buildroot}%{_includedir}
|
|
||||||
%files
|
%files
|
||||||
#%license LICENSE
|
|
||||||
#%doc ThirdPartyNotices.txt
|
|
||||||
%{_libdir}/*
|
%{_libdir}/*
|
||||||
%{_includedir}/*
|
%{_includedir}/*
|
||||||
|
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Fri Jun 21 2024 Feiyang Liu <liufeiyang6@huaewei.com> - 0.1.0-2
|
||||||
|
- Add batch inference feature and optimizer model
|
||||||
|
|
||||||
* Wed Jun 5 2024 Zhenyu Zhao <zhaozhenyu17@huaewei.com> - 0.1.0-1
|
* Wed Jun 5 2024 Zhenyu Zhao <zhaozhenyu17@huaewei.com> - 0.1.0-1
|
||||||
- Release 0.1.0
|
- Release 0.1.0
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user