Skip to content

types.hとtypes.cppで冗長なコードを整理し、空白やインデントを微調整 #697

types.hとtypes.cppで冗長なコードを整理し、空白やインデントを微調整

types.hとtypes.cppで冗長なコードを整理し、空白やインデントを微調整 #697

# for Linux environment
name: Make CI (DeepLearning for Ubuntu Linux)
on:
push:
branches:
- "**"
pull_request:
branches:
- "**"
jobs:
build-ubuntu:
# ubuntu-latest = ubuntu-24.04
# https://docs.github.com/ja/actions/using-github-hosted-runners/about-github-hosted-runners
runs-on: ubuntu-22.04
# https://github.com/actions/runner-images/blob/main/images/ubuntu/Ubuntu2204-Readme.md
# https://github.com/actions/runner-images/blob/main/images/ubuntu/Ubuntu2404-Readme.md
strategy:
matrix:
edition:
- YANEURAOU_ENGINE_DEEP_ORT_CPU
- YANEURAOU_ENGINE_DEEP_TENSOR_RT_UBUNTU
compiler:
- g++-11
- clang++-15
target:
- normal
archcpu:
- AVX2
steps:
- name: Checkout own repository
uses: actions/checkout@v2
with:
path: main
- name: install g++-11
run: |
# sudo cat /etc/apt/sources.list
# sudo ls -R /etc/apt/sources.list.d
sudo apt update
sudo apt install g++-11
if: ${{ matrix.compiler == 'g++-11' }}
- name: install clang-15
run: |
sudo apt update
sudo apt install -y clang-15
if: ${{ matrix.compiler == 'clang++-15' }}
- name: install ONNXRUNTIME
run: |
curl --create-dirs -RLo ${HOME}/resource/onnxruntime-linux-x64-1.11.1.tgz https://github.com/microsoft/onnxruntime/releases/download/v1.11.1/onnxruntime-linux-x64-1.11.1.tgz
tar xvf ${HOME}/resource/onnxruntime-linux-x64-1.11.1.tgz -C ${HOME}
if: ${{ matrix.edition == 'YANEURAOU_ENGINE_DEEP_ORT_CPU' }}
- name: install CUDA, TensorRT
# ここではCUDAアプリケーションの開発環境用に、CUDAドライバーを含まない cuda-minimal-build-11-7 をインストールしている。
# CUDAアプリケーションの実行環境用にセットアップする場合、 cuda-minimal-build-11-7 の代わりに
# CUDAドライバーを含むメタパッケージ、 cuda-11-7 もしくは cuda をインストールする。
# https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html#package-manager-metas
# https://github.com/NVIDIA/cuda-repo-management/issues/4
run: |
sudo curl "https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/cuda-ubuntu2004.pin" -o /etc/apt/preferences.d/cuda-repository-pin-600
sudo curl "https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/cuda-ubuntu2004-keyring.gpg" -o /usr/share/keyrings/cuda-archive-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/cuda-archive-keyring.gpg] https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/ /" | sudo tee /etc/apt/sources.list.d/cuda-ubuntu2004-x86_64.list &&\
sudo cat /etc/apt/sources.list
sudo ls -R /etc/apt/sources.list.d
sudo apt update
sudo apt install cuda-minimal-build-11-7 cuda-nvrtc-dev-11-7 libcublas-11-7 libcublas-dev-11-7 libnvinfer-dev libnvinfer-plugin-dev libnvonnxparsers-dev libnvparsers-dev
echo "/usr/local/cuda/bin" >> $GITHUB_PATH
if: ${{ matrix.edition == 'YANEURAOU_ENGINE_DEEP_TENSOR_RT' }}
- name: make YANEURAOU_ENGINE_DEEP_ORT_CPU
run: ./main/script/build.sh -e ${{ matrix.edition }} -c ${{ matrix.compiler }} -t ${{ matrix.target }} -a ${{ matrix.archcpu }} -x "EXTRA_CPPFLAGS=-I${HOME}/onnxruntime-linux-x64-1.11.1/include EXTRA_LDFLAGS=-L${HOME}/onnxruntime-linux-x64-1.11.1/lib"
if: ${{ matrix.edition == 'YANEURAOU_ENGINE_DEEP_ORT_CPU' }}
# ONNXRUNTIME版のビルド済みバイナリ実行時、 `${HOME}/onnxruntime-linux-x64-1.11.1/lib` のディレクトリを環境変数 `LD_LIBRARY_PATH` に追加するか、
# ライブラリ検索パス(`/usr/local/lib` など)の下にコピーし、root権限にてldconfigを実行してライブラリキャッシュを更新する。
- name: make YANEURAOU_ENGINE_DEEP_TENSOR_RT
run: ./main/script/build.sh -e ${{ matrix.edition }} -c ${{ matrix.compiler }} -t ${{ matrix.target }} -a ${{ matrix.archcpu }} -x "EXTRA_CPPFLAGS=-I/usr/local/cuda-11.7/include EXTRA_LDFLAGS=-L/usr/local/cuda-11.7/lib64 EXTRA_LDFLAGS+=-L/usr/local/cuda-11.7/lib64/stubs"
if: ${{ matrix.edition == 'YANEURAOU_ENGINE_DEEP_TENSOR_RT' }}
- uses: actions/upload-artifact@v2
with:
name: build-linux_deep_${{ github.run_number }}_${{ github.sha }}
path: ./main/build/**/**/*