Skip to content

Commit

Permalink
Merge branch 'master' into feature/ncnn-backend
Browse files Browse the repository at this point in the history
  • Loading branch information
yanghaoqi committed Nov 28, 2023
2 parents 7fa6bac + 87aa407 commit 2620eab
Show file tree
Hide file tree
Showing 115 changed files with 5,383 additions and 357 deletions.
1 change: 1 addition & 0 deletions .github/workflows/compiler-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -114,6 +114,7 @@ jobs:
dotnet restore -r ${{matrix.config.rid}}
dotnet build -c ${{matrix.config.buildType}} --no-restore
dotnet publish src/Nncase.Compiler -c ${{matrix.config.buildType}} --no-restore --sc false -r ${{matrix.config.rid}}
dotnet publish src/Nncase.Studio -c ${{matrix.config.buildType}} --no-restore --sc false -r ${{matrix.config.rid}}
- name: Set up Dotnet Test settings
uses: 1arp/[email protected]
Expand Down
198 changes: 99 additions & 99 deletions .github/workflows/runtime-build.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
name: runtime-build

on: [push, pull_request]
on: [ push, pull_request ]

concurrency:
group: runtime-build-${{ github.ref }}
Expand All @@ -13,138 +13,138 @@ jobs:
strategy:
matrix:
config:
- {name: x86_64-macos, os: macos-latest, cmakeArgs: '', buildType: Release}
- {name: x86_64-linux, os: ubuntu-latest, cmakeArgs: '', buildType: Release}
- {name: x86_64-windows, os: windows-latest, arch: x64, cmakeArgs: -DCMAKE_C_COMPILER=clang-cl -DCMAKE_CXX_COMPILER=clang-cl, buildType: Release}
- { name: x86_64-macos, os: macos-latest, cmakeArgs: '', buildType: Release }
- { name: x86_64-linux, os: ubuntu-latest, cmakeArgs: '', buildType: Release }
- { name: x86_64-windows, os: windows-latest, arch: x64, cmakeArgs: -DCMAKE_C_COMPILER=clang-cl -DCMAKE_CXX_COMPILER=clang-cl, buildType: Release }

steps:
- uses: actions/checkout@v3
- uses: seanmiddleditch/gha-setup-ninja@master
- uses: actions/checkout@v3
- uses: seanmiddleditch/gha-setup-ninja@master

- name: Set up build environment (Windows, Visual Studio)
uses: ilammy/msvc-dev-cmd@v1
with:
arch: ${{matrix.config.arch}}
if: runner.os == 'Windows'

- name: Set up build environment (Macos)
run: |
brew install sunnycase/core/[email protected]
if: runner.os == 'Macos'

- name: Setup Python
uses: actions/setup-python@v4
with:
python-version: 3.7

- name: Install Conan
run: |
pip install conan==1.58
conan remote add -i 0 sunnycase https://conan.sunnycase.moe
- name: Configure Conan (Linux)
run: |
conan profile new default --detect
conan profile update settings.compiler.libcxx=libstdc++11 default
conan profile update settings.compiler.version=10 default
echo "CC=gcc-10" >> $GITHUB_ENV
echo "CXX=g++-10" >> $GITHUB_ENV
if: runner.os == 'Linux'

- name: Configure CMake
shell: bash
run: |
conan install . -if build --build=missing -s build_type=${{matrix.config.buildType}} --profile=default -o runtime=True -o python=False -o tests=True -s compiler.cppstd=17
- name: Build & Install
run: |
conan build . -if build -bf build
cmake --install build --prefix install
- name: Test
run: |
cd build
ctest -C ${{matrix.config.buildType}} --test-dir tests/kernels --output-on-failure -j4
if: runner.os != 'Macos' && runner.os != 'Windows'

#- name: Benchmark
# run: |
# ${{github.workspace}}/install/bin/benchnncase > benchnncase.log
# cat benchnncase.log

- name: Upload nncaseruntime Build Artifact
uses: actions/upload-artifact@v3
with:
name: nncaseruntime-${{matrix.config.name}}
path: ${{github.workspace}}/install
if-no-files-found: error

- name: Set up build environment (Windows, Visual Studio)
uses: ilammy/msvc-dev-cmd@v1
with:
arch: ${{matrix.config.arch}}
if: runner.os == 'Windows'
#- name: Upload nncaseruntime Benchmark
# uses: actions/upload-artifact@v3
# with:
# name: nncaseruntime-benchmark-${{matrix.config.name}}
# path: ${{github.workspace}}/benchnncase.log
# if-no-files-found: error

- name: Set up build environment (Macos)
run: |
brew install sunnycase/core/[email protected]
if: runner.os == 'Macos'
build-cross-linux-runtime:
name: build-runtime-${{matrix.config.name}}
runs-on: ubuntu-latest
strategy:
matrix:
config:
- {name: riscv64-linux, shell: bash, arch: riscv64, toolchain: riscv64-unknown-linux, toolchain_env: RISCV_ROOT_PATH, toolchain_file: riscv64-unknown-linux-gnu-13.2.0, qemu: qemu-riscv64, loader_args: '-cpu;rv64,v=true,Zfh=true,vlen=128,elen=64,vext_spec=v1.0;-L', cmakeArgs: '', buildType: Release}

steps:
- uses: actions/checkout@v3
- uses: seanmiddleditch/gha-setup-ninja@master

- name: Setup Python
uses: actions/setup-python@v4
with:
python-version: 3.7

- name: Install toolchain and QEMU
shell: bash
run: |
wget https://dav.sunnycase.moe/d/ci/nncase/${{matrix.config.toolchain_file}}.tar.xz -O toolchain.tar.xz
sudo tar xf toolchain.tar.xz -C $GITHUB_WORKSPACE
echo "${{matrix.config.toolchain_env}}=$GITHUB_WORKSPACE/${{matrix.config.toolchain_file}}" >> $GITHUB_ENV
wget https://dav.sunnycase.moe/d/ci/nncase/${{matrix.config.qemu}}.tgz -O qemu.tgz
sudo tar xf qemu.tgz -C /usr/local/bin
echo "TESTS_EXECUTABLE_LOADER=${{matrix.config.qemu}}" >> $GITHUB_ENV
echo "TESTS_EXECUTABLE_LOADER_ARGUMENTS=${{matrix.config.loader_args}};$GITHUB_WORKSPACE/${{matrix.config.toolchain_file}}/sysroot" >> $GITHUB_ENV
- name: Install Conan
run: |
pip install conan==1.58
conan remote add -i 0 sunnycase https://conan.sunnycase.moe
- name: Configure Conan (Linux)
- name: Configure Conan
run: |
conan profile new default --detect
conan profile update settings.compiler.libcxx=libstdc++11 default
conan profile update settings.compiler.version=10 default
echo "CC=gcc-10" >> $GITHUB_ENV
echo "CXX=g++-10" >> $GITHUB_ENV
if: runner.os == 'Linux'
conan config init
sed -i 's/xtensalx7]/xtensalx7, ${{matrix.config.arch}}]/g' ~/.conan/settings.yml
- name: Configure CMake
shell: bash
run: |
conan install . -if build --build=missing -s build_type=${{matrix.config.buildType}} --profile=default -o runtime=True -o python=False -o tests=True -s compiler.cppstd=17
conan install . -if build --build=missing -s build_type=${{matrix.config.buildType}} --profile:host=toolchains/riscv64-unknown-linux.profile.jinja --profile:build=default -o runtime=True -o python=False -o tests=True -s compiler.cppstd=17
- name: Build & Install
run: |
conan build . -if build -bf build
cmake --install build --prefix install
- name: Test
shell: bash
run: |
cd build
ctest -C ${{matrix.config.buildType}} --test-dir tests/kernels --output-on-failure -j4
if: runner.os != 'Macos' && runner.os != 'Windows'

#- name: Benchmark
# run: |
# ${{github.workspace}}/install/bin/benchnncase > benchnncase.log
# cat benchnncase.log
ctest --test-dir tests/kernels --output-on-failure -j4
- name: Upload nncaseruntime Build Artifact
uses: actions/upload-artifact@v3
with:
name: nncaseruntime-${{matrix.config.name}}
path: ${{github.workspace}}/install
if-no-files-found: error

#- name: Upload nncaseruntime Benchmark
# uses: actions/upload-artifact@v3
# with:
# name: nncaseruntime-benchmark-${{matrix.config.name}}
# path: ${{github.workspace}}/benchnncase.log
# if-no-files-found: error

build-cross-linux-runtime:
name: build-runtime-${{matrix.config.name}}
runs-on: ubuntu-latest
strategy:
matrix:
config:
- {name: riscv64-linux, shell: bash, arch: riscv64, toolchain: riscv64-unknown-linux, toolchain_env: RISCV_ROOT_PATH, toolchain_file: riscv64-unknown-linux-gnu-13.2.0, qemu: qemu-riscv64, loader_args: '-cpu;rv64,v=true,Zfh=true,vlen=128,elen=64,vext_spec=v1.0;-L', cmakeArgs: '', buildType: Release}

steps:
- uses: actions/checkout@v3
- uses: seanmiddleditch/gha-setup-ninja@master

- name: Setup Python
uses: actions/setup-python@v4
with:
python-version: 3.7

- name: Install toolchain and QEMU
shell: bash
run: |
wget https://dav.sunnycase.moe/d/ci/nncase/${{matrix.config.toolchain_file}}.tar.xz -O toolchain.tar.xz
sudo tar xf toolchain.tar.xz -C $GITHUB_WORKSPACE
echo "${{matrix.config.toolchain_env}}=$GITHUB_WORKSPACE/${{matrix.config.toolchain_file}}" >> $GITHUB_ENV
wget https://dav.sunnycase.moe/d/ci/nncase/${{matrix.config.qemu}}.tgz -O qemu.tgz
sudo tar xf qemu.tgz -C /usr/local/bin
echo "TESTS_EXECUTABLE_LOADER=${{matrix.config.qemu}}" >> $GITHUB_ENV
echo "TESTS_EXECUTABLE_LOADER_ARGUMENTS=${{matrix.config.loader_args}};$GITHUB_WORKSPACE/${{matrix.config.toolchain_file}}/sysroot" >> $GITHUB_ENV
- name: Install Conan
run: |
pip install conan==1.58
conan remote add -i 0 sunnycase https://conan.sunnycase.moe
- name: Configure Conan
run: |
conan profile new default --detect
conan profile update settings.compiler.libcxx=libstdc++11 default
conan config init
sed -i 's/xtensalx7]/xtensalx7, ${{matrix.config.arch}}]/g' ~/.conan/settings.yml
- name: Configure CMake
run: |
conan install . -if build --build=missing -s build_type=${{matrix.config.buildType}} --profile:host=toolchains/riscv64-unknown-linux.profile.jinja --profile:build=default -o runtime=True -o python=False -o tests=True -s compiler.cppstd=17
- name: Build & Install
run: |
conan build . -if build -bf build
cmake --install build --prefix install
- name: Test
shell: bash
run: |
cd build
ctest --test-dir tests/kernels --output-on-failure -j4
- name: Upload nncaseruntime Build Artifact
uses: actions/upload-artifact@v3
with:
name: nncaseruntime-${{matrix.config.name}}
path: ${{github.workspace}}/install
if-no-files-found: error
9 changes: 9 additions & 0 deletions Directory.Packages.props
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,14 @@
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
</PropertyGroup>
<ItemGroup>
<PackageVersion Include="Avalonia" Version="11.0.2"/>
<PackageVersion Include="Avalonia.Desktop" Version="11.0.2"/>
<PackageVersion Include="Avalonia.Themes.Fluent" Version="11.0.2"/>
<PackageVersion Include="Avalonia.Fonts.Inter" Version="11.0.2"/>
<PackageVersion Include="Avalonia.ReactiveUI" Version="11.0.2"/>
<PackageVersion Include="MessageBox.Avalonia" Version="3.1.2" />

<PackageVersion Include="CommunityToolkit.Mvvm" Version="8.2.1" />
<PackageVersion Include="Google.OrTools" Version="9.4.1874" />
<PackageVersion Include="AnyTensorFlow.NET" Version="0.70.1" />
<PackageVersion Include="BitFields" Version="0.1.0" />
Expand Down Expand Up @@ -46,6 +54,7 @@
<PackageVersion Include="NetFabric.Hyperlinq" Version="3.0.0-beta48" />
<PackageVersion Include="Newtonsoft.Json" Version="13.0.3" />
<PackageVersion Include="Nncase.FlatBuffers" Version="2.0.0" />
<PackageVersion Include="NumSharp" Version="0.30.0" />
<PackageVersion Include="OrtKISharp" Version="0.0.2" />
<PackageVersion Include="RazorLight" Version="2.3.0" />
<PackageVersion Include="Singulink.Collections.Weak" Version="1.0.2" />
Expand Down
24 changes: 12 additions & 12 deletions docs/caffe_ops.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,15 @@

## 支持的 Caffe 算子

| Operator | Is Supported |
|-------|------------------ |
| Input ||
| Concat ||
| Convolution ||
| Eltwise ||
| Permute ||
| Relu ||
| Reshape ||
| Slice ||
| Softmax ||
| Split ||
| Operator | Is Supported |
|-------------|--------------|
| Input | |
| Concat | |
| Convolution | |
| Eltwise | |
| Permute | |
| Relu | |
| Reshape | |
| Slice | |
| Softmax | |
| Split | |
30 changes: 15 additions & 15 deletions docs/ncnn_ops.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,18 +2,18 @@

## 支持的 ncnn 算子

| Operator | Is Supported |
|-------|------------------ |
| Input ||
| Clip ||
| Concat ||
| Convolution ||
| ConvolutionDepthWise ||
| HardSigmoid ||
| HardSwish ||
| Innerproduct ||
| Pooling ||
| ReLU ||
| Sigmoid ||
| Softmax ||
| Split ||
| Operator | Is Supported |
|----------------------|--------------|
| Input | |
| Clip | |
| Concat | |
| Convolution | |
| ConvolutionDepthWise | |
| HardSigmoid | |
| HardSwish | |
| Innerproduct | |
| Pooling | |
| ReLU | |
| Sigmoid | |
| Softmax | |
| Split | |
Loading

0 comments on commit 2620eab

Please sign in to comment.