sstsimulator / sst-elements

SST Architectural Simulation Components and Libraries
http://www.sst-simulator.org
Other
93 stars 121 forks source link

Vanadis - Refactoring codebase to modularize instruction and LSQ definitions #2405

Closed Anunalla closed 1 month ago

Anunalla commented 1 month ago

VanadisInstruction, VanadisBasicLSQ and decoder classes were refactored to improve code reuse and readability. The current class design also makes it easier to introduce SIMT pipeline capabilities in the future (a separate PR is planned for the proposed SIMT feature).

sst-autotester commented 1 month ago

Status Flag 'Pre-Test Inspection' - - This Pull Request Requires Inspection... The code must be inspected by a member of the Team before Testing/Merging NO INSPECTION HAS BEEN PERFORMED ON THIS PULL REQUEST! - This PR must be inspected by setting label 'AT: PRE-TEST INSPECTED'.

sst-autotester commented 1 month ago

Status Flag 'Pre-Test Inspection' - - This Pull Request Requires Inspection... The code must be inspected by a member of the Team before Testing/Merging NO INSPECTION HAS BEEN PERFORMED ON THIS PULL REQUEST! - This PR must be inspected by setting label 'AT: PRE-TEST INSPECTED'.

sst-autotester commented 1 month ago

Status Flag 'Pre-Test Inspection' - SUCCESS: The last commit to this Pull Request has been INSPECTED by label AT: PRE-TEST INSPECTED! Autotester is Removing Label; this inspection will remain valid until a new commit to source branch is performed.

sst-autotester commented 1 month ago

Status Flag 'Pull Request AutoTester' - Testing Jenkins Projects:

Pull Request Auto Testing STARTING (click to expand)

Build Information

Test Name: SST__AutotestGen2_NewFW_sst-test_OMPI-4.1.4_PY3.6_sst-elements

  • Build Num: 1660
  • Status: STARTED

Build Information

Test Name: SST__AutotestGen2_NewFW_sst-test_OMPI-4.1.4_PY3.6_sst-elements_Make-Dist

  • Build Num: 1070
  • Status: STARTED

Build Information

Test Name: SST__AutotestGen2_NewFW_sst-test_OMPI-4.1.4_PY3.6_sst-elements_MT-2

  • Build Num: 1618
  • Status: STARTED

Build Information

Test Name: SST__AutotestGen2_NewFW_sst-test_OMPI-4.1.4_PY3.6_sst-elements_MR-2

  • Build Num: 1618
  • Status: STARTED

Build Information

Test Name: SST__AutotestGen2_NewFW_OSX-14-XC15-ARM2_OMPI-4.1.6_PY3.10_sst-elements

  • Build Num: 190
  • Status: STARTED
## Using Repos:
Repo: ELEMENTS (Anunalla/sst-elements)
  • Branch: issue-fix
  • SHA: 952b072f2472eb22dc53773077510ba0e731ded2
  • Mode: TEST_REPO
Repo: SQE (sstsimulator/sst-sqe)
  • Branch: devel
  • SHA: 2574c98896598820227190149834172b962dc3fc
  • Mode: SUPPORT_REPO
Repo: CORE (sstsimulator/sst-core)
  • Branch: devel
  • SHA: 4478448d4ba7e6c8f1ca598f1537071b15ffbd6d
  • Mode: SUPPORT_REPO
Repo: MACRO (sstsimulator/sst-macro)
  • Branch: devel
  • SHA: 50a62170b3681ea20cc2f56abd2eb3911053f1fc
  • Mode: SUPPORT_REPO
Pull Request Author: Anunalla

sst-autotester commented 1 month ago

Status Flag 'Pull Request AutoTester' - Jenkins Testing: 1 or more Jobs FAILED

Note: Testing will normally be attempted again in approx. 4 Hrs. If a change to the PR source branch occurs, the testing will be attempted again on next available autotester run.

Pull Request Auto Testing has FAILED (click to expand)

Job: SST__AutotestGen2_NewFW_sst-test_OMPI-4.1.4_PY3.6_sst-elements

  • Result: FAILED
  • Build #: 1660
  • URL: Jenkins server at https://sst-jenkins.sandia.gov/view/SST/job/SST__AutotestGen2_NewFW_sst-test_OMPI-4.1.4_PY3.6_sst-elements/1660/consoleFull
  • Job: - Status: FAILURE

Test Results

Test Name Status
test_vanadis_short_tests_035_small_misc_stream_fortran_riscv64_ FAILED
test_vanadis_short_tests_042_small_misc_clone_mipsel_gold1 FAILED
test_vanadis_short_tests_043_small_misc_clone_mipsel_gold2 FAILED
test_vanadis_short_tests_044_small_misc_clone_riscv64_gold1 FAILED
test_vanadis_short_tests_045_small_misc_clone_riscv64_gold2 FAILED
test_vanadis_short_tests_046_small_misc_pthread_mipsel_gold1 FAILED
test_vanadis_short_tests_047_small_misc_pthread_mipsel_gold2 FAILED
test_vanadis_short_tests_048_small_misc_pthread_riscv64_gold1 FAILED
test_vanadis_short_tests_049_small_misc_pthread_riscv64_gold2 FAILED
test_vanadis_short_tests_050_small_misc_openmp_mipsel_4core FAILED
test_vanadis_short_tests_051_small_misc_openmp_mipsel_4thread FAILED
test_vanadis_short_tests_052_small_misc_openmp_mipsel_2core_2thread FAILED
test_vanadis_short_tests_053_small_misc_openmp_riscv64_4core FAILED
test_vanadis_short_tests_054_small_misc_openmp_riscv64_4thread FAILED
test_vanadis_short_tests_055_small_misc_openmp_riscv64_2core_2thread FAILED
test_vanadis_short_tests_056_small_misc_openmp2_riscv64_16core FAILED
test_vanadis_short_tests_057_small_misc_openmp2_riscv64_32thread FAILED
test_vanadis_short_tests_058_small_misc_openmp2_riscv64_4core_8thread FAILED

Job: SST__AutotestGen2_NewFW_sst-test_OMPI-4.1.4_PY3.6_sst-elements_Make-Dist

  • Result: FAILED
  • Build #: 1070
  • URL: Jenkins server at https://sst-jenkins.sandia.gov/view/SST/job/SST__AutotestGen2_NewFW_sst-test_OMPI-4.1.4_PY3.6_sst-elements_Make-Dist/1070/consoleFull
  • Job: - Status: FAILURE

Test Results

Test Name Status
test_vanadis_short_tests_035_small_misc_stream_fortran_riscv64_ FAILED
test_vanadis_short_tests_042_small_misc_clone_mipsel_gold1 FAILED
test_vanadis_short_tests_043_small_misc_clone_mipsel_gold2 FAILED
test_vanadis_short_tests_044_small_misc_clone_riscv64_gold1 FAILED
test_vanadis_short_tests_045_small_misc_clone_riscv64_gold2 FAILED
test_vanadis_short_tests_046_small_misc_pthread_mipsel_gold1 FAILED
test_vanadis_short_tests_047_small_misc_pthread_mipsel_gold2 FAILED
test_vanadis_short_tests_048_small_misc_pthread_riscv64_gold1 FAILED
test_vanadis_short_tests_049_small_misc_pthread_riscv64_gold2 FAILED
test_vanadis_short_tests_050_small_misc_openmp_mipsel_4core FAILED
test_vanadis_short_tests_051_small_misc_openmp_mipsel_4thread FAILED
test_vanadis_short_tests_052_small_misc_openmp_mipsel_2core_2thread FAILED
test_vanadis_short_tests_053_small_misc_openmp_riscv64_4core FAILED
test_vanadis_short_tests_054_small_misc_openmp_riscv64_4thread FAILED
test_vanadis_short_tests_055_small_misc_openmp_riscv64_2core_2thread FAILED
test_vanadis_short_tests_056_small_misc_openmp2_riscv64_16core FAILED
test_vanadis_short_tests_057_small_misc_openmp2_riscv64_32thread FAILED
test_vanadis_short_tests_058_small_misc_openmp2_riscv64_4core_8thread FAILED

Job: SST__AutotestGen2_NewFW_sst-test_OMPI-4.1.4_PY3.6_sst-elements_MT-2

  • Result: PASSED
  • Build #: 1618
  • URL: Jenkins server at https://sst-jenkins.sandia.gov/view/SST/job/SST__AutotestGen2_NewFW_sst-test_OMPI-4.1.4_PY3.6_sst-elements_MT-2/1618/consoleFull

Job: SST__AutotestGen2_NewFW_sst-test_OMPI-4.1.4_PY3.6_sst-elements_MR-2

  • Result: PASSED
  • Build #: 1618
  • URL: Jenkins server at https://sst-jenkins.sandia.gov/view/SST/job/SST__AutotestGen2_NewFW_sst-test_OMPI-4.1.4_PY3.6_sst-elements_MR-2/1618/consoleFull

Job: SST__AutotestGen2_NewFW_OSX-14-XC15-ARM2_OMPI-4.1.6_PY3.10_sst-elements

  • Result: FAILED
  • Build #: 190
  • URL: Jenkins server at https://sst-jenkins.sandia.gov/view/SST/job/SST__AutotestGen2_NewFW_OSX-14-XC15-ARM2_OMPI-4.1.6_PY3.10_sst-elements/190/consoleFull
  • Job: - Status: FAILURE
hughes-c commented 1 month ago

I will need to dig into your changes more because they changed the output of the test suite. I can't list everything but: node0.cpu0:decoder0:branch_unit.branch_cache_hit.1 : Accumulator : Sum.u64 = 170720; SumSQ.u64 = 170720; Count.u64 = 170720; Min.u64 = 1; Max.u64 = 1; --> node0.cpu0:decoder0:branch_unit.branch_cache_hit.1 : Accumulator : Sum.u64 = 177134; SumSQ.u64 = 177134; Count.u64 = 177134; Min.u64 = 1; Max.u64 = 1;

hughes-c commented 1 month ago

@Anunalla It looks like the differences are small enough to overwrite the reference files with the new values. But, there's also an issue with the osx (llvm) compilation.

In file included from ./inst/vinstall.h:41:
./inst/vxor.h:44:18: warning: 'printToBuffer' overrides a member function but is not marked 'override' [-Winconsistent-missing-override]
    virtual void printToBuffer(char* buffer, size_t buffer_size)
                 ^
./inst/vinst.h:319:22: note: overridden virtual function is here
        virtual void printToBuffer(char* buffer, size_t buffer_size) { snprintf(buffer, buffer_size, "%s", getInstCode()); }
                     ^
In file included from decoder/vmipsdecoder.cc:19:
In file included from ./decoder/vmipsdecoder.h:22:
In file included from ./inst/vinstall.h:30:
./inst/vmuli.h:53:69: error: non-virtual member function marked 'override' hides virtual member function
    void execute(SST::Output* output, VanadisRegisterFile* regFile) override
sst-autotester commented 1 month ago

Status Flag 'Pre-Test Inspection' - SUCCESS: The last commit to this Pull Request has been INSPECTED by label AT: PRE-TEST INSPECTED! Autotester is Removing Label; this inspection will remain valid until a new commit to source branch is performed.

sst-autotester commented 1 month ago

Status Flag 'Pull Request AutoTester' - Testing Jenkins Projects:

Pull Request Auto Testing STARTING (click to expand)

Build Information

Test Name: SST__AutotestGen2_NewFW_sst-test_OMPI-4.1.4_PY3.6_sst-elements

  • Build Num: 1689
  • Status: STARTED

Build Information

Test Name: SST__AutotestGen2_NewFW_sst-test_OMPI-4.1.4_PY3.6_sst-elements_Make-Dist

  • Build Num: 1081
  • Status: STARTED

Build Information

Test Name: SST__AutotestGen2_NewFW_sst-test_OMPI-4.1.4_PY3.6_sst-elements_MT-2

  • Build Num: 1647
  • Status: STARTED

Build Information

Test Name: SST__AutotestGen2_NewFW_sst-test_OMPI-4.1.4_PY3.6_sst-elements_MR-2

  • Build Num: 1647
  • Status: STARTED

Build Information

Test Name: SST__AutotestGen2_NewFW_OSX-14-XC15-ARM2_OMPI-4.1.6_PY3.10_sst-elements

  • Build Num: 219
  • Status: STARTED
## Using Repos:
Repo: ELEMENTS (Anunalla/sst-elements)
  • Branch: issue-fix
  • SHA: 90e3befbd6b963364665c32b001b93b4b64981b7
  • Mode: TEST_REPO
Repo: SQE (sstsimulator/sst-sqe)
  • Branch: devel
  • SHA: 2574c98896598820227190149834172b962dc3fc
  • Mode: SUPPORT_REPO
Repo: CORE (sstsimulator/sst-core)
  • Branch: devel
  • SHA: 6ee77fb9de8a25ce3a4b2464317a0223175be753
  • Mode: SUPPORT_REPO
Repo: MACRO (sstsimulator/sst-macro)
  • Branch: devel
  • SHA: e211a97813a499816de44ccd603da04719f81f18
  • Mode: SUPPORT_REPO
Pull Request Author: Anunalla

sst-autotester commented 1 month ago

Status Flag 'Pull Request AutoTester' - Jenkins Testing: all Jobs PASSED

Pull Request Auto Testing has PASSED (click to expand)

Build Information

Test Name: SST__AutotestGen2_NewFW_sst-test_OMPI-4.1.4_PY3.6_sst-elements

  • Build Num: 1689
  • Status: PASSED

Build Information

Test Name: SST__AutotestGen2_NewFW_sst-test_OMPI-4.1.4_PY3.6_sst-elements_Make-Dist

  • Build Num: 1081
  • Status: PASSED

Build Information

Test Name: SST__AutotestGen2_NewFW_sst-test_OMPI-4.1.4_PY3.6_sst-elements_MT-2

  • Build Num: 1647
  • Status: PASSED

Build Information

Test Name: SST__AutotestGen2_NewFW_sst-test_OMPI-4.1.4_PY3.6_sst-elements_MR-2

  • Build Num: 1647
  • Status: PASSED

Build Information

Test Name: SST__AutotestGen2_NewFW_OSX-14-XC15-ARM2_OMPI-4.1.6_PY3.10_sst-elements

  • Build Num: 219
  • Status: PASSED
sst-autotester commented 1 month ago

Status Flag 'Pre-Merge Inspection' - - This Pull Request Requires Inspection... The code must be inspected by a member of the Team before Testing/Merging THE LAST COMMIT TO THIS PULL REQUEST HAS NOT BEEN REVIEWED YET!

sst-autotester commented 1 month ago

All Jobs Finished; status = PASSED, However Inspection must be performed before merge can occur...

sst-autotester commented 1 month ago

Status Flag 'Pre-Merge Inspection' - SUCCESS: The last commit to this Pull Request has been INSPECTED AND APPROVED by [ hughes-c ]!

sst-autotester commented 1 month ago

Status Flag 'Pull Request AutoTester' - Pull Request will be Automerged

sst-autotester commented 1 month ago

Merge on Pull Request# 2405: IS A SUCCESS - Pull Request successfully merged