Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Regress Olympia on MacOS #171

Merged
merged 23 commits into from
Jun 5, 2024
Merged
Show file tree
Hide file tree
Changes from 18 commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
bd54ada
Added macos-12 build to regression
kathlenemagnus May 31, 2024
4947329
Only build one MacOS target (Debug + clang)
kathlenemagnus May 31, 2024
ca9fe2d
Try different Conda env yml
kathlenemagnus May 31, 2024
3471ce1
Fixed Conda env yml path
kathlenemagnus May 31, 2024
da711eb
Add Conda env name
kathlenemagnus May 31, 2024
936dd41
Ubuntu and MacOs should be able to use the same Conda env yml
kathlenemagnus May 31, 2024
a12e6a8
Revert "Ubuntu and MacOs should be able to use the same Conda env yml"
kathlenemagnus May 31, 2024
4d128a6
Trying smaller set of requirements
kathlenemagnus May 31, 2024
a8125ef
Removed gcc linux (duh!)
kathlenemagnus May 31, 2024
34f7061
Added boost-cpp
kathlenemagnus May 31, 2024
081e65f
Attempt to fix Boost
kathlenemagnus May 31, 2024
5514ac4
Revert "Attempt to fix Boost"
kathlenemagnus May 31, 2024
7aa8eba
Attempt to fix Boost fail
kathlenemagnus May 31, 2024
70599fe
Another attempt to fix boost...
kathlenemagnus May 31, 2024
c17b688
Use Conda env var for path
kathlenemagnus May 31, 2024
88cf238
Updated macos Conda env yml
kathlenemagnus May 31, 2024
cd5ecd3
Removed useful fix
kathlenemagnus May 31, 2024
f2abfd6
Move to latest Mavis version
kathlenemagnus May 31, 2024
dc21d11
Trying with action conda-incubator
phattso Jun 5, 2024
88075cc
Convert tabs to spaces
phattso Jun 5, 2024
c6b0686
Always build Sparta with Release type
phattso Jun 5, 2024
ece20fd
Fix release -> Release
phattso Jun 5, 2024
e63e209
Update Mac Conda env yml
kathlenemagnus Jun 5, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/actions/build/entrypoint.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

set -x

source "/usr/share/miniconda/etc/profile.d/conda.sh"
source $CONDA/etc/profile.d/conda.sh
conda activate riscv_perf_model

echo "Starting Build Entry"
Expand Down
14 changes: 14 additions & 0 deletions .github/workflows/conda/macos_env.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
name: riscv_perf_model
kathlenemagnus marked this conversation as resolved.
Show resolved Hide resolved
channels:
- conda-forge
dependencies:
- doxygen>=1.8.20
- cmake>=3.25.2
- hdf5>=1.10.6
- sqlite>=3.40.0
- boost>=1.76.0
- boost-cpp>=1.76.0
- xz>=5.2.6
- yaml-cpp>=0.7.0
- rapidjson>=1.1.0
- cppcheck>=2.7.5
kathlenemagnus marked this conversation as resolved.
Show resolved Hide resolved
87 changes: 87 additions & 0 deletions .github/workflows/macos-build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
on:
pull_request:
branches:
- master

env:
CACHE_VERSION: v1

name: Regress Olympia on MacOS
jobs:
build_test_job:
strategy:
# Strategy is a matrix of debug and release builds/regression
matrix:
os: [macos-12]
BUILD_TYPE: [Debug]
COMPILER: [clang]

name: MacOS-${{ matrix.BUILD_TYPE }}-${{matrix.COMPILER}}
runs-on: ${{ matrix.os }}

# Set up a global environment variable for build scripts
env:
OLYMPIA_BUILD_TYPE: ${{ matrix.BUILD_TYPE }}
COMPILER: ${{ matrix.COMPILER }}

steps:

# Get Olympia
- name: Checkout Olympia
uses: actions/checkout@v3
with:
submodules: recursive

# Get Sparta
- name: Checkout Sparta
uses: actions/checkout@v3
with:
repository: sparcians/map
path: map
ref: map_v2.0.13

# Setup Conda and build environment
- name: Grab Python v3.8
uses: actions/setup-python@v3
with:
python-version: 3.8

# Cache the conda dependencies to
- name: Cache conda deps
uses: actions/cache@v3
with:
key: ${{ matrix.os }}-${{ matrix.BUILD_TYPE }}-${{ matrix.COMPILER }}-conda-${{ hashFiles('.github/workflows/conda/macos_env.yml') }}
path: /usr/share/miniconda/envs/riscv_perf_model # Default path for conda

# Setup CCache to cache builds
- name: ccache
uses: hendrikmuhs/[email protected]
with:
key: ${{ matrix.os }}-${{ matrix.BUILD_TYPE }}-${{ matrix.COMPILER }}-ccache-${{ github.ref_name }}
restore-keys: |
${{ matrix.os }}-${{ matrix.BUILD_TYPE }}-${{ matrix.COMPILER }}-ccache-master
${{ matrix.os }}-${{ matrix.BUILD_TYPE }}-${{ matrix.COMPILER }}-ccache

- name: Setup Conda Environment
run: |
# $CONDA is an environment variable pointing to the root of the miniconda directory
$CONDA/bin/conda config --set channel_priority strict
$CONDA/bin/conda env update --file ${{ github.workspace }}/.github/workflows/conda/macos_env.yml
$CONDA/bin/conda init bash

# Build
- name: Build & Regress
run: ./.github/actions/build/entrypoint.sh

# Save error logs, etc
- name: Save artifacts
if: failure()
uses: actions/upload-artifact@main
with:
name: ErrorLogs-${{matrix.BUILD_TYPE}}-${{matrix.COMPILER}}
path: ${{matrix.BUILD_TYPE}}/test/

#- name: CTest
# # Run CTests without Valgrind tests otherwise the runtime will be TOO long
# if: ${{ env.DABBLE_BUILD_TYPE == 'release' }} && ${{ env.VALGRIND == 'false' }}
# uses: ./.github/actions/ctest # Uses an action.yml in directory
6 changes: 5 additions & 1 deletion core/MavisUnit.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,11 @@ namespace olympia
std::vector<std::string> getISAFiles(sparta::TreeNode *n, const std::string & isa_file_path,
const std::string& pseudo_file_path)
{
std::vector<std::string> isa_files = {isa_file_path + "/isa_rv64g.json",
std::vector<std::string> isa_files = {isa_file_path + "/isa_rv64i.json",
isa_file_path + "/isa_rv64m.json",
isa_file_path + "/isa_rv64a.json",
isa_file_path + "/isa_rv64f.json",
isa_file_path + "/isa_rv64d.json",
isa_file_path + "/isa_rv64zba.json",
isa_file_path + "/isa_rv64zbb.json",
isa_file_path + "/isa_rv64zbs.json",
Expand Down
2 changes: 1 addition & 1 deletion mavis
Submodule mavis updated 69 files
+1 −0 .github/CODEOWNERS
+3 −2 CMakeLists.txt
+13 −3 README.md
+4 −4 impl/DTable.tcc
+10 −11 impl/DTableBuildSpecial.tcc
+79 −80 impl/ExtractorRegistry.cpp
+0 −3,306 impl/Form.h
+38 −37 impl/FormRegistry.cpp
+546 −0 impl/forms/CommonForms.cpp
+366 −0 impl/forms/CommonForms.h
+468 −0 impl/forms/CompressedForms.cpp
+305 −0 impl/forms/CompressedForms.h
+63 −63 impl/forms/ExtractorDerived.h
+14 −45 impl/forms/ExtractorForms.h
+276 −0 impl/forms/VectorForms.cpp
+173 −0 impl/forms/VectorForms.h
+374 −270 json/isa_rv64d.json
+345 −252 json/isa_rv64f.json
+161 −146 json/isa_rv64h.json
+556 −493 json/isa_rv64i.json
+104 −91 json/isa_rv64m.json
+402 −285 json/isa_rv64q.json
+15 −13 json/isa_rv64v.json
+73 −65 json/isa_rv64zba.json
+251 −224 json/isa_rv64zbb.json
+27 −24 json/isa_rv64zbc.json
+72 −64 json/isa_rv64zbs.json
+111 −0 json/isa_rv64zcb.json
+20 −0 json/isa_rv64zfbfmin.json
+365 −0 json/isa_rv64zfh.json
+22 −0 json/isa_rv64zfh_d.json
+80 −0 json/isa_rv64zicbo.json
+18 −0 json/isa_rv64zicond.json
+68 −0 json/isa_rv64zicsr.json
+11 −0 json/isa_rv64zifencei.json
+78 −0 json/isa_rv64zihintntl.json
+21 −0 json/isa_rv64zvfbfwma.json
+406 −0 json/isa_rv64zvk.json
+2 −2 mavis/DTable.h
+1 −1 mavis/DecodedInstInfo.h
+1 −1 mavis/DisassemblerIF.hpp
+159 −11 mavis/Extractor.h
+1 −1 mavis/ExtractorDirectInfo.h
+0 −160 mavis/ExtractorIF.h
+1 −1 mavis/ExtractorRegistry.h
+1 −1 mavis/ExtractorWrap.hpp
+1 −0 mavis/Field.h
+118 −0 mavis/Form.h
+0 −228 mavis/FormCommon.h
+2 −2 mavis/FormGeneric.hpp
+0 −74 mavis/FormIF.h
+3 −3 mavis/FormRegistry.h
+94 −329 mavis/FormStub.h
+1 −1 mavis/IFactory.h
+3 −3 mavis/IFactoryCustom.h
+17 −9 mavis/InstMetaData.h
+2 −0 test/CMakeLists.txt
+2,462 −1,025 test/golden.out
+22 −22 test/isa_pseudo.json
+88 −0 test/isa_tagged.json
+248 −14 test/main.cpp
+8 −0 test/mallard_uarch_pseudo.json
+1,226 −0 test/mallard_uarch_rv64g.json
+0 −3,372 test/rv64.json
+2 −2 test/rv64.tset
+592 −152 test/rv64_base.json
+4 −0 test/rv64_bf16.tset
+28 −0 test/uarch_core.json
+9 −9 test/uarch_pseudo.json
Loading