summaryrefslogtreecommitdiff
path: root/onnxruntime.spec
blob: 5edcf4bc7209b8f630e4bf801374192bc3130508 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
%global with_npu 0
%define debug_package %{nil}

Name:           onnxruntime
Version:        1.15.1
Release:        1
Summary:        Cross-Platform Accelerated Machine Learning
License:        MIT
URL:            https://onnxruntime.ai/
Source0:        onnxruntime-1.15.1.zip
BuildRoot:      %{_buildrootdir}    
#编译所需包(按照文档写的)
BuildRequires:  cmake gcc gcc-c++ python3 git python-numpy python-packaging openssl openssl-devel iputils bash
#安装所需包(感觉没啥需要的?)
Requires:       bash                               
Provides:       onnxruntime-python-API

%description
ONNX Runtime is a cross-platform machine-learning model accelerator, with a 
flexible interface to integrate hardware-specific libraries. ONNX Runtime can be used with 
models from PyTorch, Tensorflow/Keras, TFLite, scikit-learn, and other frameworks.

%package -n onnxruntime-npu
Summary:        Cross-Platform Accelerated Machine Learning For NPU


%description -n onnxruntime-npu
ONNXRuntime npu

%prep
#unzip -q -o ../SOURCES/v%{version}.zip -d ../BUILD
unzip -q -o ../SOURCES/onnxruntime-1.15.1.zip -d ../BUILD

ping gitee.com
git clone https://gitee.com/LeaSwen/onnxruntime1.15.1_dep.git

%build

cd %{name}-%{version}
#cd %{name}-main



git init . && bash build.sh --config Release --build_shared_lib --parallel --compile_no_warning_as_error --skip_submodule_sync --allow_running_as_root --skip_tests --build_wheel --build_dir build/CPU 

%if %{with_npu}
export CPLUS_INCLUDE_PATH=/usr/local/Ascend/ascend-toolkit/latest/fwkacllib/include:$CPLUS_INCLUDE_PATH
export CPLUS_INCLUDE_PATH=/usr/local/lib64/python3.9/site-packages/numpy/core/include:$CPLUS_INCLUDE_PATH
ln -s /usr/local/Ascend/ascendtoolkit/latest/x86_64-Linux/1ib64/libascendcl.so /usr/lib/libascendcl.so
ln -s /usr/local/Ascend/ascendtoolkit/latest/x86_64-Linux/1ib64//libfmk_onnx_parser.so /usr/lib//libfmk_onnx_parser.so
ln -s /usr/local/Ascend/ascendtoolkit/latest/x86_64-Linux/1ib64/libacl_op_compiler.so /usr/lib/libacl_op_compiler.so
pip install wheel
source /usr/local/Ascend/ascend-toolkit/set_env.sh
git init . && bash build.sh --config Release --build_shared_lib --use_cann --parallel --allow_running_as_root --skip_tests --build_wheel --build_dir build/NPU 
%endif


%install
if [ ! -d  %{_buildrootdir}/%{name}-%{version}-%{release}.%{_arch}%{python3_sitelib}/onnxruntime ]; then
  mkdir -p  %{_buildrootdir}/%{name}-%{version}-%{release}.%{_arch}%{python3_sitelib}/onnxruntime
fi

cp -r %{_builddir}/%{name}-%{version}/build/CPU/Release/onnxruntime/backend %{_buildrootdir}/%{name}-%{version}-%{release}.%{_arch}%{python3_sitelib}/onnxruntime/
cp -r %{_builddir}/%{name}-%{version}/build/CPU/Release/onnxruntime/datasets %{_buildrootdir}/%{name}-%{version}-%{release}.%{_arch}%{python3_sitelib}/onnxruntime/
cp -r %{_builddir}/%{name}-%{version}/build/CPU/Release/onnxruntime/quantization %{_buildrootdir}/%{name}-%{version}-%{release}.%{_arch}%{python3_sitelib}/onnxruntime/
cp -r %{_builddir}/%{name}-%{version}/build/CPU/Release/onnxruntime/tools %{_buildrootdir}/%{name}-%{version}-%{release}.%{_arch}%{python3_sitelib}/onnxruntime/
cp -r %{_builddir}/%{name}-%{version}/build/CPU/Release/onnxruntime/transformers %{_buildrootdir}/%{name}-%{version}-%{release}.%{_arch}%{python3_sitelib}/onnxruntime/
cp -r %{_builddir}/%{name}-%{version}/build/CPU/Release/onnxruntime/__init__.py %{_buildrootdir}/%{name}-%{version}-%{release}.%{_arch}%{python3_sitelib}/onnxruntime/
cp -r %{_builddir}/%{name}-%{version}/build/CPU/Release/onnxruntime/LICENSE %{_buildrootdir}/%{name}-%{version}-%{release}.%{_arch}%{python3_sitelib}/onnxruntime/
cp -r %{_builddir}/%{name}-%{version}/build/CPU/Release/onnxruntime/Privacy.md %{_buildrootdir}/%{name}-%{version}-%{release}.%{_arch}%{python3_sitelib}/onnxruntime/
cp -r %{_builddir}/%{name}-%{version}/build/CPU/Release/onnxruntime/ThirdPartyNotices.txt %{_buildrootdir}/%{name}-%{version}-%{release}.%{_arch}%{python3_sitelib}/onnxruntime/
cp -r %{_builddir}/%{name}-%{version}/build/CPU/Release/onnxruntime/capi %{_buildrootdir}/%{name}-%{version}-%{release}.%{_arch}%{python3_sitelib}/onnxruntime/
#cp -r %{_builddir}/%{name}-%{version}/build/CPU/Release/onnxruntime/* %{_buildrootdir}/%{name}-%{version}-%{release}.%{_arch}%{python3_sitelib}/onnxruntime

%if %{with_npu}

if [ ! -d  %{_buildrootdir}/%{name}-%{version}-%{release}.%{_arch}%{python3_sitelib}/onnxruntime_npu ]; then
  mkdir -p  %{_buildrootdir}/%{name}-%{version}-%{release}.%{_arch}%{python3_sitelib}/onnxruntime_npu
fi
cp -r %{_builddir}/%{name}-%{version}/build/NPU/Release/onnxruntime/backend %{_buildrootdir}/%{name}-%{version}-%{release}.%{_arch}%{python3_sitelib}/onnxruntime_npu/
cp -r %{_builddir}/%{name}-%{version}/build/NPU/Release/onnxruntime/datasets %{_buildrootdir}/%{name}-%{version}-%{release}.%{_arch}%{python3_sitelib}/onnxruntime_npu/
cp -r %{_builddir}/%{name}-%{version}/build/NPU/Release/onnxruntime/quantization %{_buildrootdir}/%{name}-%{version}-%{release}.%{_arch}%{python3_sitelib}/onnxruntime_npu/
cp -r %{_builddir}/%{name}-%{version}/build/NPU/Release/onnxruntime/tools %{_buildrootdir}/%{name}-%{version}-%{release}.%{_arch}%{python3_sitelib}/onnxruntime_npu/
cp -r %{_builddir}/%{name}-%{version}/build/NPU/Release/onnxruntime/transformers %{_buildrootdir}/%{name}-%{version}-%{release}.%{_arch}%{python3_sitelib}/onnxruntime_npu/
cp -r %{_builddir}/%{name}-%{version}/build/NPU/Release/onnxruntime/__init__.py %{_buildrootdir}/%{name}-%{version}-%{release}.%{_arch}%{python3_sitelib}/onnxruntime_npu/
cp -r %{_builddir}/%{name}-%{version}/build/NPU/Release/onnxruntime/LICENSE %{_buildrootdir}/%{name}-%{version}-%{release}.%{_arch}%{python3_sitelib}/onnxruntime_npu/
cp -r %{_builddir}/%{name}-%{version}/build/NPU/Release/onnxruntime/Privacy.md %{_buildrootdir}/%{name}-%{version}-%{release}.%{_arch}%{python3_sitelib}/onnxruntime_npu/
cp -r %{_builddir}/%{name}-%{version}/build/NPU/Release/onnxruntime/ThirdPartyNotices.txt %{_buildrootdir}/%{name}-%{version}-%{release}.%{_arch}%{python3_sitelib}/onnxruntime_npu/
cp -r %{_builddir}/%{name}-%{version}/build/NPU/Release/onnxruntime/capi %{_buildrootdir}/%{name}-%{version}-%{release}.%{_arch}%{python3_sitelib}/onnxruntime_npu/
#cp -r %{_builddir}/%{name}-%{version}/build/NPU/Release/onnxruntime/* %{_buildrootdir}/%{name}-%{version}-%{release}.%{_arch}%{python3_sitelib}/onnxruntime_npu
%endif

  
%files
%{python3_sitelib}/onnxruntime/backend
%{python3_sitelib}/onnxruntime/datasets
%{python3_sitelib}/onnxruntime/quantization
%{python3_sitelib}/onnxruntime/tools
%{python3_sitelib}/onnxruntime/transformers
%{python3_sitelib}/onnxruntime/__init__.py
%{python3_sitelib}/onnxruntime/LICENSE
%{python3_sitelib}/onnxruntime/Privacy.md
%{python3_sitelib}/onnxruntime/ThirdPartyNotices.txt
%{python3_sitelib}/onnxruntime/capi
%{python3_sitelib}/onnxruntime/__pycache__

%if %{with_npu}
%files -n onnxruntime-npu
%{python3_sitelib}/onnxruntime_npu/backend
%{python3_sitelib}/onnxruntime_npu/datasets
%{python3_sitelib}/onnxruntime_npu/quantization
%{python3_sitelib}/onnxruntime_npu/tools
%{python3_sitelib}/onnxruntime_npu/transformers
%{python3_sitelib}/onnxruntime_npu/__init__.py
%{python3_sitelib}/onnxruntime_npu/LICENSE
%{python3_sitelib}/onnxruntime_npu/Privacy.md
%{python3_sitelib}/onnxruntime_npu/ThirdPartyNotices.txt
%{python3_sitelib}/onnxruntime_npu/capi
%{python3_sitelib}/onnxruntime_npu/__pycache__
%endif


%changelog
* Fri Aug 10 2023 lisiwen <2022111134@bupt.edu.cn>
- init package