diff --git a/.github/actions/build_ock/action.yml b/.github/actions/do_build_ock/action.yml similarity index 93% rename from .github/actions/build_ock/action.yml rename to .github/actions/do_build_ock/action.yml index db4d9da11..2a9f0574b 100644 --- a/.github/actions/build_ock/action.yml +++ b/.github/actions/do_build_ock/action.yml @@ -27,7 +27,7 @@ inputs: default: ${{ github.workspace }}/llvm_install build_targets: description: 'TBD' - default: UnitCL muxc veczc + default: UnitCL muxc veczc clc host_fp16: description: 'TBD' default: OFF @@ -61,9 +61,9 @@ inputs: description: "TBD" default: cl enable_rvv_scalable_vecz_check: - default: ON - enable_rvv_scalable_vp_vecz_check: - default: ON + default: OFF + enable_rvv_scalable_VP_vecz_check: + default: OFF runs: # We don't want a new docker just a list of steps, so mark as composite @@ -96,7 +96,7 @@ runs: -DHAL_REFSI_SOC=${{ inputs.hal_refsi_soc }} -DHAL_REFSI_THREAD_MODE=${{ inputs.regs_thread_mode }} -DCA_RISCV_ENABLED=${{ inputs.riscv_enabled }} - -DCA_CL_ENABLE_RVV_SCALABLE_VECZ_CHECK=${{ inputs.enable_rvv_scalable_vecz_check }} + -DCA_CL_ENABLE_RVV_SCALABLE_VECZ_CHECK=${{ inputs.enable_rvv_scalable_vecz_check }} -DCA_CL_ENABLE_RVV_SCALABLE_VP_VECZ_CHECK=${{ inputs.enable_rvv_scalable_vp_vecz_check }} ${{ inputs.extra_flags }} . @@ -104,6 +104,3 @@ runs: shell: bash run: ninja -C ${{ inputs.build_dir }} ${{ inputs.build_targets }} - - # -DCA_CL_ENABLE_RVV_SCALABLE_VECZ_CHECK=ON - # -DCA_CL_ENABLE_RVV_SCALABLE_VP_VECZ_CHECK=ON \ No newline at end of file diff --git a/.github/actions/do_build_ock/do_build_m1/action.yml b/.github/actions/do_build_ock/do_build_m1/action.yml new file mode 100644 index 000000000..b2ef218d7 --- /dev/null +++ b/.github/actions/do_build_ock/do_build_m1/action.yml @@ -0,0 +1,22 @@ +name: build-ock-m1 +description: Action to build the oneapi-construction-kit for default riscv m1 target + +inputs: + build_type: + description: 'build type (Release, ReleaseAssert)' + default: ReleaseAssert + +runs: + # We don't want a new docker just a list of steps, so mark as composite + using: "composite" + steps: + - name: build_ock + uses: ./.github/actions/do_build_ock + with: + build_type: ${{ inputs.build_type }} + mux_targets_enable: riscv + mux_compilers_enable: refsi_m1 + external_compiler_dirs: "${{ github.workspace }}/examples/refsi/refsi_m1/compiler/refsi_m1" + riscv_enabled: ON + enable_rvv_scalable_vecz_check: ON + enable_rvv_scalable_VP_vecz_check: ON diff --git a/.github/actions/setup_ubuntu_build/action.yml b/.github/actions/setup_ubuntu_build/action.yml new file mode 100644 index 000000000..c532cfb6b --- /dev/null +++ b/.github/actions/setup_ubuntu_build/action.yml @@ -0,0 +1,34 @@ +name: setup-ubuntu-build +description: Setup ubuntu ready for building. Does not include cache which is separate + +inputs: + build_type: + description: 'build type (Release, RelAssert)' + default: RelAssert + llvm_version: + description: 'TBD' + default: 16 + ubuntu_version: + description: 'TBD' + default: 22.04 + + +runs: + # We don't want a new docker just a list of steps, so mark as composite + using: "composite" + steps: + - name: Install prerequisites + shell: bash + run: | + sudo apt-get install -y spirv-tools + pip install lit + + - name: Install Ninja + uses: llvm/actions/install-ninja@main + + - name: load llvm + uses: actions/cache/restore@v3 + with: + path: llvm_install/** + key: llvm-ubuntu-${{ inputs.ubuntu_version }}-v${{ inputs.llvm_version}}-${{ inputs.build_type }} + fail-on-cache-miss: true diff --git a/.github/workflows/merge_request.yml b/.github/workflows/merge_request.yml index 36ce81905..df195c05e 100644 --- a/.github/workflows/merge_request.yml +++ b/.github/workflows/merge_request.yml @@ -15,77 +15,47 @@ jobs: runs-on: ubuntu-22.04 steps: - - - name: Install prerequisites - run: | - sudo apt-get install -y spirv-tools - pip install lit - - - name: Install Ninja - uses: llvm/actions/install-ninja@main - - name: Checkout repo uses: actions/checkout@v3 - with: - repository: codeplaysoftware/oneapi-construction-kit - - - name: load llvm - uses: actions/cache/restore@v3 - with: - path: llvm_install/** - key: llvm-ubuntu-22.04-v16-RelAssert - fail-on-cache-miss: true + + - name: setup-ubuntu + uses: ./.github/actions/setup_ubuntu_build - name: Setup ccache uses: hendrikmuhs/ccache-action@v1.2 with: - max-size: 50M + max-size: 100M key: sccache-build variant: sccache - - name: build_mr_x86-llvm15-cl3.0-release - uses: ./.github/actions/build_ock + - name: build_mr_x86-cl3.0-release + uses: ./.github/actions/do_build_ock with: build_type: Release - mux_targets_enable: host - name: build_mr_x86-offline - uses: ./.github/actions/build_ock + uses: ./.github/actions/do_build_ock with: build_type: Release - mux_targets_enable: host extra_flags: -DCA_RUNTIME_COMPILER_ENABLED=OFF -DCA_EXTERNAL_CLC=${{ github.workspace }}/build/bin/clc build_dir: build_offline build_targets: UnitCL - # - python -u scripts/build.py -GNinja --verbose --clean - # --build_type $BuildType --arch $Arch --compiler $Compiler - # --binary_dir build_offline --target check-ComputeAorta - # --offline_only --external_clc $CI_PROJECT_DIR/oneapi-construction-kit/build/bin/clc - # -DCA_CL_ENABLE_ICD_LOADER=ON - # -DCA_ENABLE_HOST_IMAGE_SUPPORT=$Images - # -DCA_HOST_ENABLE_FP16=$FP16 - # -DOCL_EXTENSION_cl_khr_command_buffer=$CommandBuffer - # -DOCL_EXTENSION_cl_khr_command_buffer_mutable_dispatch=$CommandBuffer - # -DCA_USE_LINKER=gold - - # - name: build_mr-ubuntu-gcc-x86_64-riscv-3.0_m1 - # uses: ./.github/actions/build_ock - # with: - # # Default SOC M1, external compiler dir, hal_description RV64GCV, thread mode WG - # build_type: ReleaseAssert - # mux_targets_enable: riscv - # mux_compilers_enable: refsi_m1 - # external_compiler_dirs: "${{ github.workspace }}/examples/refsi/refsi_m1/compiler/refsi_m1" - # riscv_enabled: ON - # extra_flags: -DCA_CL_ENABLE_RVV_SCALABLE_VECZ_CHECK=ON -DCA_CL_ENABLE_RVV_SCALABLE_VP_VECZ_CHECK=ON + - name: run_it_for_demo + run: + ninja -C build check-UnitCL + + - name: clean_build + run: + rm -rf ${{ github.workspace }}/build* - + - name: build_mr-ubuntu-gcc-x86_64-riscv-3.0_m1 + uses: ./.github/actions/do_build_ock/do_build_m1 - name: run_it_for_demo run: - ninja -C build_offline check-UnitCL + ninja -C build check-UnitCL - name: run_it_for_demo2 run: - ninja -C build_offline check-all-lit + ninja -C build check-all-lit