diff --git a/.github/actions/average_single_benchmark/action.yml b/.github/actions/average_single_benchmark/action.yml deleted file mode 100644 index 7ae50c9da4..0000000000 --- a/.github/actions/average_single_benchmark/action.yml +++ /dev/null @@ -1,68 +0,0 @@ -name: Average of a single benchmark -description: runs individual benchmark based on inputs provided - -inputs: - path: - required: true - description: e.g. simeng-benchmarks/binaries/CloverLeaf/openmp - - name: - required: true - description: e.g. cloverleaf_gcc10.3.0_armv8.4+sve - - datafile_path: - required: true - description: The path to the corresponding data file for that benchmark e.g. simeng-benchmarks/Data_Files/CloverLeaf. - - runs: - required: true - default: 10 - description: The number of times a single benchmark should be averaged over. - -runs: - using: 'composite' - steps: - - ############################################################################ - # run individual benchmark + calculate and store into env variable via echo - ############################################################################ - - name: run benchmark & compare runtimes - shell: bash - run: | - benchmark_path=${{ inputs.path }} - benchmark_name=${{ inputs.name }} - datafile_path=${{ inputs.datafile_path }} - - output_file="benchmark_output.txt" - total_time=0 - runs=${{ inputs.runs }} - - cd "${{ github.workspace }}/$benchmark_path" - - # Loop to run the benchmark 'runs' times - for (( i=1; i<=runs; i++ )) - do - # Run the benchmark and redirect output to a file - if [ $datafile_path ]; then - sudo simeng "${{ github.workspace }}/configs/a64fx.yaml" $benchmark_name -n 64 -i 1 --deck "${{ github.workspace }}/$datafile_path" > "$output_file" - else - sudo simeng "${{ github.workspace }}/configs/a64fx.yaml" $benchmark_name > "$output_file" - fi - - # Extract the time in milliseconds from the output - current_time=$(grep 'ticks in' "$output_file" | awk '{print substr($6, 1, length($6)-2)}') - - # Add the extracted time to the total time - total_time=$(echo "scale=2; $total_time + $current_time" | bc) - - done - - # Calculate the average time - average_time=$(echo "scale=2; $total_time / ${{ inputs.runs }}" | bc) - - echo "Final average time of ${{ inputs.runs }} runs: $average_time" - - echo "avg_${benchmark_name%%_*}=${average_time}" >> $GITHUB_ENV - - # Clean up the output file - sudo rm $output_file diff --git a/.github/actions/run_individual_benchmark/action.yml b/.github/actions/run_individual_benchmark/action.yml deleted file mode 100644 index d5ee7d1fac..0000000000 --- a/.github/actions/run_individual_benchmark/action.yml +++ /dev/null @@ -1,54 +0,0 @@ -name: Run Indiviudal Benchmark -description: runs individual benchmark based on inputs provided - -inputs: - benchmark_suite_name: - required: true - description: e.g. cloverleaf, tealeaf, stream, bude - - benchmark_path: - required: true - description: e.g. ./simeng-benchmarks/binaries/... - - output_file: - required: true - description: The benchmark suit name in lowercase followed by _benchmark_out - -runs: - using: 'composite' - steps: - ########################################## - # Check cache for cached benchmark outputs - ########################################## - - name: check for previous benchmark output in cache - uses: actions/cache/restore@v4 - id: benchmark_restore - with: - path: ./${{ inputs.output_file }} - key: ${{ inputs.output_file }} - - ############################################################################ - # run individual benchmark + calculate and store into env variable via echo - ############################################################################ - - name: run benchmark & compare runtimes - shell: bash - run: | - if [[ ${{ steps.benchmark_restore.outputs.cache-hit == 'true' }} == 'true' ]]; then - previous_time=" $(grep 'ticks in' ${{ inputs.output_file }} | awk '{print substr($6, 1, length($6)-2)}')" - else - previous_time="No Previous Time" - fi - - sudo simeng ./configs/a64fx.yaml ${{ inputs.benchmark_path }} > ${{ inputs.output_file }} - - current_time="$(grep 'ticks in' ${{ inputs.output_file }} | awk '{print substr($6, 1, length($6)-2)}')" - - echo "${{ inputs.benchmark_suite_name }}_CURRENT_TIME=${current_time} ms" >> $GITHUB_ENV - echo "${{ inputs.benchmark_suite_name }}_PREVIOUS_TIME=${previous_time} ms" >> $GITHUB_ENV - - if [[ ${{ steps.benchmark_restore.outputs.cache-hit == 'true' }} == 'true' ]]; then - difference=$((current_time-previous_time)) - echo "${{ inputs.benchmark_suite_name }}_DIFFERENCE=${difference#-} ms" >> $GITHUB_ENV - else - echo "${{ inputs.benchmark_suite_name }}_DIFFERENCE=No Previous Time" >> $GITHUB_ENV - fi \ No newline at end of file diff --git a/.github/actions/select_setup/action.yml b/.github/actions/select_setup/action.yml index 9c99b77ea9..47d3c2c83d 100644 --- a/.github/actions/select_setup/action.yml +++ b/.github/actions/select_setup/action.yml @@ -2,7 +2,7 @@ name: setup armclang description: installs dependencies and correct armclang version to build and test simeng ############################################################################## -# Calls the correct setup action based on parameters passed into this action;. +# Calls the correct setup action based on parameters passed into this action. ############################################################################## inputs: diff --git a/.github/actions/setup_gcc_macos/action.yml b/.github/actions/setup_gcc_macos/action.yml index 738f345893..9992548c26 100644 --- a/.github/actions/setup_gcc_macos/action.yml +++ b/.github/actions/setup_gcc_macos/action.yml @@ -38,14 +38,6 @@ runs: ####################################### # Build SimEng - - # if [[ ${{ inputs.MODE }} == "Release" ]]; then - # cmake --build build -j $(sysctl -n hw.ncpu) - # else - # echo "cores: $(sysctl -n hw.ncpu)" - # cmake --build build -j 5 - # fi - ####################################### - name: Build SimEng shell: bash diff --git a/.github/actions/setup_gcc_ubuntu/action.yml b/.github/actions/setup_gcc_ubuntu/action.yml index 7e73d60975..f5325dc747 100644 --- a/.github/actions/setup_gcc_ubuntu/action.yml +++ b/.github/actions/setup_gcc_ubuntu/action.yml @@ -71,17 +71,8 @@ runs: apt upgrade -y ####################################### - # Running this prevents gcc-10 on ubuntu 20 from segfaulting in unit tests for some reason - # (installs some packages, not sure which ones prevent failure, but it doesn't take long to run). + # Install GCC ####################################### -# - if: ${{ inputs.gcc-version == 'gcc-10' }} -# name: install llvm -# shell: bash -# run: | -# wget https://apt.llvm.org/llvm.sh -# chmod +x llvm.sh -# ./llvm.sh 14 - - name: Install gcc shell: bash run: | @@ -91,7 +82,8 @@ runs: ####################################### # Build SimEng - # Then store the C compiler and CPP compiler as environmental variables to be used by LINUX_BUILD_TEST + # Then store the C compiler and CPP compiler as environmental variables to + # be used by LINUX_BUILD_TEST ####################################### - name: Build SimEng shell: bash diff --git a/.github/actions/simeng_benchmarks/action.yml b/.github/actions/simeng_benchmarks/action.yml index b5f5d8fba9..65e18602fb 100644 --- a/.github/actions/simeng_benchmarks/action.yml +++ b/.github/actions/simeng_benchmarks/action.yml @@ -17,7 +17,9 @@ runs: steps: ################################## - # clones repo with different versions of the checkout action, as container has different node versions and some compilers run on older OSes that have differing node versions + # clones repo with different versions of the checkout action, as container + # has different node versions and some compilers run on older OSes that + # have differing node versions ################################## - if: ${{ contains(fromJson('["ubuntu:18.04"]'), matrix.OS) }} diff --git a/.github/workflows/LINUX_BUILD_TEST.yml b/.github/workflows/LINUX_BUILD_TEST.yml index 3e1ea6871c..3ae06c1de5 100644 --- a/.github/workflows/LINUX_BUILD_TEST.yml +++ b/.github/workflows/LINUX_BUILD_TEST.yml @@ -77,7 +77,8 @@ jobs: steps: ####################################### - # Clones repo to workspace. (ubuntu 18 is missing correct glibc version for newer checkout action version i.e. use older checkout version) + # Clones repo to workspace. (ubuntu 18 is missing correct glibc version + # for newer checkout action version i.e. use older checkout version) # NOTE: may want to remove support for gcc-7 soon ####################################### - if: ${{ contains(fromJson('["ubuntu:18.04"]'), matrix.OS) }} @@ -161,5 +162,4 @@ jobs: with: BENCHMARK_BRANCH: ${{ env.BENCHMARK_BRANCH }} OS: ${{ matrix.OS }} - PAT: ${{ env.PAT }} - ########################################## \ No newline at end of file + PAT: ${{ env.PAT }} \ No newline at end of file diff --git a/.github/workflows/MAIN.yml b/.github/workflows/MAIN.yml index db0838ad92..8099ed46ab 100644 --- a/.github/workflows/MAIN.yml +++ b/.github/workflows/MAIN.yml @@ -4,19 +4,10 @@ name: "Build" on: workflow_dispatch: -# workflow_call: -# push: -# branches: -# - dev - pull_request: branches: - dev - main - - -# schedule: -# - cron: '0 0 */6 * *' # Runs every 6 days jobs: