代码拉取完成,页面将自动刷新
同步操作将从 OpenHarmony-SIG/tpc_c_cplusplus 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
# Copyright (c) 2024 Huawei Device Co., Ltd.
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# Contributor: zhongluping <278527840@qq.com>
# Maintainer: zhongluping <278527840@qq.com>
pkgname=onnxruntime
pkgver=v1.18.2
pkgrel=0
pkgdesc="ONNX Runtime: cross-platform, high performance ML inferencing and training accelerator."
url="https://github.com/microsoft/onnxruntime"
archs=("arm64-v8a")
license=("MIT license")
depends=()
makedepends=()
source="https://github.com/microsoft/onnxruntime/archive/refs/tags/v1.18.2.tar.gz"
autounpack=true
downloadpackage=true
patchflag=true
builddir=$pkgname-${pkgver:1}
packagename=$builddir.tar.gz
prepare() {
mkdir -p $builddir/$ARCH-build
if [ $patchflag == true ]
then
cd $builddir
## 此patch主要修改了3处地方(这些修改可能造成的风险需用户自行判断):
## 1. OH不支持pthread_setaffinity_np接口,该接调用逻辑的地方增加一个非OHOS平台
## 2. OH当前不支持 bfloat16_t类型,以向上兼容的方式将此类型定义为float32_t
## 3. vst1q_bf16(对应bfloat16_t)修改为vst1q_f32vim(对应float32_t)
patch -p1 < ../onnxruntime_pkg.patch
patchflag=false
cd $OLDPWD
fi
}
## cmake 时需要花费时间拉取依赖库,请保持网络良好
## 测试中使用到了cpuinfo相关接口,部分接口在OH中不支持导致编译失败,故将CPUINFO以及测试关闭。(CPUINFO关闭可能造成的风险需用户自行判断)
build() {
cd $builddir/$ARCH-build
${OHOS_SDK}/native/build-tools/cmake/bin/cmake "$@" -DOHOS_ARCH=$ARCH -DCMAKE_ASM_FLAGS="-Wno-unused-command-line-argument" \
-DCMAKE_CXX_FLAGS="-Wno-unused-command-line-argument -Wno-shorten-64-to-32" -DCMAKE_C_FLAGS="-Wno-unused-command-line-argument "\
-Donnxruntime_ENABLE_CPU_FP16_OPS=OFF -DCPUINFO_BUILD_PKG_CONFIG=OFF -DBUILD_TESTING=OFF -DBUILD_GMOCK=OFF \
-Dprotobuf_USE_EXTERNAL_GTEST=OFF -Donnxruntime_BUILD_SHARED_LIB=ON \
-Donnxruntime_ENABLE_CPUINFO=OFF -Donnxruntime_BUILD_UNIT_TESTS=OFF -Donnxruntime_CROSS_COMPILING=ON ../cmake/ -L > `pwd`/build.log 2>&1
# 编译
make VERBOSE=1 >> `pwd`/build.log 2>&1
ret=$?
cd $OLDPWD
return $ret
}
package() {
cd $builddir
make -C $ARCH-build install VERBOSE=1 >> `pwd`/$ARCH-build/build.log 2>&1
cd $OLDPWD
}
check() {
echo "The test must be on an OpenHarmony device!"
## test has be closed!
}
# 清理环境
cleanbuild() {
rm -rf ${PWD}/$builddir # ${PWD}/$packagename
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。