Skip to content

integrate PolyBench/C benchmark - #478

Merged
ksh8281 merged 1 commit into
Samsung:mainfrom
Luca388:impl/PolyBench
Aug 25, 2026
Merged

integrate PolyBench/C benchmark#478
ksh8281 merged 1 commit into
Samsung:mainfrom
Luca388:impl/PolyBench

Conversation

@Luca388

@Luca388 Luca388 commented Aug 18, 2026

Copy link
Copy Markdown
Contributor

Added the PolyBench/C 4.2 benchmark suite for issue #442, updated benchmark.py to run PolyBench benchmarks, and added polybench.py to compile them to WebAssembly.

@clover2123

Copy link
Copy Markdown
Collaborator

This is a huge update because it includes all the polybench source code.
IMO what about adding a submodule under the test/wasmBenchmarker directory instead of including these source files?
(Currently, we are using many submodules in the third_party directory, such as GCutil and sljit)

It seems that the following repo would be suitable for a submodule (it is a 4.2.1 version, but I cannot find any 4.2 version repo)
https://github.com/MatthiasJReisinger/PolyBenchC-4.2.1

@Luca388

Luca388 commented Aug 20, 2026

Copy link
Copy Markdown
Contributor Author

This is a huge update because it includes all the polybench source code. IMO what about adding a submodule under the test/wasmBenchmarker directory instead of including these source files? (Currently, we are using many submodules in the third_party directory, such as GCutil and sljit)

It seems that the following repo would be suitable for a submodule (it is a 4.2.1 version, but I cannot find any 4.2 version repo) https://github.com/MatthiasJReisinger/PolyBenchC-4.2.1

Thanks for the suggestion. I updated the PR to use the PolyBenchC-4.2.1 repository as a submodule under test/wasmBenchmarker.

@clover2123

Copy link
Copy Markdown
Collaborator

It seems that the added polybench tests are not running at all in CI.
The default test directory of benchmark.py is set to ctests, and the current CI just uses this default directory.
(please check below code)

- name: Run Tests
run: |
test/wasmBenchmarker/benchmark.py --engines $GITHUB_WORKSPACE/out/linux/${{ matrix.arch }}/walrus --iterations 2 --verbose --summary --results i j2i n2i j n2j

TEST_DIR = join(dirname(abspath(__file__)), "ctests")

@clover2123

Copy link
Copy Markdown
Collaborator

It may be more complicated to merge polybench into the existing wasmBenchmarker.
Instead, what about simply separating/adding a new directory, such as test/polybench along with its own python script?
In this case, you also need to add a job in .github/workflow/actions.yml to explicitly run the polybench tests.

@Luca388
Luca388 force-pushed the impl/PolyBench branch 2 times, most recently from 743aafe to 6c1ecda Compare August 21, 2026 09:38
@Luca388

Luca388 commented Aug 21, 2026

Copy link
Copy Markdown
Contributor Author

It may be more complicated to merge polybench into the existing wasmBenchmarker. Instead, what about simply separating/adding a new directory, such as test/polybench along with its own python script? In this case, you also need to add a job in .github/workflow/actions.yml to explicitly run the polybench tests.

I separated PolyBench into test/polybench with its own Python runner and added a dedicated x64/x86 CI job.

The new runner follows the existing benchmark.py behavior for performance measurements, JIT comparisons, memory measurement, summaries, and reports.

Comment thread .gitmodules Outdated
Comment on lines +20 to +22
[submodule "test/wasmBenchmarker/polybench"]
path = test/polybench/PolyBenchC-4.2.1
url = https://github.com/MatthiasJReisinger/PolyBenchC-4.2.1.git

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

minor typo)
The name of the submodule (test/wasmBenchmarker/polybench) and its path(test/polybench/PolyBenchC-4.2.1) are not identical.
Please unify these as test/polybench
Also, add ignore = untracked at the bottom

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for pointing this out.

I updated the submodule name and path to test/polybench/PolyBenchC-4.2.1 and added ignore = untracked to the submodule configuration.

@clover2123 clover2123 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@ksh8281
ksh8281 merged commit ca03dd7 into Samsung:main Aug 25, 2026
91 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants