- ふかうら王、最大GPUの数を設定できるように。 #9
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI Build&Release | |
on: | |
push: | |
tags: | |
# 動作条件を変えたい場合、 workflow-syntax-for-github-actions#フィルタパターンのチートシート 参照。 | |
# https://docs.github.com/ja/free-pro-team@latest/actions/reference/workflow-syntax-for-github-actions | |
- "v*" | |
- "V*" | |
jobs: | |
build-msys2-general: | |
# windows-latest = windows-2019 => windows-2022 | |
# https://docs.github.com/ja/actions/using-github-hosted-runners/about-github-hosted-runners | |
# https://github.com/actions/virtual-environments/blob/main/images/win/Windows2019-Readme.md | |
# https://github.com/actions/virtual-environments/blob/main/images/win/Windows2022-Readme.md | |
runs-on: windows-2022 | |
strategy: | |
matrix: | |
target: | |
- normal | |
- tournament | |
- evallearn | |
archcpu: | |
- "ZEN3,ZEN2,ZEN1,AVX512VNNI,AVXVNNI,AVX512,AVX2,SSE42" | |
- "SSE41,SSSE3,SSE2,NO_SSE" | |
- "OTHER" | |
edition: | |
- "YANEURAOU_ENGINE_NNUE_HALFKP_1024X2_8_32,YANEURAOU_ENGINE_NNUE,YANEURAOU_ENGINE_NNUE_HALFKP_VM_256X2_32_32,YANEURAOU_ENGINE_NNUE_HALFKPE9,YANEURAOU_ENGINE_NNUE_KP256" | |
- "YANEURAOU_ENGINE_KPPT,YANEURAOU_ENGINE_KPP_KKPT" | |
- YANEURAOU_MATE_ENGINE | |
- TANUKI_MATE_ENGINE | |
- USER_ENGINE | |
compiler: | |
- clang++ | |
- g++ | |
exclude: | |
# Release target exclude: edition USER_ENGINE | |
- edition: USER_ENGINE | |
# Release target exclude: compiler g++ normal/tournament | |
- compiler: g++ | |
target: normal | |
- compiler: g++ | |
target: tournament | |
# Release target exclude: compiler clang++ evallearn | |
- compiler: clang++ | |
target: evallearn | |
# Release target exclude: archcpu ZEN3,AVXVNNI,OTHER | |
# `-march=cascadelake`: LLVM8, GCC9 support (AVX512VNNI) | |
# `-march=alderlake` : LLVM12, GCC11 support (AVX-VNNI) | |
# `-march=znver3`: LLVM12, GCC11 support | |
- archcpu: "OTHER" | |
# Release target exclude: archcpu 'SSE41,SSSE3,SSE2,NO_SSE' and target 'tournament,evallearn' | |
- target: tournament | |
archcpu: "SSE41,SSSE3,SSE2,NO_SSE" | |
- target: evallearn | |
archcpu: "SSE41,SSSE3,SSE2,NO_SSE" | |
# 以下のエディションには機械学習の実装が存在しない | |
# There is no machine learning implementation for the following editions | |
- edition: YANEURAOU_MATE_ENGINE | |
target: evallearn | |
- edition: TANUKI_MATE_ENGINE | |
target: evallearn | |
- edition: USER_ENGINE | |
target: evallearn | |
# 以下のエディションは別途build | |
- edition: YANEURAOU_ENGINE_MATERIAL* | |
steps: | |
- name: Checkout own repository | |
uses: actions/checkout@v2 | |
with: | |
path: main | |
- name: Install pkg | |
run: | | |
$ErrorActionPreference = 'Continue' | |
C:\msys64\usr\bin\bash.exe -lc 'pacman --needed --noconfirm -Syuu' | |
C:\msys64\usr\bin\bash.exe -lc 'pacman --needed --noconfirm -Syuu' | |
C:\msys64\usr\bin\bash.exe -lc 'pacman --needed --noconfirm -Syuu pactoys' | |
C:\msys64\usr\bin\bash.exe -lc 'pacboy --needed --noconfirm -Syuu clang:m lld:m openblas:x openmp:x toolchain:m base-devel:' | |
$ErrorActionPreference = 'Stop' | |
- name: make | |
run: | | |
$env:PATH+=';C:\msys64'; | |
main\script\msys2_build.ps1 -Edition ${{ matrix.edition }} -Compiler ${{ matrix.compiler }} -Target ${{ matrix.target }} -Cpu ${{ matrix.archcpu }} | |
shell: pwsh | |
- uses: actions/upload-artifact@v2 | |
with: | |
name: build-windows_${{ github.run_number }}_${{ github.sha }} | |
path: main/build/**/* | |
build-msys2-material: | |
# windows-latest = windows-2019 => windows-2022 | |
# https://docs.github.com/ja/actions/using-github-hosted-runners/about-github-hosted-runners | |
# https://github.com/actions/virtual-environments/blob/main/images/win/Windows2019-Readme.md | |
# https://github.com/actions/virtual-environments/blob/main/images/win/Windows2022-Readme.md | |
runs-on: windows-2022 | |
strategy: | |
matrix: | |
target: | |
- normal | |
- tournament | |
- evallearn | |
archcpu: | |
- ZEN3 | |
- ZEN2 | |
- ZEN1 | |
- AVX2 | |
- SSE42 | |
- SSE2 | |
- NO_SSE | |
edition: | |
- "YANEURAOU_ENGINE_MATERIAL,YANEURAOU_ENGINE_MATERIAL9" | |
compiler: | |
- clang++ | |
- g++ | |
exclude: | |
# Release target exclude: edition USER_ENGINE | |
- edition: USER_ENGINE | |
# Release target exclude: compiler g++ normal/tournament | |
- compiler: g++ | |
target: normal | |
- compiler: g++ | |
target: tournament | |
# Release target exclude: compiler clang++ evallearn | |
- compiler: clang++ | |
target: evallearn | |
# Release target exclude: archcpu 'SSE2,NO_SSE' and target 'tournament,evallearn' | |
- target: tournament | |
archcpu: SSE2 | |
- target: evallearn | |
archcpu: SSE2 | |
- target: tournament | |
archcpu: NO_SSE | |
- target: evallearn | |
archcpu: NO_SSE | |
# 以下のエディションには機械学習の実装が存在しない | |
# There is no machine learning implementation for the following editions | |
- edition: YANEURAOU_MATE_ENGINE | |
target: evallearn | |
- edition: TANUKI_MATE_ENGINE | |
target: evallearn | |
- edition: USER_ENGINE | |
target: evallearn | |
steps: | |
- name: Checkout own repository | |
uses: actions/checkout@v2 | |
with: | |
path: main | |
- name: Install pkg | |
run: | | |
$ErrorActionPreference = 'Continue' | |
C:\msys64\usr\bin\bash.exe -lc 'pacman --needed --noconfirm -Syuu' | |
C:\msys64\usr\bin\bash.exe -lc 'pacman --needed --noconfirm -Syuu' | |
C:\msys64\usr\bin\bash.exe -lc 'pacman --needed --noconfirm -Syuu pactoys' | |
C:\msys64\usr\bin\bash.exe -lc 'pacboy --needed --noconfirm -Syuu clang:m lld:m openblas:x openmp:x toolchain:m base-devel:' | |
$ErrorActionPreference = 'Stop' | |
- name: make | |
run: | | |
$env:PATH+=';C:\msys64'; | |
main\script\msys2_build.ps1 -Edition ${{ matrix.edition }} -Compiler ${{ matrix.compiler }} -Target ${{ matrix.target }} -Cpu ${{ matrix.archcpu }} | |
shell: pwsh | |
- uses: actions/upload-artifact@v2 | |
with: | |
name: build-windows-material_${{ github.run_number }}_${{ github.sha }} | |
path: main/build/**/* | |
build-deep-windows: | |
# windows-latest = windows-2019 => windows-2022 | |
# https://docs.github.com/ja/actions/using-github-hosted-runners/about-github-hosted-runners | |
# https://github.com/actions/virtual-environments/blob/main/images/win/Windows2019-Readme.md | |
# https://github.com/actions/virtual-environments/blob/main/images/win/Windows2022-Readme.md | |
runs-on: windows-2022 | |
steps: | |
- uses: nuget/setup-nuget@v1 | |
with: | |
nuget-version: '5.x' | |
- uses: microsoft/setup-msbuild@v1 | |
- name: Checkout own repository | |
uses: actions/checkout@v2 | |
with: | |
path: main | |
- name: Install pkg | |
run: nuget.exe restore YaneuraOu.sln | |
working-directory: main | |
- name: make | |
run: | | |
MSBuild.exe /t:build /p:Configuration=Release-Deep-ORT-CPU /p:Platform=x64 | |
MSBuild.exe /t:build /p:Configuration=Release-Deep-ORT-DML /p:Platform=x64 | |
MSBuild.exe /t:build /p:Configuration=Release-Deep-ORT-TRT /p:Platform=x64 | |
working-directory: main | |
- uses: actions/upload-artifact@v2 | |
with: | |
name: build-deep-windows_${{ github.run_number }}_${{ github.sha }} | |
path: main/build/**/* | |
build-android-general: | |
# ubuntu-latest = ubuntu-20.04 | |
# https://docs.github.com/ja/actions/using-github-hosted-runners/about-github-hosted-runners | |
# https://github.com/actions/virtual-environments/blob/main/images/linux/Ubuntu2004-Readme.md | |
runs-on: ubuntu-20.04 | |
strategy: | |
matrix: | |
edition: | |
- YANEURAOU_ENGINE_NNUE | |
- YANEURAOU_ENGINE_NNUE_HALFKP_VM_256X2_32_32 | |
- YANEURAOU_ENGINE_NNUE_HALFKPE9 | |
- YANEURAOU_ENGINE_NNUE_KP256 | |
- YANEURAOU_ENGINE_KPPT | |
- YANEURAOU_ENGINE_KPP_KKPT | |
- "YANEURAOU_ENGINE_MATERIAL,YANEURAOU_ENGINE_MATERIAL9" | |
- YANEURAOU_MATE_ENGINE | |
- TANUKI_MATE_ENGINE | |
- USER_ENGINE | |
exclude: | |
# Release target exclude: edition USER_ENGINE | |
- edition: USER_ENGINE | |
steps: | |
- name: Setup Android NDK r23b | |
uses: nttld/setup-ndk@v1 | |
with: | |
ndk-version: r23b | |
- name: Checkout own repository | |
uses: actions/checkout@v2 | |
with: | |
path: main | |
- name: ndk-build | |
run: main/script/android_build.sh -e ${{ matrix.edition }} | |
- uses: actions/upload-artifact@v2 | |
with: | |
name: build-android_${{ github.run_number }}_${{ github.sha }} | |
path: main/build/**/* | |
build-macos-general: | |
# macos-11 | |
# https://docs.github.com/ja/actions/using-github-hosted-runners/about-github-hosted-runners | |
# https://github.com/actions/virtual-environments/blob/main/images/macos/macos-11-Readme.md | |
runs-on: macos-11 | |
strategy: | |
matrix: | |
edition: | |
- YANEURAOU_ENGINE_NNUE | |
- "YANEURAOU_ENGINE_NNUE_HALFKP_VM_256X2_32_32,YANEURAOU_ENGINE_NNUE_HALFKPE9,YANEURAOU_ENGINE_NNUE_KP256" | |
- "YANEURAOU_ENGINE_KPPT,YANEURAOU_ENGINE_KPP_KKPT" | |
- "YANEURAOU_ENGINE_MATERIAL,YANEURAOU_ENGINE_MATERIAL9" | |
- YANEURAOU_ENGINE_DEEP_COREML | |
- "YANEURAOU_MATE_ENGINE,TANUKI_MATE_ENGINE" | |
#- USER_ENGINE | |
compiler: | |
- clang++ | |
#- g++-11 | |
target: | |
- "normal,tournament" | |
archcpu: | |
- APPLEAVX2 | |
- APPLESSE42 | |
- APPLEM1 | |
exclude: | |
# Mac向けは g++-11 ではビルドしない | |
- compiler: g++-11 | |
archcpu: APPLEAVX2 | |
- compiler: g++-11 | |
archcpu: APPLESSE42 | |
- compiler: g++-11 | |
archcpu: APPLEM1 | |
steps: | |
- name: Checkout own repository | |
uses: actions/checkout@v2 | |
with: | |
path: main | |
- name: make | |
uses: actions/github-script@v5 | |
env: | |
JOBS: '8' | |
EDITION: '${{ matrix.edition }}' | |
COMPILER: '${{ matrix.compiler }}' | |
TARGET: '${{ matrix.target }}' | |
CPU: '${{ matrix.archcpu }}' | |
OS: 'macos11' | |
with: | |
script: | | |
const fs = require('fs'); | |
const {JOBS, EDITION, COMPILER, TARGET, CPU, OS, EXTRA} = process.env; | |
const editionh = { | |
"YANEURAOU_ENGINE_NNUE": "YANEURAOU_ENGINE_NNUE", | |
"YANEURAOU_ENGINE_NNUE_HALFKP_VM_256X2_32_32": "YANEURAOU_ENGINE_NNUE_HALFKP_VM_256X2_32_32", | |
"YANEURAOU_ENGINE_NNUE_HALFKPE9": "YANEURAOU_ENGINE_NNUE_HALFKPE9", | |
"YANEURAOU_ENGINE_NNUE_KP256": "YANEURAOU_ENGINE_NNUE_KP256", | |
"YANEURAOU_ENGINE_DEEP_TENSOR_RT": "YANEURAOU_ENGINE_DEEP_TENSOR_RT", | |
"YANEURAOU_ENGINE_KPPT": "YANEURAOU_ENGINE_KPPT", | |
"YANEURAOU_ENGINE_KPP_KKPT": "YANEURAOU_ENGINE_KPP_KKPT", | |
"YANEURAOU_ENGINE_MATERIAL": "YANEURAOU_ENGINE_MATERIAL", | |
"YANEURAOU_ENGINE_MATERIAL2": "YANEURAOU_ENGINE_MATERIAL MATERIAL_LEVEL=2", | |
"YANEURAOU_ENGINE_MATERIAL3": "YANEURAOU_ENGINE_MATERIAL MATERIAL_LEVEL=3", | |
"YANEURAOU_ENGINE_MATERIAL4": "YANEURAOU_ENGINE_MATERIAL MATERIAL_LEVEL=4", | |
"YANEURAOU_ENGINE_MATERIAL5": "YANEURAOU_ENGINE_MATERIAL MATERIAL_LEVEL=5", | |
"YANEURAOU_ENGINE_MATERIAL6": "YANEURAOU_ENGINE_MATERIAL MATERIAL_LEVEL=6", | |
"YANEURAOU_ENGINE_MATERIAL7": "YANEURAOU_ENGINE_MATERIAL MATERIAL_LEVEL=7", | |
"YANEURAOU_ENGINE_MATERIAL8": "YANEURAOU_ENGINE_MATERIAL MATERIAL_LEVEL=8", | |
"YANEURAOU_ENGINE_MATERIAL9": "YANEURAOU_ENGINE_MATERIAL MATERIAL_LEVEL=9", | |
"YANEURAOU_ENGINE_MATERIAL10": "YANEURAOU_ENGINE_MATERIAL MATERIAL_LEVEL=10", | |
"YANEURAOU_ENGINE_DEEP_COREML": "YANEURAOU_ENGINE_DEEP_COREML", | |
"YANEURAOU_MATE_ENGINE": "YANEURAOU_MATE_ENGINE", | |
"TANUKI_MATE_ENGINE": "TANUKI_MATE_ENGINE", | |
"USER_ENGINE": "USER_ENGINE", | |
}; | |
const dirh = { | |
"YANEURAOU_ENGINE_NNUE": "NNUE", | |
"YANEURAOU_ENGINE_NNUE_HALFKP_VM_256X2_32_32": "NNUE_HALFKP_VM", | |
"YANEURAOU_ENGINE_NNUE_HALFKPE9": "NNUE_HALFKPE9", | |
"YANEURAOU_ENGINE_NNUE_KP256": "NNUE_KP256", | |
"YANEURAOU_ENGINE_DEEP_TENSOR_RT": "DEEP_TRT", | |
"YANEURAOU_ENGINE_KPPT": "KPPT", | |
"YANEURAOU_ENGINE_KPP_KKPT": "KPP_KKPT", | |
"YANEURAOU_ENGINE_MATERIAL": "MaterialLv1", | |
"YANEURAOU_ENGINE_MATERIAL2": "MaterialLv2", | |
"YANEURAOU_ENGINE_MATERIAL3": "MaterialLv3", | |
"YANEURAOU_ENGINE_MATERIAL4": "MaterialLv4", | |
"YANEURAOU_ENGINE_MATERIAL5": "MaterialLv5", | |
"YANEURAOU_ENGINE_MATERIAL6": "MaterialLv6", | |
"YANEURAOU_ENGINE_MATERIAL7": "MaterialLv7", | |
"YANEURAOU_ENGINE_MATERIAL8": "MaterialLv8", | |
"YANEURAOU_ENGINE_MATERIAL9": "MaterialLv9", | |
"YANEURAOU_ENGINE_MATERIAL10": "MaterialLv10", | |
"YANEURAOU_ENGINE_DEEP_COREML": "FukauraOu_CoreML", | |
"YANEURAOU_MATE_ENGINE": "YaneuraOu_MATE", | |
"TANUKI_MATE_ENGINE": "tanuki_MATE", | |
"USER_ENGINE": "USER", | |
}; | |
const fileh = { | |
"YANEURAOU_ENGINE_NNUE": "YaneuraOu_NNUE", | |
"YANEURAOU_ENGINE_NNUE_HALFKP_VM_256X2_32_32": "YaneuraOu_NNUE_HALFKP_VM", | |
"YANEURAOU_ENGINE_NNUE_HALFKPE9": "YaneuraOu_NNUE_HalfKPE9", | |
"YANEURAOU_ENGINE_NNUE_KP256": "YaneuraOu_NNUE_KP256", | |
"YANEURAOU_ENGINE_DEEP_TENSOR_RT": "YaneuraOu_Deep_TRT", | |
"YANEURAOU_ENGINE_KPPT": "YaneuraOu_KPPT", | |
"YANEURAOU_ENGINE_KPP_KKPT": "YaneuraOu_KPP_KKPT", | |
"YANEURAOU_ENGINE_MATERIAL": "YaneuraOu_MaterialLv1", | |
"YANEURAOU_ENGINE_MATERIAL2": "YaneuraOu_MaterialLv2", | |
"YANEURAOU_ENGINE_MATERIAL3": "YaneuraOu_MaterialLv3", | |
"YANEURAOU_ENGINE_MATERIAL4": "YaneuraOu_MaterialLv4", | |
"YANEURAOU_ENGINE_MATERIAL5": "YaneuraOu_MaterialLv5", | |
"YANEURAOU_ENGINE_MATERIAL6": "YaneuraOu_MaterialLv6", | |
"YANEURAOU_ENGINE_MATERIAL7": "YaneuraOu_MaterialLv7", | |
"YANEURAOU_ENGINE_MATERIAL8": "YaneuraOu_MaterialLv8", | |
"YANEURAOU_ENGINE_MATERIAL9": "YaneuraOu_MaterialLv9", | |
"YANEURAOU_ENGINE_MATERIAL10": "YaneuraOu_MaterialLv10", | |
"YANEURAOU_ENGINE_DEEP_COREML": "FukauraOu_CoreML", | |
"YANEURAOU_MATE_ENGINE": "YaneuraOu_MATE", | |
"TANUKI_MATE_ENGINE": "tanuki_MATE", | |
"USER_ENGINE": "user", | |
}; | |
for(let edition of EDITION.split(',')) { | |
for(let compiler of COMPILER.split(',')) { | |
for(let target of TARGET.split(',')) { | |
for(let cpu of CPU.split(',')) { | |
const builddir = `../build/${OS}/${dirh[edition]}`; | |
const filename = `${fileh[edition]}-${OS}-${compiler}-${target}-${cpu.toLowerCase()}`; | |
let log = ''; | |
await io.mkdirP(`./main/source/${builddir}`); | |
await exec.exec('nice', `make -j${JOBS} ${target} TARGET_CPU=${cpu} YANEURAOU_EDITION=${editionh[edition]} COMPILER=${compiler} TARGET=${builddir}/${filename}`.split(' '), { | |
"cwd": "./main/source/", | |
listeners: { | |
stdout: (data) => { log += data.toString(); }, | |
stderr: (data) => { log += data.toString(); }, | |
} | |
}); | |
await exec.exec(`make`, `clean TARGET_CPU=${cpu} YANEURAOU_EDITION=${edition}`.split(' '), {"cwd": "./main/source/"}); | |
fs.writeFileSync(`./main/source/${builddir}/${filename}.log`, log); | |
}}}} | |
- uses: actions/upload-artifact@v2 | |
with: | |
name: build-macos_${{ github.run_number }}_${{ github.sha }} | |
path: main/build/**/**/* | |
build-msys2-suisho: | |
# windows-latest = windows-2019 => windows-2022 | |
# https://docs.github.com/ja/actions/using-github-hosted-runners/about-github-hosted-runners | |
# https://github.com/actions/virtual-environments/blob/main/images/win/Windows2019-Readme.md | |
# https://github.com/actions/virtual-environments/blob/main/images/win/Windows2022-Readme.md | |
runs-on: windows-2022 | |
strategy: | |
matrix: | |
target: | |
- tournament | |
archcpu: | |
- "AVX2,ZEN2,SSE42" | |
edition: | |
- YANEURAOU_ENGINE_NNUE | |
compiler: | |
- clang++ | |
steps: | |
- name: Set version | |
id: version | |
run: | | |
$GHREPOSITORY=('${{ github.repository }}' -replace '.*/','') | |
$GHVERSION=('${{ github.ref }}' -replace 'refs/tags/','') | |
"::set-output name=version::$GHVERSION" | |
"::set-output name=filename::$GHREPOSITORY-$GHVERSION" | |
- name: Checkout own repository | |
uses: actions/checkout@v2 | |
with: | |
path: main | |
- name: Install pkg | |
run: | | |
$ErrorActionPreference = 'Continue' | |
C:\msys64\usr\bin\bash.exe -lc 'pacman --needed --noconfirm -Syuu' | |
C:\msys64\usr\bin\bash.exe -lc 'pacman --needed --noconfirm -Syuu' | |
C:\msys64\usr\bin\bash.exe -lc 'pacman --needed --noconfirm -Syuu pactoys' | |
C:\msys64\usr\bin\bash.exe -lc 'pacboy --needed --noconfirm -Syuu clang:m lld:m openblas:x openmp:x toolchain:m base-devel:' | |
$ErrorActionPreference = 'Stop' | |
- name: suisho5 embedded_nnue | |
run: | | |
curl.exe -LRo main/source/eval/nnue/embedded_nnue.cpp.gz https://github.com/mizar/YaneuraOu/releases/download/resource/suisho5_20211123.halfkp.nnue.cpp.gz; | |
gzip.exe -df main/source/eval/nnue/embedded_nnue.cpp.gz; | |
- name: make | |
run: | | |
$env:PATH+=';C:\msys64'; | |
main\script\msys2_build.ps1 -Edition ${{ matrix.edition }} -Compiler ${{ matrix.compiler }} -Target ${{ matrix.target }} -Cpu ${{ matrix.archcpu }} -Extra 'EVAL_EMBEDDING=ON EXTRA_CPPFLAGS=''-DENGINE_OPTIONS=""\\""option=name=FV_SCALE=type=spin=default=24=min=1=max=128;option=name=BookFile=type=combo=default=no_book=var=no_book=var=standard_book.db=var=yaneura_book1.db=var=yaneura_book2.db=var=yaneura_book3.db=var=yaneura_book4.db=var=user_book1.db=var=user_book2.db=var=user_book3.db=var=book.bin\\""""'''; | |
shell: pwsh | |
- name: add resource | |
run: | | |
echo 'Suisho5(20211123)-${{ steps.version.outputs.filename }}' > main/build/windows/NNUE/engine_name.txt; | |
echo 'yaneurao, tayayan' >> main/build/windows/NNUE/engine_name.txt; | |
- uses: actions/upload-artifact@v2 | |
with: | |
name: build-windows-suisho_${{ github.run_number }}_${{ github.sha }} | |
path: main/build/**/* | |
build-android-suisho: | |
# ubuntu-latest = ubuntu-20.04 | |
# https://docs.github.com/ja/actions/using-github-hosted-runners/about-github-hosted-runners | |
# https://github.com/actions/virtual-environments/blob/main/images/linux/Ubuntu2004-Readme.md | |
runs-on: ubuntu-20.04 | |
strategy: | |
matrix: | |
edition: | |
- YANEURAOU_ENGINE_NNUE | |
steps: | |
- name: Set version | |
id: version | |
run: | | |
REPOSITORY=$(echo ${{ github.repository }} | sed -e "s#.*/##") | |
VERSION=$(echo ${{ github.ref }} | sed -e "s#refs/tags/##g") | |
echo ::set-output name=version::$VERSION | |
echo ::set-output name=filename::$REPOSITORY-$VERSION | |
- name: Setup Android NDK r23b | |
uses: nttld/setup-ndk@v1 | |
with: | |
ndk-version: r23b | |
- name: Checkout own repository | |
uses: actions/checkout@v2 | |
with: | |
path: main | |
- name: suisho5 embedded_nnue | |
run: | | |
curl -LRo main/source/eval/nnue/embedded_nnue.cpp.gz https://github.com/mizar/YaneuraOu/releases/download/resource/suisho5_20211123.halfkp.nnue.cpp.gz; | |
gzip -df main/source/eval/nnue/embedded_nnue.cpp.gz; | |
- name: ndk-build | |
run: main/script/android_build.sh -e ${{ matrix.edition }} -x 'EVAL_EMBEDDING=ON EXTRA_CPPFLAGS=''-DENGINE_OPTIONS="\"option=name=FV_SCALE=type=spin=default=24=min=1=max=128;option=name=BookFile=type=combo=default=no_book=var=no_book=var=standard_book.db=var=yaneura_book1.db=var=yaneura_book2.db=var=yaneura_book3.db=var=yaneura_book4.db=var=user_book1.db=var=user_book2.db=var=user_book3.db=var=book.bin\""''' | |
- name: add resource | |
run: | | |
echo 'Suisho5(20211123)-${{ steps.version.outputs.filename }}' > main/build/android/NNUE/engine_name.txt; | |
echo 'yaneurao, tayayan' >> main/build/android/NNUE/engine_name.txt; | |
- uses: actions/upload-artifact@v2 | |
with: | |
name: build-android-suisho_${{ github.run_number }}_${{ github.sha }} | |
path: main/build/**/* | |
build-macos-suisho: | |
# macos-11 | |
# https://docs.github.com/ja/actions/using-github-hosted-runners/about-github-hosted-runners | |
# https://github.com/actions/virtual-environments/blob/main/images/macos/macos-11-Readme.md | |
runs-on: macos-11 | |
strategy: | |
matrix: | |
edition: | |
- YANEURAOU_ENGINE_NNUE | |
compiler: | |
- clang++ | |
#- g++-11 | |
target: | |
#- normal | |
- tournament | |
archcpu: | |
#- AVX2 | |
#- SSE42 | |
- APPLEAVX2 | |
- APPLESSE42 | |
- APPLEM1 | |
exclude: | |
# M1 Mac向けは g++-11 ではビルドしない | |
- compiler: g++-11 | |
archcpu: APPLEAVX2 | |
- compiler: g++-11 | |
archcpu: APPLESSE42 | |
- compiler: g++-11 | |
archcpu: APPLEM1 | |
steps: | |
- name: Checkout own repository | |
uses: actions/checkout@v2 | |
with: | |
path: main | |
- name: suisho5 embedded_nnue | |
run: | | |
curl -LRo main/source/eval/nnue/embedded_nnue.cpp.gz https://github.com/mizar/YaneuraOu/releases/download/resource/suisho5_20211123.halfkp.nnue.cpp.gz; | |
gzip -df main/source/eval/nnue/embedded_nnue.cpp.gz; | |
- name: make | |
uses: actions/github-script@v5 | |
env: | |
JOBS: '8' | |
EDITION: '${{ matrix.edition }}' | |
COMPILER: '${{ matrix.compiler }}' | |
TARGET: '${{ matrix.target }}' | |
CPU: '${{ matrix.archcpu }}' | |
OS: 'macos11' | |
with: | |
script: | | |
const fs = require('fs'); | |
const {JOBS, EDITION, COMPILER, TARGET, CPU, OS, EXTRA} = process.env; | |
const editionh = { | |
"YANEURAOU_ENGINE_NNUE": "YANEURAOU_ENGINE_NNUE", | |
"YANEURAOU_ENGINE_NNUE_HALFKP_VM_256X2_32_32": "YANEURAOU_ENGINE_NNUE_HALFKP_VM_256X2_32_32", | |
"YANEURAOU_ENGINE_NNUE_HALFKPE9": "YANEURAOU_ENGINE_NNUE_HALFKPE9", | |
"YANEURAOU_ENGINE_NNUE_KP256": "YANEURAOU_ENGINE_NNUE_KP256", | |
}; | |
const dirh = { | |
"YANEURAOU_ENGINE_NNUE": "NNUE", | |
"YANEURAOU_ENGINE_NNUE_HALFKP_VM_256X2_32_32": "NNUE_HALFKP_VM", | |
"YANEURAOU_ENGINE_NNUE_HALFKPE9": "NNUE_HALFKPE9", | |
"YANEURAOU_ENGINE_NNUE_KP256": "NNUE_KP256", | |
}; | |
const fileh = { | |
"YANEURAOU_ENGINE_NNUE": "Suisho5_YaneuraOu", | |
"YANEURAOU_ENGINE_NNUE_HALFKP_VM_256X2_32_32": "YaneuraOu_NNUE_HALFKP_VM", | |
"YANEURAOU_ENGINE_NNUE_HALFKPE9": "YaneuraOu_NNUE_HalfKPE9", | |
"YANEURAOU_ENGINE_NNUE_KP256": "YaneuraOu_NNUE_KP256", | |
}; | |
for(let edition of EDITION.split(',')) { | |
for(let compiler of COMPILER.split(',')) { | |
for(let target of TARGET.split(',')) { | |
for(let cpu of CPU.split(',')) { | |
const builddir = `../build/${OS}/${dirh[edition]}`; | |
const filename = `${fileh[edition]}-${OS}-${compiler}-${target}-${cpu.toLowerCase()}`; | |
let log = ''; | |
await io.mkdirP(`./main/source/${builddir}`); | |
await exec.exec('nice', `make -j${JOBS} ${target} TARGET_CPU=${cpu} YANEURAOU_EDITION=${editionh[edition]} COMPILER=${compiler} TARGET=${builddir}/${filename} EVAL_EMBEDDING=ON EXTRA_CPPFLAGS='-DENGINE_OPTIONS=\\\\\"\\\"option=name=FV_SCALE=type=spin=default=24=min=1=max=128\\;option=name=BookFile=type=combo=default=no_book=var=no_book=var=standard_book.db=var=yaneura_book1.db=var=yaneura_book2.db=var=yaneura_book3.db=var=yaneura_book4.db=var=user_book1.db=var=user_book2.db=var=user_book3.db=var=book.bin\\\\\\\"\"'`.split(' '), { | |
"cwd": "./main/source/", | |
listeners: { | |
stdout: (data) => { log += data.toString(); }, | |
stderr: (data) => { log += data.toString(); }, | |
} | |
}); | |
await exec.exec(`make`, `clean TARGET_CPU=${cpu} YANEURAOU_EDITION=${edition} EVAL_EMBEDDING=ON`.split(' '), {"cwd": "./main/source/"}); | |
fs.writeFileSync(`./main/source/${builddir}/${filename}.log`, log); | |
}}}} | |
- name: add resource | |
run: | | |
echo 'Suisho5(20211123)-YaneuraOu' > main/build/macos11/NNUE/engine_name.txt; | |
echo 'yaneurao, tayayan' >> main/build/macos11/NNUE/engine_name.txt; | |
- uses: actions/upload-artifact@v2 | |
with: | |
name: build-macos-suisho_${{ github.run_number }}_${{ github.sha }} | |
path: main/build/**/**/* | |
build-wasm: | |
# ubuntu-latest = ubuntu-20.04 | |
# https://docs.github.com/ja/actions/using-github-hosted-runners/about-github-hosted-runners | |
# https://github.com/actions/virtual-environments/blob/main/images/linux/Ubuntu2004-Readme.md | |
runs-on: ubuntu-20.04 | |
strategy: | |
matrix: | |
edition: | |
- halfkp.noeval | |
- halfkpe9.noeval | |
- halfkpvm.noeval | |
- k-p.noeval | |
- material | |
- material9 | |
- yaneuraou-mate | |
- tanuki-mate | |
steps: | |
- name: Checkout own repository | |
uses: actions/checkout@v2 | |
with: | |
path: main | |
- name: docker pull | |
run: | | |
docker pull emscripten/emsdk:3.1.43 | |
- name: build wasm | |
run: | | |
docker run --rm -v ${PWD}/main:/src emscripten/emsdk:3.1.43 node script/wasm_build.js ${{ matrix.edition }} | |
- uses: actions/upload-artifact@v2 | |
with: | |
name: build-wasm_${{ github.run_number }}_${{ github.sha }} | |
path: ./main/build/**/**/* | |
build-wasm-suisho: | |
# ubuntu-latest = ubuntu-20.04 | |
# https://docs.github.com/ja/actions/using-github-hosted-runners/about-github-hosted-runners | |
# https://github.com/actions/virtual-environments/blob/main/images/linux/Ubuntu2004-Readme.md | |
runs-on: ubuntu-20.04 | |
strategy: | |
matrix: | |
edition: | |
- halfkp | |
steps: | |
- name: Checkout own repository | |
uses: actions/checkout@v2 | |
with: | |
path: main | |
- name: docker pull | |
run: | | |
docker pull emscripten/emsdk:3.1.43 | |
- name: build wasm | |
run: | | |
docker run --rm -v ${PWD}/main:/src emscripten/emsdk:3.1.43 node script/wasm_build.js ${{ matrix.edition }} | |
- uses: actions/upload-artifact@v2 | |
with: | |
name: build-wasm-suisho_${{ github.run_number }}_${{ github.sha }} | |
path: ./main/build/**/**/* | |
build-wasm-suishopetite: | |
# ubuntu-latest = ubuntu-20.04 | |
# https://docs.github.com/ja/actions/using-github-hosted-runners/about-github-hosted-runners | |
# https://github.com/actions/virtual-environments/blob/main/images/linux/Ubuntu2004-Readme.md | |
runs-on: ubuntu-20.04 | |
strategy: | |
matrix: | |
edition: | |
- k-p | |
steps: | |
- name: Checkout own repository | |
uses: actions/checkout@v2 | |
with: | |
path: main | |
- name: docker pull | |
run: | | |
docker pull emscripten/emsdk:3.1.43 | |
- name: build wasm | |
run: | | |
docker run --rm -v ${PWD}/main:/src emscripten/emsdk:3.1.43 node script/wasm_build.js ${{ matrix.edition }} | |
- uses: actions/upload-artifact@v2 | |
with: | |
name: build-wasm-suishopetite_${{ github.run_number }}_${{ github.sha }} | |
path: ./main/build/**/**/* | |
archive-msys2-general: | |
runs-on: ubuntu-20.04 | |
needs: | |
- build-msys2-general | |
steps: | |
- name: Set version | |
id: version | |
run: | | |
REPOSITORY=$(echo ${{ github.repository }} | sed -e "s#.*/##") | |
VERSION=$(echo ${{ github.ref }} | sed -e "s#refs/tags/##g") | |
echo ::set-output name=version::$VERSION | |
echo ::set-output name=filename::$REPOSITORY-$VERSION | |
- uses: actions/checkout@v2 | |
with: | |
path: main | |
- name: Download artifact to get build-windows | |
uses: actions/download-artifact@v2 | |
with: | |
name: build-windows_${{ github.run_number }}_${{ github.sha }} | |
path: release | |
- name: copy docs | |
run: | | |
cp main/Copying.txt release/windows | |
cp -r main/docs release/windows | |
tar -Jcf release/windows/source.tar.xz -C main source | |
- name: Display structure of downloaded files | |
run: ls -R release | |
- name: make build-windows zip/7z | |
run: | | |
7z a -tzip build-windows.zip windows | |
7z a -t7z build-windows.7z windows | |
working-directory: release | |
- uses: actions/upload-artifact@v2 | |
with: | |
name: archive-windows_${{ github.run_number }}_${{ github.sha }} | |
path: | | |
release/*.zip | |
release/*.7z | |
archive-msys2-material: | |
runs-on: ubuntu-20.04 | |
needs: | |
- build-msys2-material | |
steps: | |
- name: Set version | |
id: version | |
run: | | |
REPOSITORY=$(echo ${{ github.repository }} | sed -e "s#.*/##") | |
VERSION=$(echo ${{ github.ref }} | sed -e "s#refs/tags/##g") | |
echo ::set-output name=version::$VERSION | |
echo ::set-output name=filename::$REPOSITORY-$VERSION | |
- uses: actions/checkout@v2 | |
with: | |
path: main | |
- name: Download artifact to get build-windows-material | |
uses: actions/download-artifact@v2 | |
with: | |
name: build-windows-material_${{ github.run_number }}_${{ github.sha }} | |
path: release | |
- name: copy docs | |
run: | | |
cp main/Copying.txt release/windows | |
cp -r main/docs release/windows | |
tar -Jcf release/windows/source.tar.xz -C main source | |
- name: Display structure of downloaded files | |
run: ls -R release | |
- name: make build-windows zip/7z | |
run: | | |
7z a -tzip build-windows-material.zip windows | |
7z a -t7z build-windows-material.7z windows | |
working-directory: release | |
- uses: actions/upload-artifact@v2 | |
with: | |
name: archive-windows-material_${{ github.run_number }}_${{ github.sha }} | |
path: | | |
release/*.zip | |
release/*.7z | |
archive-msys2-suisho: | |
runs-on: ubuntu-20.04 | |
needs: | |
- build-msys2-suisho | |
steps: | |
- name: Set version | |
id: version | |
run: | | |
REPOSITORY=$(echo ${{ github.repository }} | sed -e "s#.*/##") | |
VERSION=$(echo ${{ github.ref }} | sed -e "s#refs/tags/##g") | |
echo ::set-output name=version::$VERSION | |
echo ::set-output name=filename::$REPOSITORY-$VERSION | |
- uses: actions/checkout@v2 | |
with: | |
path: main | |
- name: Download artifact to get build-windows-suisho | |
uses: actions/download-artifact@v2 | |
with: | |
name: build-windows-suisho_${{ github.run_number }}_${{ github.sha }} | |
path: release | |
- name: copy docs | |
run: | | |
cp main/Copying.txt release/windows/NNUE | |
cp -r main/docs release/windows/NNUE | |
curl -LRo main/source/eval/nnue/embedded_nnue.cpp.gz https://github.com/mizar/YaneuraOu/releases/download/resource/suisho5_20211123.halfkp.nnue.cpp.gz; | |
gzip -df main/source/eval/nnue/embedded_nnue.cpp.gz; | |
tar -Jcf release/windows/NNUE/source.tar.xz -C main source | |
- name: Display structure of downloaded files | |
run: ls -R release | |
- name: make build-windows-suisho zip/7z | |
run: | | |
7z a -tzip ../../build-windows-suisho.zip * | |
7z a -t7z ../../build-windows-suisho.7z * | |
working-directory: release/windows/NNUE | |
- uses: actions/upload-artifact@v2 | |
with: | |
name: archive-windows-suisho_${{ github.run_number }}_${{ github.sha }} | |
path: | | |
release/*.zip | |
release/*.7z | |
archive-deep-windows: | |
runs-on: ubuntu-20.04 | |
needs: | |
- build-deep-windows | |
steps: | |
- name: Set version | |
id: version | |
run: | | |
REPOSITORY=$(echo ${{ github.repository }} | sed -e "s#.*/##") | |
VERSION=$(echo ${{ github.ref }} | sed -e "s#refs/tags/##g") | |
echo ::set-output name=version::$VERSION | |
echo ::set-output name=filename::$REPOSITORY-$VERSION | |
- uses: actions/checkout@v2 | |
with: | |
path: main | |
- name: Download artifact to get build-deep-windows | |
uses: actions/download-artifact@v2 | |
with: | |
name: build-deep-windows_${{ github.run_number }}_${{ github.sha }} | |
path: release | |
- name: copy docs | |
run: | | |
cp main/Copying.txt release | |
cp -r main/docs release | |
tar -Jcf release/source.tar.xz -C main source | |
- name: Display structure of downloaded files | |
run: ls -R release | |
- name: make build-deep-windows zip/7z | |
run: | | |
7z a -tzip build-deep-windows.zip * | |
7z a -t7z build-deep-windows.7z * | |
working-directory: release | |
- uses: actions/upload-artifact@v2 | |
with: | |
name: archive-deep-windows_${{ github.run_number }}_${{ github.sha }} | |
path: | | |
release/*.zip | |
release/*.7z | |
archive-android-general: | |
runs-on: ubuntu-20.04 | |
needs: | |
- build-android-general | |
steps: | |
- name: Set version | |
id: version | |
run: | | |
REPOSITORY=$(echo ${{ github.repository }} | sed -e "s#.*/##") | |
VERSION=$(echo ${{ github.ref }} | sed -e "s#refs/tags/##g") | |
echo ::set-output name=version::$VERSION | |
echo ::set-output name=filename::$REPOSITORY-$VERSION | |
- uses: actions/checkout@v2 | |
with: | |
path: main | |
- name: Download artifact to get build-android | |
uses: actions/download-artifact@v2 | |
with: | |
name: build-android_${{ github.run_number }}_${{ github.sha }} | |
path: release | |
- name: copy docs | |
run: | | |
cp main/Copying.txt release/android | |
cp -r main/docs release/android | |
tar -Jcf release/android/source.tar.xz -C main source | |
- name: Display structure of downloaded files | |
run: ls -R release | |
- name: make build-android zip/7z | |
run: | | |
7z a -tzip build-android.zip android | |
7z a -t7z build-android.7z android | |
working-directory: release | |
- uses: actions/upload-artifact@v2 | |
with: | |
name: archive-android_${{ github.run_number }}_${{ github.sha }} | |
path: | | |
release/*.zip | |
release/*.7z | |
archive-android-suisho: | |
runs-on: ubuntu-20.04 | |
needs: | |
- build-android-suisho | |
steps: | |
- name: Set version | |
id: version | |
run: | | |
REPOSITORY=$(echo ${{ github.repository }} | sed -e "s#.*/##") | |
VERSION=$(echo ${{ github.ref }} | sed -e "s#refs/tags/##g") | |
echo ::set-output name=version::$VERSION | |
echo ::set-output name=filename::$REPOSITORY-$VERSION | |
- uses: actions/checkout@v2 | |
with: | |
path: main | |
- name: Download artifact to get build-android-suisho | |
uses: actions/download-artifact@v2 | |
with: | |
name: build-android-suisho_${{ github.run_number }}_${{ github.sha }} | |
path: release | |
- name: copy docs | |
run: | | |
cp main/Copying.txt release/android/NNUE | |
cp -r main/docs release/android/NNUE | |
curl -LRo main/source/eval/nnue/embedded_nnue.cpp.gz https://github.com/mizar/YaneuraOu/releases/download/resource/suisho5_20211123.halfkp.nnue.cpp.gz; | |
gzip -df main/source/eval/nnue/embedded_nnue.cpp.gz; | |
tar -Jcf release/android/NNUE/source.tar.xz -C main source | |
- name: Display structure of downloaded files | |
run: ls -R release | |
- name: make build-android-suisho zip/7z | |
run: | | |
7z a -tzip ../../build-android-suisho.zip * | |
7z a -t7z ../../build-android-suisho.7z * | |
working-directory: release/android/NNUE | |
- uses: actions/upload-artifact@v2 | |
with: | |
name: archive-android-suisho_${{ github.run_number }}_${{ github.sha }} | |
path: | | |
release/*.zip | |
release/*.7z | |
archive-macos-general: | |
runs-on: macos-11 | |
needs: | |
- build-macos-general | |
steps: | |
- name: Set version | |
id: version | |
run: | | |
REPOSITORY=$(echo ${{ github.repository }} | sed -e "s#.*/##") | |
VERSION=$(echo ${{ github.ref }} | sed -e "s#refs/tags/##g") | |
echo ::set-output name=version::$VERSION | |
echo ::set-output name=filename::$REPOSITORY-$VERSION | |
- uses: actions/checkout@v2 | |
with: | |
path: main | |
- name: Download artifact to get build-macos | |
uses: actions/download-artifact@v2 | |
with: | |
name: build-macos_${{ github.run_number }}_${{ github.sha }} | |
path: release | |
- name: set executable | |
run: | | |
find release|grep ++|grep -v \.log|xargs -I _file_ chmod +x _file_ | |
- name: copy docs | |
run: | | |
cp main/Copying.txt release/macos11 | |
cp -r main/docs release/macos11 | |
tar -Jcf release/macos11/source.tar.xz -C main source | |
- name: Display structure of downloaded files | |
run: ls -R release | |
- name: make build-macos .tar.xz | |
run: | | |
tar -Jcf build-macos.tar.xz macos11 | |
working-directory: release | |
- uses: actions/upload-artifact@v2 | |
with: | |
name: archive-macos_${{ github.run_number }}_${{ github.sha }} | |
path: | | |
release/*.tar.xz | |
archive-macos-suisho: | |
runs-on: macos-11 | |
needs: | |
- build-macos-suisho | |
steps: | |
- name: Set version | |
id: version | |
run: | | |
REPOSITORY=$(echo ${{ github.repository }} | sed -e "s#.*/##") | |
VERSION=$(echo ${{ github.ref }} | sed -e "s#refs/tags/##g") | |
echo ::set-output name=version::$VERSION | |
echo ::set-output name=filename::$REPOSITORY-$VERSION | |
- uses: actions/checkout@v2 | |
with: | |
path: main | |
- name: Download artifact to get build-macos-suisho | |
uses: actions/download-artifact@v2 | |
with: | |
name: build-macos-suisho_${{ github.run_number }}_${{ github.sha }} | |
path: release | |
- name: set executable | |
run: | | |
find release|grep ++|grep -v \.log|xargs -I _file_ chmod +x _file_ | |
- name: copy docs | |
run: | | |
cp main/Copying.txt release/macos11/NNUE | |
cp -r main/docs release/macos11/NNUE | |
curl -LRo main/source/eval/nnue/embedded_nnue.cpp.gz https://github.com/mizar/YaneuraOu/releases/download/resource/suisho5_20211123.halfkp.nnue.cpp.gz; | |
gzip -df main/source/eval/nnue/embedded_nnue.cpp.gz; | |
tar -Jcf release/macos11/NNUE/source.tar.xz -C main source | |
- name: Display structure of downloaded files | |
run: ls -R release | |
- name: make build-macos-suisho .tar.xz | |
run: | | |
tar -Jcf ../../build-macos-suisho.tar.xz * | |
working-directory: release/macos11/NNUE | |
- uses: actions/upload-artifact@v2 | |
with: | |
name: archive-macos-suisho_${{ github.run_number }}_${{ github.sha }} | |
path: | | |
release/*.tar.xz | |
archive-wasm: | |
runs-on: ubuntu-20.04 | |
needs: | |
- build-wasm | |
steps: | |
- name: Set version | |
id: version | |
run: | | |
REPOSITORY=$(echo ${{ github.repository }} | sed -e "s#.*/##") | |
VERSION=$(echo ${{ github.ref }} | sed -e "s#refs/tags/##g") | |
echo ::set-output name=version::$VERSION | |
echo ::set-output name=filename::$REPOSITORY-$VERSION | |
- uses: actions/checkout@v2 | |
with: | |
path: main | |
- name: Download artifact to get build-wasm | |
uses: actions/download-artifact@v2 | |
with: | |
name: build-wasm_${{ github.run_number }}_${{ github.sha }} | |
path: release | |
- name: copy docs | |
run: | | |
cp main/Copying.txt release/wasm | |
cp -r main/docs release/wasm | |
tar -Jcf release/wasm/source.tar.xz -C main source | |
- name: Display structure of downloaded files | |
run: ls -R release | |
- name: make build-wasm zip/7z | |
run: | | |
7z a -tzip build-wasm.zip wasm | |
7z a -t7z build-wasm.7z wasm | |
working-directory: release | |
- uses: actions/upload-artifact@v2 | |
with: | |
name: archive-wasm_${{ github.run_number }}_${{ github.sha }} | |
path: | | |
release/*.zip | |
release/*.7z | |
archive-wasm-suisho: | |
runs-on: ubuntu-20.04 | |
needs: | |
- build-wasm-suisho | |
steps: | |
- name: Set version | |
id: version | |
run: | | |
REPOSITORY=$(echo ${{ github.repository }} | sed -e "s#.*/##") | |
VERSION=$(echo ${{ github.ref }} | sed -e "s#refs/tags/##g") | |
echo ::set-output name=version::$VERSION | |
echo ::set-output name=filename::$REPOSITORY-$VERSION | |
- uses: actions/checkout@v2 | |
with: | |
path: main | |
- name: Download artifact to get build-wasm-suisho | |
uses: actions/download-artifact@v2 | |
with: | |
name: build-wasm-suisho_${{ github.run_number }}_${{ github.sha }} | |
path: release | |
- name: copy docs | |
run: | | |
cp main/Copying.txt release/wasm | |
cp -r main/docs release/wasm | |
curl -LRo main/source/eval/nnue/embedded_nnue.cpp.gz https://github.com/mizar/YaneuraOu/releases/download/resource/suisho5_20211123.halfkp.nnue.cpp.gz; | |
gzip -df main/source/eval/nnue/embedded_nnue.cpp.gz; | |
tar -Jcf release/wasm/source.tar.xz -C main source | |
- name: Display structure of downloaded files | |
run: ls -R release | |
- name: make build-wasm zip/7z | |
run: | | |
7z a -tzip build-wasm-suisho.zip wasm | |
7z a -t7z build-wasm-suisho.7z wasm | |
working-directory: release | |
- uses: actions/upload-artifact@v2 | |
with: | |
name: archive-wasm-suisho_${{ github.run_number }}_${{ github.sha }} | |
path: | | |
release/*.zip | |
release/*.7z | |
archive-wasm-suishopetite: | |
runs-on: ubuntu-20.04 | |
needs: | |
- build-wasm-suishopetite | |
steps: | |
- name: Set version | |
id: version | |
run: | | |
REPOSITORY=$(echo ${{ github.repository }} | sed -e "s#.*/##") | |
VERSION=$(echo ${{ github.ref }} | sed -e "s#refs/tags/##g") | |
echo ::set-output name=version::$VERSION | |
echo ::set-output name=filename::$REPOSITORY-$VERSION | |
- uses: actions/checkout@v2 | |
with: | |
path: main | |
- name: Download artifact to get build-wasm-suishopetite | |
uses: actions/download-artifact@v2 | |
with: | |
name: build-wasm-suishopetite_${{ github.run_number }}_${{ github.sha }} | |
path: release | |
- name: copy docs | |
run: | | |
cp main/Copying.txt release/wasm | |
cp -r main/docs release/wasm | |
curl -LRo main/source/eval/nnue/embedded_nnue.cpp.gz https://github.com/mizar/YaneuraOu/releases/download/resource/suishopetite_20211123.k_p.nnue.cpp.gz; | |
gzip -df main/source/eval/nnue/embedded_nnue.cpp.gz; | |
tar -Jcf release/wasm/source.tar.xz -C main source | |
- name: Display structure of downloaded files | |
run: ls -R release | |
- name: make build-wasm zip/7z | |
run: | | |
7z a -tzip build-wasm-suishopetite.zip wasm | |
7z a -t7z build-wasm-suishopetite.7z wasm | |
working-directory: release | |
- uses: actions/upload-artifact@v2 | |
with: | |
name: archive-wasm-suishopetite_${{ github.run_number }}_${{ github.sha }} | |
path: | | |
release/*.zip | |
release/*.7z | |
release-pkg: | |
name: Release package | |
needs: | |
- archive-msys2-general | |
- archive-msys2-material | |
- archive-msys2-suisho | |
- archive-deep-windows | |
- archive-android-general | |
- archive-android-suisho | |
- archive-macos-general | |
- archive-macos-suisho | |
- archive-wasm | |
- archive-wasm-suisho | |
- archive-wasm-suishopetite | |
# ubuntu-latest = ubuntu-20.04 | |
# https://docs.github.com/ja/actions/using-github-hosted-runners/about-github-hosted-runners | |
# https://github.com/actions/virtual-environments/blob/main/images/linux/Ubuntu2004-Readme.md | |
runs-on: ubuntu-20.04 | |
steps: | |
- name: Set version | |
id: version | |
run: | | |
REPOSITORY=$(echo ${{ github.repository }} | sed -e "s#.*/##") | |
VERSION=$(echo ${{ github.ref }} | sed -e "s#refs/tags/##g") | |
echo ::set-output name=version::$VERSION | |
echo ::set-output name=filename::$REPOSITORY-$VERSION | |
- uses: actions/checkout@v2 | |
with: | |
path: main | |
- name: Download artifact to get build-windows | |
uses: actions/download-artifact@v2 | |
with: | |
name: archive-windows_${{ github.run_number }}_${{ github.sha }} | |
path: release-windows | |
- name: Download artifact to get build-windows-material | |
uses: actions/download-artifact@v2 | |
with: | |
name: archive-windows-material_${{ github.run_number }}_${{ github.sha }} | |
path: release-windows-material | |
- name: Download artifact to get build-windows-suisho | |
uses: actions/download-artifact@v2 | |
with: | |
name: archive-windows-suisho_${{ github.run_number }}_${{ github.sha }} | |
path: release-windows-suisho | |
- name: Download artifact to get build-deep-windows | |
uses: actions/download-artifact@v2 | |
with: | |
name: archive-deep-windows_${{ github.run_number }}_${{ github.sha }} | |
path: release-deep-windows | |
- name: Download artifact to get build-android | |
uses: actions/download-artifact@v2 | |
with: | |
name: archive-android_${{ github.run_number }}_${{ github.sha }} | |
path: release-android | |
- name: Download artifact to get build-android-suisho | |
uses: actions/download-artifact@v2 | |
with: | |
name: archive-android-suisho_${{ github.run_number }}_${{ github.sha }} | |
path: release-android-suisho | |
- name: Download artifact to get build-macos | |
uses: actions/download-artifact@v2 | |
with: | |
name: archive-macos_${{ github.run_number }}_${{ github.sha }} | |
path: release-macos | |
- name: Download artifact to get build-macos-suisho | |
uses: actions/download-artifact@v2 | |
with: | |
name: archive-macos-suisho_${{ github.run_number }}_${{ github.sha }} | |
path: release-macos-suisho | |
- name: Download artifact to get build-wasm | |
uses: actions/download-artifact@v2 | |
with: | |
name: archive-wasm_${{ github.run_number }}_${{ github.sha }} | |
path: release-wasm | |
- name: Download artifact to get build-wasm-suisho | |
uses: actions/download-artifact@v2 | |
with: | |
name: archive-wasm-suisho_${{ github.run_number }}_${{ github.sha }} | |
path: release-wasm-suisho | |
- name: Download artifact to get build-wasm-suishopetite | |
uses: actions/download-artifact@v2 | |
with: | |
name: archive-wasm-suishopetite_${{ github.run_number }}_${{ github.sha }} | |
path: release-wasm-suishopetite | |
- name: Display structure of downloaded files | |
run: ls -R release-windows release-windows-material release-windows-suisho release-deep-windows release-android release-android-suisho release-macos-suisho release-macos-suisho release-wasm | |
- name: Archive Size | |
id: archive_size | |
run: | | |
echo ::set-output name=windows_zip::$(stat -c%s "release-windows/build-windows.zip" | awk '{ split( "B KB MB GB TB PB" , v ); s=1; while( $1>1024 ){ $1/=1024; s++ } printf "%.2f %s", $1, v[s] }') | |
echo ::set-output name=windows_7z::$(stat -c%s "release-windows/build-windows.7z" | awk '{ split( "B KB MB GB TB PB" , v ); s=1; while( $1>1024 ){ $1/=1024; s++ } printf "%.2f %s", $1, v[s] }') | |
echo ::set-output name=windows_material_zip::$(stat -c%s "release-windows-material/build-windows-material.zip" | awk '{ split( "B KB MB GB TB PB" , v ); s=1; while( $1>1024 ){ $1/=1024; s++ } printf "%.2f %s", $1, v[s] }') | |
echo ::set-output name=windows_material_7z::$(stat -c%s "release-windows-material/build-windows-material.7z" | awk '{ split( "B KB MB GB TB PB" , v ); s=1; while( $1>1024 ){ $1/=1024; s++ } printf "%.2f %s", $1, v[s] }') | |
echo ::set-output name=windows_suisho_zip::$(stat -c%s "release-windows-suisho/build-windows-suisho.zip" | awk '{ split( "B KB MB GB TB PB" , v ); s=1; while( $1>1024 ){ $1/=1024; s++ } printf "%.2f %s", $1, v[s] }') | |
echo ::set-output name=windows_suisho_7z::$(stat -c%s "release-windows-suisho/build-windows-suisho.7z" | awk '{ split( "B KB MB GB TB PB" , v ); s=1; while( $1>1024 ){ $1/=1024; s++ } printf "%.2f %s", $1, v[s] }') | |
echo ::set-output name=deep_windows_zip::$(stat -c%s "release-deep-windows/build-deep-windows.zip" | awk '{ split( "B KB MB GB TB PB" , v ); s=1; while( $1>1024 ){ $1/=1024; s++ } printf "%.2f %s", $1, v[s] }') | |
echo ::set-output name=deep_windows_7z::$(stat -c%s "release-deep-windows/build-deep-windows.7z" | awk '{ split( "B KB MB GB TB PB" , v ); s=1; while( $1>1024 ){ $1/=1024; s++ } printf "%.2f %s", $1, v[s] }') | |
echo ::set-output name=android_zip::$(stat -c%s "release-android/build-android.zip" | awk '{ split( "B KB MB GB TB PB" , v ); s=1; while( $1>1024 ){ $1/=1024; s++ } printf "%.2f %s", $1, v[s] }') | |
echo ::set-output name=android_7z::$(stat -c%s "release-android/build-android.7z" | awk '{ split( "B KB MB GB TB PB" , v ); s=1; while( $1>1024 ){ $1/=1024; s++ } printf "%.2f %s", $1, v[s] }') | |
echo ::set-output name=android_suisho_zip::$(stat -c%s "release-android-suisho/build-android-suisho.zip" | awk '{ split( "B KB MB GB TB PB" , v ); s=1; while( $1>1024 ){ $1/=1024; s++ } printf "%.2f %s", $1, v[s] }') | |
echo ::set-output name=android_suisho_7z::$(stat -c%s "release-android-suisho/build-android-suisho.7z" | awk '{ split( "B KB MB GB TB PB" , v ); s=1; while( $1>1024 ){ $1/=1024; s++ } printf "%.2f %s", $1, v[s] }') | |
echo ::set-output name=macos_tar_xz::$(stat -c%s "release-macos/build-macos.tar.xz" | awk '{ split( "B KB MB GB TB PB" , v ); s=1; while( $1>1024 ){ $1/=1024; s++ } printf "%.2f %s", $1, v[s] }') | |
echo ::set-output name=macos_suisho_tar_xz::$(stat -c%s "release-macos-suisho/build-macos-suisho.tar.xz" | awk '{ split( "B KB MB GB TB PB" , v ); s=1; while( $1>1024 ){ $1/=1024; s++ } printf "%.2f %s", $1, v[s] }') | |
echo ::set-output name=wasm_zip::$(stat -c%s "release-wasm/build-wasm.zip" | awk '{ split( "B KB MB GB TB PB" , v ); s=1; while( $1>1024 ){ $1/=1024; s++ } printf "%.2f %s", $1, v[s] }') | |
echo ::set-output name=wasm_7z::$(stat -c%s "release-wasm/build-wasm.7z" | awk '{ split( "B KB MB GB TB PB" , v ); s=1; while( $1>1024 ){ $1/=1024; s++ } printf "%.2f %s", $1, v[s] }') | |
echo ::set-output name=wasm-suisho_zip::$(stat -c%s "release-wasm-suisho/build-wasm-suisho.zip" | awk '{ split( "B KB MB GB TB PB" , v ); s=1; while( $1>1024 ){ $1/=1024; s++ } printf "%.2f %s", $1, v[s] }') | |
echo ::set-output name=wasm-suisho_7z::$(stat -c%s "release-wasm-suisho/build-wasm-suisho.7z" | awk '{ split( "B KB MB GB TB PB" , v ); s=1; while( $1>1024 ){ $1/=1024; s++ } printf "%.2f %s", $1, v[s] }') | |
echo ::set-output name=wasm-suishopetite_zip::$(stat -c%s "release-wasm-suishopetite/build-wasm-suishopetite.zip" | awk '{ split( "B KB MB GB TB PB" , v ); s=1; while( $1>1024 ){ $1/=1024; s++ } printf "%.2f %s", $1, v[s] }') | |
echo ::set-output name=wasm-suishopetite_7z::$(stat -c%s "release-wasm-suishopetite/build-wasm-suishopetite.7z" | awk '{ split( "B KB MB GB TB PB" , v ); s=1; while( $1>1024 ){ $1/=1024; s++ } printf "%.2f %s", $1, v[s] }') | |
- name: Create release | |
id: create_release | |
uses: actions/create-release@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
tag_name: ${{ github.ref }} | |
release_name: やねうら王 実行ファイル詰め合わせ ${{ steps.version.outputs.version }} | |
body: | | |
やねうら王の最新の思考エンジン | |
『やねうら王』 ${{ steps.version.outputs.version }} の各評価関数用、各CPU用実行ファイルの詰め合わせです。 | |
1. KPPT型 | |
2. KPP_KKPT型 | |
3. NNUE型 | |
a. 標準NNUE(HalfKP)型 | |
b. HalfKPE9型 | |
cf. [NNUE-HalfKPE9](https://github.com/tttak/YaneuraOu/releases/tag/V4.89_NNUE-HalfKPE9) | |
c. K-P型 | |
cf. [魚沼産やねうら王できました](http://yaneuraou.yaneu.com/2019/02/12/%e9%ad%9a%e6%b2%bc%e7%94%a3%e3%82%84%e3%81%ad%e3%81%86%e3%82%89%e7%8e%8b%e3%81%a7%e3%81%8d%e3%81%be%e3%81%97%e3%81%9f/) | |
d. HalfKPvm型 | |
cf. [tanuki-denryu2](https://github.com/nodchip/tanuki-/releases/tag/tanuki-denryu2) | |
4. MaterialLv1, MaterialLv9 | |
a. MaterialLv1 駒得のみ | |
b. MaterialLv9 駒得+手駒評価+盤上の利きを評価+複数の利きに減衰評価+利きの価値合算テーブル+KKPEE9テーブルに一本化+味方・敵の駒の利きによる加減+玉近傍への味方駒の利きと駒の有無、玉位置加点+方角ごとの利き評価 | |
- [【連載】評価関数を作ってみよう!その1](http://yaneuraou.yaneu.com/2020/11/17/make-evaluate-function/) | |
- [【連載】評価関数を作ってみよう!その2](http://yaneuraou.yaneu.com/2020/11/19/make-evaluate-function-2/) | |
- [【連載】評価関数を作ってみよう!その3](http://yaneuraou.yaneu.com/2020/11/20/make-evaluate-function-3/) | |
- [【連載】評価関数を作ってみよう!その4](http://yaneuraou.yaneu.com/2020/11/23/make-evaluate-function-4/) | |
- [【連載】評価関数を作ってみよう!その5](http://yaneuraou.yaneu.com/2020/11/25/make-evaluate-function-5/) | |
- [【連載】評価関数を作ってみよう!その6](http://yaneuraou.yaneu.com/2020/11/26/make-evaluate-function-6/) | |
- [【連載】評価関数を作ってみよう!その7](http://yaneuraou.yaneu.com/2020/11/27/make-evaluate-function-7/) | |
- [【連載】評価関数を作ってみよう!その8](http://yaneuraou.yaneu.com/2020/11/30/make-evaluate-function-8/) | |
- [【連載】評価関数を作ってみよう!その9](http://yaneuraou.yaneu.com/2020/12/01/make-evaluate-function-9/) | |
- [【連載】評価関数を作ってみよう!その10](http://yaneuraou.yaneu.com/2020/12/02/make-evaluate-function-10/) | |
- [【連載】評価関数を作ってみよう!その11](http://yaneuraou.yaneu.com/2020/12/07/make-evaluate-function-11/) | |
5. YaneuraOu詰将棋エンジン | |
cf. [やねうら王詰将棋エンジンを公開しました](http://yaneuraou.yaneu.com/2020/12/29/yaneuraou-mate-solver/) | |
6. tanuki-詰将棋エンジン | |
7. ふかうら王(dlshogi互換エンジン) | |
cf. [ふかうら王(dlshogi互換エンジン) Technology Preview #1](http://yaneuraou.yaneu.com/2020/12/17/fukauraou-technology-preview01/) | |
に対する | |
- [Suisho5-${{ steps.version.outputs.filename }}-windows.zip](https://github.com/${{ github.repository }}/releases/download/${{ steps.version.outputs.version }}/Suisho5-${{ steps.version.outputs.filename }}-windows.zip) (${{ steps.archive_size.outputs.windows_suisho_zip }}) | |
- [Suisho5-${{ steps.version.outputs.filename }}-windows.7z](https://github.com/${{ github.repository }}/releases/download/${{ steps.version.outputs.version }}/Suisho5-${{ steps.version.outputs.filename }}-windows.7z) (${{ steps.archive_size.outputs.windows_suisho_7z }}) | |
- 3.a.のトーナメントWindows版+水匠5(20211123)評価関数 (ZEN2/AVX2/SSE4.2) | |
- [Suisho5-${{ steps.version.outputs.filename }}-android.zip](https://github.com/${{ github.repository }}/releases/download/${{ steps.version.outputs.version }}/Suisho5-${{ steps.version.outputs.filename }}-android.zip) (${{ steps.archive_size.outputs.android_suisho_zip }}) | |
- [Suisho5-${{ steps.version.outputs.filename }}-android.7z](https://github.com/${{ github.repository }}/releases/download/${{ steps.version.outputs.version }}/Suisho5-${{ steps.version.outputs.filename }}-android.7z) (${{ steps.archive_size.outputs.android_suisho_7z }}) | |
- 3.a.の実行ファイルAndroid版+水匠5(20211123)評価関数 (arm64-v8a/armeabi-v7a/x86_64/x86) | |
- [Suisho5-${{ steps.version.outputs.filename }}-macos.tar.xz](https://github.com/${{ github.repository }}/releases/download/${{ steps.version.outputs.version }}/Suisho5-${{ steps.version.outputs.filename }}-macos.tar.xz) (${{ steps.archive_size.outputs.macos_suisho_tar_xz }}) | |
- 3.a.の実行ファイルMacOS版+水匠5(20211123)評価関数 (AVX2/SSE42/APPLEM1) (testing) | |
- [Suisho5-${{ steps.version.outputs.filename }}-wasm.zip](https://github.com/${{ github.repository }}/releases/download/${{ steps.version.outputs.version }}/Suisho5-${{ steps.version.outputs.filename }}-wasm.zip) (${{ steps.archive_size.outputs.wasm-suisho_zip }}) | |
- [Suisho5-${{ steps.version.outputs.filename }}-wasm.7z](https://github.com/${{ github.repository }}/releases/download/${{ steps.version.outputs.version }}/Suisho5-${{ steps.version.outputs.filename }}-wasm.7z) (${{ steps.archive_size.outputs.wasm-suisho_7z }}) | |
- 3.a.の実行ファイルWebAssembly版+水匠5(20211123)評価関数 (testing) | |
- [SuishoPetite-${{ steps.version.outputs.filename }}-wasm.zip](https://github.com/${{ github.repository }}/releases/download/${{ steps.version.outputs.version }}/SuishoPetite-${{ steps.version.outputs.filename }}-wasm.zip) (${{ steps.archive_size.outputs.wasm-suishopetite_zip }}) | |
- [SuishoPetite-${{ steps.version.outputs.filename }}-wasm.7z](https://github.com/${{ github.repository }}/releases/download/${{ steps.version.outputs.version }}/SuishoPetite-${{ steps.version.outputs.filename }}-wasm.7z) (${{ steps.archive_size.outputs.wasm-suishopetite_7z }}) | |
- 3.c.の実行ファイルWebAssembly版+SuishoPetite(20211123)評価関数 (testing) | |
- [${{ steps.version.outputs.filename }}-windows.zip](https://github.com/${{ github.repository }}/releases/download/${{ steps.version.outputs.version }}/${{ steps.version.outputs.filename }}-windows.zip) (${{ steps.archive_size.outputs.windows_zip }}) | |
- [${{ steps.version.outputs.filename }}-windows.7z](https://github.com/${{ github.repository }}/releases/download/${{ steps.version.outputs.version }}/${{ steps.version.outputs.filename }}-windows.7z) (${{ steps.archive_size.outputs.windows_7z }}) | |
- 1.2.3.5.6.の実行ファイルWindows版 各CPU向け(ZEN3/ZEN2/ZEN1/AVX512VNNI/AVXVNNI/AVX512/AVX2/SSE4.2/SSE4.1/SSSE3/SSE2/32bit環境用) | |
- 1.2.3.5.6.のトーナメントWindows版 (ZEN3/ZEN2/ZEN1/AVX512VNNI/AVXVNNI/AVX512/AVX2/SSE4.2) | |
- 1.2.3.の学習用実行ファイルWindows版 (ZEN3/ZEN2/ZEN1/AVX512VNNI/AVXVNNI/AVX512/AVX2/SSE4.2) | |
- [${{ steps.version.outputs.filename }}-windows-material.zip](https://github.com/${{ github.repository }}/releases/download/${{ steps.version.outputs.version }}/${{ steps.version.outputs.filename }}-windows-material.zip) (${{ steps.archive_size.outputs.windows_material_zip }}) | |
- [${{ steps.version.outputs.filename }}-windows-material.7z](https://github.com/${{ github.repository }}/releases/download/${{ steps.version.outputs.version }}/${{ steps.version.outputs.filename }}-windows-material.7z) (${{ steps.archive_size.outputs.windows_material_7z }}) | |
- 4.の実行ファイルWindows版 各CPU向け(ZEN3/ZEN2/ZEN1/AVX2/SSE4.2/SSE2/32bit環境用) | |
- 4.のトーナメントWindows版 (ZEN3/ZEN2/ZEN1/AVX2/SSE4.2) | |
- 4.の学習用実行ファイルWindows版 (ZEN3/ZEN2/ZEN1/AVX2/SSE4.2) | |
- [${{ steps.version.outputs.filename }}-deep-windows.zip](https://github.com/${{ github.repository }}/releases/download/${{ steps.version.outputs.version }}/${{ steps.version.outputs.filename }}-deep-windows.zip) (${{ steps.archive_size.outputs.deep_windows_zip }}) | |
- [${{ steps.version.outputs.filename }}-deep-windows.7z](https://github.com/${{ github.repository }}/releases/download/${{ steps.version.outputs.version }}/${{ steps.version.outputs.filename }}-deep-windows.7z) (${{ steps.archive_size.outputs.deep_windows_7z }}) | |
- 7.の実行ファイルWindows版 (AVX2) | |
- ONNX Runtime (ORT) 版の実行には、Visual C++の実行ランタイムが別途必要です。エンジン実行時に「`VCRUNTIME140_1.dll`が見つからないため、コードの実行を続行できません。」のようなエラーが表示される場合、別途 [Microsoft Visual C++ 2015-2022 Redistributable (x64), `VC_redist.x64.exe`](https://aka.ms/vs/17/release/VC_redist.x64.exe) をダウンロード・実行してインストールして下さい。 | |
- ORT-CPU : ONNX Runtime (ORT) のデフォルト、CPU向け。 | |
cf. [ONNX Runtimeを使ってみる その2(性能測定)](https://tadaoyamaoka.hatenablog.com/entry/2020/06/06/190259) | |
- ORT-DML : Windows 10 DirectML (DML) 対応のGPU向け。(対応環境であればおそらくORT-TRT や TensorRTのが高速) | |
cf. [DirectML の概要](https://docs.microsoft.com/ja-jp/windows/win32/direct3d12/dml-intro) | |
- ORT-TRT : NVIDIA TensorRT 対応のGPU向け。CUDA, cuDNN, TensorRT の導入も必要です。 | |
- CUDA (開発環境は 11.7.0) | |
- [Latest CUDA Toolkit Download](https://developer.nvidia.com/cuda-downloads) | |
- [CUDA Toolkit Archive](https://developer.nvidia.com/cuda-toolkit-archive) | |
- [CUDA Installation Guide for Microsoft Windows (CUDAインストール手順, CUDA 最新版)](https://docs.nvidia.com/cuda/cuda-installation-guide-microsoft-windows/index.html) | |
- CUDA Toolkit 11.7.0 の場合の導入例: | |
- [Local Installer (2.5GB)](https://developer.download.nvidia.com/compute/cuda/11.7.0/local_installers/cuda_11.7.0_516.01_windows.exe) もしくは [Network Installer (34.7MB)](https://developer.download.nvidia.com/compute/cuda/11.7.0/network_installers/cuda_11.7.0_windows_network.exe) をダウンロード・実行してインストール | |
- cuDNN (開発環境は v8.4.0) | |
- [cuDNN Download (最新のバージョン)](https://developer.nvidia.com/rdp/cudnn-download) (要ログイン) | |
- [cuDNN Archive (過去のバージョン)](https://developer.nvidia.com/rdp/cudnn-archive) (要ログイン) | |
- [Installing cuDNN On Windows (cuDNNインストール手順)](https://docs.nvidia.com/deeplearning/cudnn/install-guide/index.html#install-windows) | |
- cuDNN v8.4.0 (`cudnn-windows-x86_64-8.4.0.27_cuda11.6-archive.zip`) の場合の導入例: | |
- ダウンロードした `cudnn-windows-x86_64-8.4.0.27_cuda11.6-archive.zip` を右クリック → 「すべて展開」 → 展開時に展開されたファイルを表示する | |
- `cudnn-windows-x86_64-8.4.0.27_cuda11.6-archive/bin` フォルダ階層を選択して表示 | |
- `cudnn_adv_infer64_8.dll`, `cudnn_cnn_infer64_8.dll`, `cudnn_ops_infer64_8.dll`, `cudnn64_8.dll` (種類: アプリケーション拡張) の4つのファイルを選択し、`YaneuraOu-Deep-ORT-TRT.exe` と同じフォルダにコピー | |
- ZLIB DLL (`zlibwapi.dll`) | |
- [ZLIB DLL](http://www.winimage.com/zLibDll/zlib123dllx64.zip) | |
- [NVIDIA cuDNN Documentation - Installing zlib](https://docs.nvidia.com/deeplearning/cudnn/install-guide/index.html#install-zlib-windows) | |
- cuDNN v8.4.0 は、動作に `zlibwapi.dll` が必要。 | |
- [ダウンロードした `zlib123dllx64.zip`](http://www.winimage.com/zLibDll/zlib123dllx64.zip) を右クリック → 「すべて展開」 → 展開時に展開されたファイルを表示する | |
- `zlib123dllx64/dll_x64` フォルダ階層を選択して表示 | |
- `zlibwapi.dll` (種類: アプリケーション拡張) の4つのファイルを選択し、`YaneuraOu-Deep-ORT-TRT.exe` と同じフォルダにコピー | |
- TensorRT (開発環境は 8.2 GA Update 4) | |
- [NVIDIA TensorRT Download](https://developer.nvidia.com/nvidia-tensorrt-download) (要ログイン) | |
- [Installing TensorRT (TensorRTインストール手順)](https://docs.nvidia.com/deeplearning/tensorrt/install-guide/index.html#installing-zip) | |
- TensorRT 8.2 GA Update 4 (`TensorRT-8.2.5.1.Windows10.x86_64.cuda-11.4.cudnn8.2.zip`) の場合の導入例: | |
- ダウンロードした `TensorRT-8.2.5.1.Windows10.x86_64.cuda-11.4.cudnn8.2.zip` を右クリック → 「すべて展開」 → 展開時に展開されたファイルを表示する | |
- `TensorRT-8.2.5.1/lib` フォルダ階層を選択して表示 | |
- `nvinfer.dll`, `nvinfer_builder_resource.dll`, `nvinfer_plugin.dll`, `nvonnxparser.dll`, `nvparsers.dll` (種類: アプリケーション拡張) の5つのファイルを選択し、`YaneuraOu-Deep-ORT-TRT.exe` と同じフォルダにコピー | |
- [警告: 以下のような変更があった場合は、古いエンジンやプロファイルのキャッシュファイル(`.engine`, `.profile`)をクリーンアップしてください。](https://onnxruntime.ai/docs/execution-providers/TensorRT-ExecutionProvider.html#environment-variables) | |
- モデルの変更(モデルのトポロジー、opsetのバージョン、演算子などに変更があった場合) | |
- ONNX Runtime(ORT)バージョンの変更(例:ORTバージョン1.8から1.9への移行) | |
- TensorRTのバージョンの変更(例:TensorRT 7.0から8.0への移行) | |
- ハードウェアの変更 (`.engine`と`.profile`のファイルに可搬性はなく、特定のNVIDIAハードウェアに対して最適化されています。) | |
- TensorRTエンジン構築、およびそのキャッシュファイル(`.engine`, `.profile`)作成のため、モデルファイルの初回読み込み時/バッチサイズ設定変更時は時間が掛かります。 | |
- ~~TensorRT : NVIDIA TensorRT 対応のGPU向け(ORT無し版)。~~ 現在、TensorRT(ORT無し)版は自動ビルドの対象外です。 | |
- [${{ steps.version.outputs.filename }}-android.zip](https://github.com/${{ github.repository }}/releases/download/${{ steps.version.outputs.version }}/${{ steps.version.outputs.filename }}-android.zip) (${{ steps.archive_size.outputs.android_zip }}) | |
- [${{ steps.version.outputs.filename }}-android.7z](https://github.com/${{ github.repository }}/releases/download/${{ steps.version.outputs.version }}/${{ steps.version.outputs.filename }}-android.7z) (${{ steps.archive_size.outputs.android_7z }}) | |
- 1.2.3.4.5.6.の実行ファイルAndroid版 (arm64-v8a/armeabi-v7a/x86_64/x86) | |
- [${{ steps.version.outputs.filename }}-macos.tar.xz](https://github.com/${{ github.repository }}/releases/download/${{ steps.version.outputs.version }}/${{ steps.version.outputs.filename }}-macos.tar.xz) (${{ steps.archive_size.outputs.macos_tar_xz }}) | |
- 1.2.3.4.5.6.7.の実行ファイルMacOS版 (AVX2/SSE42/APPLEM1) (testing) | |
- [${{ steps.version.outputs.filename }}-wasm.zip](https://github.com/${{ github.repository }}/releases/download/${{ steps.version.outputs.version }}/${{ steps.version.outputs.filename }}-wasm.zip) (${{ steps.archive_size.outputs.wasm_zip }}) | |
- [${{ steps.version.outputs.filename }}-wasm.7z](https://github.com/${{ github.repository }}/releases/download/${{ steps.version.outputs.version }}/${{ steps.version.outputs.filename }}-wasm.7z) (${{ steps.archive_size.outputs.wasm_7z }}) | |
- 1.2.3.4.5.6.の実行ファイルWebAssembly版 (testing) | |
使い方などは添付ファイルの中にある | |
docs | |
をご覧ください。 | |
# ドラフト(下書き)状態にしない(false) | |
draft: false | |
# 先行リリースのフラグを付ける(true) | |
prerelease: true | |
- name: Upload release asset build-windows.zip | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: ${{ steps.create_release.outputs.upload_url }} | |
asset_path: release-windows/build-windows.zip | |
asset_name: ${{ steps.version.outputs.filename }}-windows.zip | |
asset_content_type: application/zip | |
- name: Upload release asset build-windows.7z | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: ${{ steps.create_release.outputs.upload_url }} | |
asset_path: release-windows/build-windows.7z | |
asset_name: ${{ steps.version.outputs.filename }}-windows.7z | |
asset_content_type: application/octet-stream | |
- name: Upload release asset build-windows-material.zip | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: ${{ steps.create_release.outputs.upload_url }} | |
asset_path: release-windows-material/build-windows-material.zip | |
asset_name: ${{ steps.version.outputs.filename }}-windows-material.zip | |
asset_content_type: application/zip | |
- name: Upload release asset build-windows-material.7z | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: ${{ steps.create_release.outputs.upload_url }} | |
asset_path: release-windows-material/build-windows-material.7z | |
asset_name: ${{ steps.version.outputs.filename }}-windows-material.7z | |
asset_content_type: application/octet-stream | |
- name: Upload release asset build-deep-windows.zip | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: ${{ steps.create_release.outputs.upload_url }} | |
asset_path: release-deep-windows/build-deep-windows.zip | |
asset_name: ${{ steps.version.outputs.filename }}-deep-windows.zip | |
asset_content_type: application/zip | |
- name: Upload release asset build-deep-windows.7z | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: ${{ steps.create_release.outputs.upload_url }} | |
asset_path: release-deep-windows/build-deep-windows.7z | |
asset_name: ${{ steps.version.outputs.filename }}-deep-windows.7z | |
asset_content_type: application/octet-stream | |
- name: Upload release asset build-android.zip | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: ${{ steps.create_release.outputs.upload_url }} | |
asset_path: release-android/build-android.zip | |
asset_name: ${{ steps.version.outputs.filename }}-android.zip | |
asset_content_type: application/zip | |
- name: Upload release asset build-android.7z | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: ${{ steps.create_release.outputs.upload_url }} | |
asset_path: release-android/build-android.7z | |
asset_name: ${{ steps.version.outputs.filename }}-android.7z | |
asset_content_type: application/octet-stream | |
- name: Upload release asset build-macos.tar.xz | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: ${{ steps.create_release.outputs.upload_url }} | |
asset_path: release-macos/build-macos.tar.xz | |
asset_name: ${{ steps.version.outputs.filename }}-macos.tar.xz | |
asset_content_type: application/x-xz | |
- name: Upload release asset build-wasm.zip | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: ${{ steps.create_release.outputs.upload_url }} | |
asset_path: release-wasm/build-wasm.zip | |
asset_name: ${{ steps.version.outputs.filename }}-wasm.zip | |
asset_content_type: application/zip | |
- name: Upload release asset build-wasm.7z | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: ${{ steps.create_release.outputs.upload_url }} | |
asset_path: release-wasm/build-wasm.7z | |
asset_name: ${{ steps.version.outputs.filename }}-wasm.7z | |
asset_content_type: application/octet-stream | |
- name: Upload release asset build-windows-suisho.zip | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: ${{ steps.create_release.outputs.upload_url }} | |
asset_path: release-windows-suisho/build-windows-suisho.zip | |
asset_name: Suisho5-${{ steps.version.outputs.filename }}-windows.zip | |
asset_content_type: application/zip | |
- name: Upload release asset build-windows-suisho.7z | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: ${{ steps.create_release.outputs.upload_url }} | |
asset_path: release-windows-suisho/build-windows-suisho.7z | |
asset_name: Suisho5-${{ steps.version.outputs.filename }}-windows.7z | |
asset_content_type: application/octet-stream | |
- name: Upload release asset build-android-suisho.zip | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: ${{ steps.create_release.outputs.upload_url }} | |
asset_path: release-android-suisho/build-android-suisho.zip | |
asset_name: Suisho5-${{ steps.version.outputs.filename }}-android.zip | |
asset_content_type: application/zip | |
- name: Upload release asset build-android-suisho.7z | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: ${{ steps.create_release.outputs.upload_url }} | |
asset_path: release-android-suisho/build-android-suisho.7z | |
asset_name: Suisho5-${{ steps.version.outputs.filename }}-android.7z | |
asset_content_type: application/octet-stream | |
- name: Upload release asset build-macos-suisho.tar.xz | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: ${{ steps.create_release.outputs.upload_url }} | |
asset_path: release-macos-suisho/build-macos-suisho.tar.xz | |
asset_name: Suisho5-${{ steps.version.outputs.filename }}-macos.tar.xz | |
asset_content_type: application/x-xz | |
- name: Upload release asset build-wasm-suisho.zip | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: ${{ steps.create_release.outputs.upload_url }} | |
asset_path: release-wasm-suisho/build-wasm-suisho.zip | |
asset_name: Suisho5-${{ steps.version.outputs.filename }}-wasm.zip | |
asset_content_type: application/zip | |
- name: Upload release asset build-android-suisho.7z | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: ${{ steps.create_release.outputs.upload_url }} | |
asset_path: release-wasm-suisho/build-wasm-suisho.7z | |
asset_name: Suisho5-${{ steps.version.outputs.filename }}-wasm.7z | |
asset_content_type: application/octet-stream | |
- name: Upload release asset build-wasm-suishopetite.zip | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: ${{ steps.create_release.outputs.upload_url }} | |
asset_path: release-wasm-suishopetite/build-wasm-suishopetite.zip | |
asset_name: SuishoPetite-${{ steps.version.outputs.filename }}-wasm.zip | |
asset_content_type: application/zip | |
- name: Upload release asset build-android-suisho.7z | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: ${{ steps.create_release.outputs.upload_url }} | |
asset_path: release-wasm-suishopetite/build-wasm-suishopetite.7z | |
asset_name: SuishoPetite-${{ steps.version.outputs.filename }}-wasm.7z | |
asset_content_type: application/octet-stream |