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

Use yuria4 for benchmarking #216

Merged
merged 4 commits into from
Aug 23, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
88 changes: 45 additions & 43 deletions .gitlab-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,22 @@ variables:
GRAALEE_VERSION: oracle-graalvm-ea-jdk-24.0.0-ea.01
JAVA_VERSION: temurin-22.0.1+8

.shared-scripts:
download-binaries: &DOWNLOAD_BINARIES |
sftp tmp-artifacts:incoming/${CI_PIPELINE_ID}/som-native-interp-ast.lz4
sftp tmp-artifacts:incoming/${CI_PIPELINE_ID}/som-native-interp-bc.lz4
sftp tmp-artifacts:incoming/${CI_PIPELINE_ID}/som-native-interp-ast-ee.lz4
sftp tmp-artifacts:incoming/${CI_PIPELINE_ID}/som-native-interp-bc-ee.lz4
lz4 -d som-native-interp-ast.lz4 som-native-interp-ast
lz4 -d som-native-interp-bc.lz4 som-native-interp-bc
lz4 -d som-native-interp-ast-ee.lz4 som-native-interp-ast-ee
lz4 -d som-native-interp-bc-ee.lz4 som-native-interp-bc-ee

build-graal-locally: &BUILD_GRAAL_LOCALLY |
./som --setup labsjdk
mx sforceimport
mx --env libgraal build

before_script:
- (cd core-lib && git remote add smarr https://github.com/smarr/SOM.git || true; git fetch --all)
- git submodule update --init
Expand All @@ -34,7 +50,7 @@ before_script:

test:
stage: build-and-test
tags: [yuria]
tags: [yuria4]
script:
- ./som --setup labsjdk
- mx sforceimport
Expand All @@ -48,6 +64,7 @@ test:
- mx build-native-obj-test
- ./som-obj-storage-tester

- (cd ../graal/tools && mx build)
- mx tests-nodestats || true
- mx tests-coverage || true

Expand Down Expand Up @@ -138,30 +155,20 @@ build:aarch64-test-and-rebench:
- mx tests-coverage || true

- export PATH=$PATH:/Users/gitlab-runner/Library/Python/3.12/bin
- rebench -c --experiment="CI ID $CI_PIPELINE_ID" --branch="$CI_COMMIT_REF_NAME" -c rebench.conf
- rebench -c --experiment="CI ID $CI_PIPELINE_ID" --branch="$CI_COMMIT_REF_NAME" rebench.conf

benchmark-y1:
stage: benchmark
needs: ["build:native-interp-ast", "build:native-interp-bc"]
tags: [yuria]
script:
- ./som --setup labsjdk
- mx sforceimport
- mx --env libgraal build
- sftp tmp-artifacts:incoming/${CI_PIPELINE_ID}/som-native-interp-ast.lz4
- sftp tmp-artifacts:incoming/${CI_PIPELINE_ID}/som-native-interp-bc.lz4
- sftp tmp-artifacts:incoming/${CI_PIPELINE_ID}/som-native-interp-ast-ee.lz4
- sftp tmp-artifacts:incoming/${CI_PIPELINE_ID}/som-native-interp-bc-ee.lz4

- lz4 -d som-native-interp-ast.lz4 som-native-interp-ast
- lz4 -d som-native-interp-bc.lz4 som-native-interp-bc
- lz4 -d som-native-interp-ast-ee.lz4 som-native-interp-ast-ee
- lz4 -d som-native-interp-bc-ee.lz4 som-native-interp-bc-ee
- *BUILD_GRAAL_LOCALLY
- *DOWNLOAD_BINARIES

# Profile
- rebench -c --experiment="CI ID $CI_PIPELINE_ID" --branch="$CI_COMMIT_REF_NAME" -c rebench.conf profiling m:yuria
- rebench -c --experiment="CI ID $CI_PIPELINE_ID" --branch="$CI_COMMIT_REF_NAME" rebench.conf profiling m:yuria
# Run Benchmarks
- rebench -c --experiment="CI ID $CI_PIPELINE_ID" --branch="$CI_COMMIT_REF_NAME" -c rebench.conf m:yuria
- rebench -c --experiment="CI ID $CI_PIPELINE_ID" --branch="$CI_COMMIT_REF_NAME" rebench.conf m:yuria
after_script:
- sudo reown-project.sh

Expand All @@ -170,23 +177,13 @@ benchmark-y2:
needs: ["build:native-interp-ast", "build:native-interp-bc"]
tags: [yuria2]
script:
- ./som --setup labsjdk
- mx sforceimport
- mx --env libgraal build
- sftp tmp-artifacts:incoming/${CI_PIPELINE_ID}/som-native-interp-ast.lz4
- sftp tmp-artifacts:incoming/${CI_PIPELINE_ID}/som-native-interp-bc.lz4
- sftp tmp-artifacts:incoming/${CI_PIPELINE_ID}/som-native-interp-ast-ee.lz4
- sftp tmp-artifacts:incoming/${CI_PIPELINE_ID}/som-native-interp-bc-ee.lz4

- lz4 -d som-native-interp-ast.lz4 som-native-interp-ast
- lz4 -d som-native-interp-bc.lz4 som-native-interp-bc
- lz4 -d som-native-interp-ast-ee.lz4 som-native-interp-ast-ee
- lz4 -d som-native-interp-bc-ee.lz4 som-native-interp-bc-ee
- *BUILD_GRAAL_LOCALLY
- *DOWNLOAD_BINARIES

# Profile
- rebench -c --experiment="CI ID $CI_PIPELINE_ID" --branch="$CI_COMMIT_REF_NAME" -c rebench.conf profiling m:yuria2
- rebench -c --experiment="CI ID $CI_PIPELINE_ID" --branch="$CI_COMMIT_REF_NAME" rebench.conf profiling m:yuria2
# Run Benchmarks
- rebench -c --experiment="CI ID $CI_PIPELINE_ID" --branch="$CI_COMMIT_REF_NAME" -c rebench.conf m:yuria2
- rebench -c --experiment="CI ID $CI_PIPELINE_ID" --branch="$CI_COMMIT_REF_NAME" rebench.conf m:yuria2
after_script:
- sudo reown-project.sh

Expand All @@ -195,23 +192,28 @@ benchmark-y3:
needs: ["build:native-interp-ast", "build:native-interp-bc"]
tags: [yuria3]
script:
- ./som --setup labsjdk
- mx sforceimport
- mx --env libgraal build
- sftp tmp-artifacts:incoming/${CI_PIPELINE_ID}/som-native-interp-ast.lz4
- sftp tmp-artifacts:incoming/${CI_PIPELINE_ID}/som-native-interp-bc.lz4
- sftp tmp-artifacts:incoming/${CI_PIPELINE_ID}/som-native-interp-ast-ee.lz4
- sftp tmp-artifacts:incoming/${CI_PIPELINE_ID}/som-native-interp-bc-ee.lz4
- *BUILD_GRAAL_LOCALLY
- *DOWNLOAD_BINARIES

# Profile
- rebench -c --experiment="CI ID $CI_PIPELINE_ID" --branch="$CI_COMMIT_REF_NAME" rebench.conf profiling m:yuria3
# Run Benchmarks
- rebench -c --experiment="CI ID $CI_PIPELINE_ID" --branch="$CI_COMMIT_REF_NAME" rebench.conf m:yuria3
after_script:
- sudo reown-project.sh

- lz4 -d som-native-interp-ast.lz4 som-native-interp-ast
- lz4 -d som-native-interp-bc.lz4 som-native-interp-bc
- lz4 -d som-native-interp-ast-ee.lz4 som-native-interp-ast-ee
- lz4 -d som-native-interp-bc-ee.lz4 som-native-interp-bc-ee
benchmark-y4:
stage: benchmark
needs: ["build:native-interp-ast", "build:native-interp-bc"]
tags: [yuria4]
script:
- *BUILD_GRAAL_LOCALLY
- *DOWNLOAD_BINARIES

# Profile
- rebench -c --experiment="CI ID $CI_PIPELINE_ID" --branch="$CI_COMMIT_REF_NAME" -c rebench.conf profiling m:yuria3
# - rebench -c --experiment="CI ID $CI_PIPELINE_ID" --branch="$CI_COMMIT_REF_NAME" rebench.conf profiling m:yuria4
# Run Benchmarks
- rebench -c --experiment="CI ID $CI_PIPELINE_ID" --branch="$CI_COMMIT_REF_NAME" -c rebench.conf m:yuria3
- rebench -c --experiment="CI ID $CI_PIPELINE_ID" --branch="$CI_COMMIT_REF_NAME" rebench.conf m:yuria4
after_script:
- sudo reown-project.sh

Expand Down
2 changes: 1 addition & 1 deletion mx.trufflesom/suite.py
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@
},
},
"dependencies": ["trufflesom"],
"distDependencies": ["truffle:TRUFFLE_API"],
"distDependencies": ["truffle:TRUFFLE_API"], # , "tools:TRUFFLE_COVERAGE", "tools:TRUFFLE_PROFILER"
},
"TRUFFLESOM_TEST": {
"description": "TruffleSOM JUnit Tests",
Expand Down
66 changes: 33 additions & 33 deletions rebench.conf
Original file line number Diff line number Diff line change
Expand Up @@ -23,22 +23,22 @@ benchmark_suites:
iterations: 1
invocations: 5
benchmarks:
- Richards: {extra_args: 1, machines: [yuria ]}
- DeltaBlue: {extra_args: 100, machines: [yuria2]}
- Richards: {extra_args: 1, machines: [yuria4]}
- DeltaBlue: {extra_args: 100, machines: [yuria4]}
- NBody: {extra_args: 1000, machines: [yuria3]}
- Json: {extra_args: 1, machines: [yuria ]}
- Json: {extra_args: 1, machines: [yuria4]}
- GraphSearch: {extra_args: 7, machines: [yuria2]}
- PageRank: {extra_args: 75, machines: [yuria3]}

macro-steady:
gauge_adapter: RebenchLog
command: *MACRO_CMD
benchmarks:
- Richards: {extra_args: 40, warmup: 30, iterations: 130, machines: [yuria ]}
- DeltaBlue: {extra_args: 10000, warmup: 20, iterations: 120, machines: [yuria2]}
- Richards: {extra_args: 40, warmup: 30, iterations: 130, machines: [yuria4]}
- DeltaBlue: {extra_args: 10000, warmup: 20, iterations: 120, machines: [yuria4]}
- NBody: {extra_args: 200000, warmup: 20, iterations: 120, machines: [yuria3]}
- Json: {extra_args: 80, warmup: 20, iterations: 120, machines: [yuria ]}
- GraphSearch: {extra_args: 25, warmup: 100, iterations: 250, machines: [yuria2]}
- Json: {extra_args: 80, warmup: 20, iterations: 120, machines: [yuria4]}
- GraphSearch: {extra_args: 25, warmup: 100, iterations: 250, machines: [yuria4]}
- PageRank: {extra_args: 1000, warmup: 20, iterations: 120, machines: [yuria3]}

awfy-startup:
Expand All @@ -47,14 +47,14 @@ benchmark_suites:
iterations: 1
invocations: 5
benchmarks:
- CD: {extra_args: 10, machines: [yuria2]}
- Havlak: {extra_args: 15, machines: [yuria3]}
- CD: {extra_args: 10, machines: [yuria4]}
- Havlak: {extra_args: 15, machines: [yuria4]}

awfy-steady:
gauge_adapter: RebenchLog
command: *AWFY_CMD
benchmarks:
- CD: {extra_args: 100, warmup: 30, iterations: 130, machines: [yuria2]}
- CD: {extra_args: 100, warmup: 30, iterations: 130, machines: [yuria4]}
- Havlak: {extra_args: 150, warmup: 30, iterations: 130, machines: [yuria3]}

micro-startup:
Expand All @@ -63,16 +63,16 @@ benchmark_suites:
iterations: 1
invocations: 5
benchmarks:
- Fannkuch: {extra_args: 7, machines: [yuria ]}
- Fannkuch: {extra_args: 7, machines: [yuria4]}
- Fibonacci: {extra_args: 10, machines: [yuria2]}
- Dispatch: {extra_args: 10, machines: [yuria3]}
- Bounce: {extra_args: 10, machines: [yuria ]}
- Bounce: {extra_args: 10, machines: [yuria4]}
- Loop: {extra_args: 100, machines: [yuria2]}
- Permute: {extra_args: 10, machines: [yuria3]}
- Queens: {extra_args: 10, machines: [yuria ]}
- Queens: {extra_args: 10, machines: [yuria4]}
- List: {extra_args: 2, machines: [yuria2]}
- Recurse: {extra_args: 12, machines: [yuria3]}
- Storage: {extra_args: 8, machines: [yuria ]}
- Storage: {extra_args: 8, machines: [yuria4]}
- Sieve: {extra_args: 20, machines: [yuria2]}
- BubbleSort: {extra_args: 15, machines: [yuria3]}
- QuickSort: {extra_args: 15, machines: [yuria ]}
Expand All @@ -91,37 +91,37 @@ benchmark_suites:
gauge_adapter: RebenchLog
command: *MICRO_CMD
benchmarks:
- Fannkuch: {extra_args: 9, warmup: 5, iterations: 55, machines: [yuria ]}
- Fibonacci: {extra_args: 1000, warmup: 10, iterations: 60, machines: [yuria ]}
- Dispatch: {extra_args: 10000, warmup: 5, iterations: 55, machines: [yuria3]}
- Bounce: {extra_args: 4000, warmup: 10, iterations: 60, machines: [yuria ]}
- Fannkuch: {extra_args: 9, warmup: 5, iterations: 55, machines: [yuria4]}
- Fibonacci: {extra_args: 1000, warmup: 10, iterations: 60, machines: [yuria4]}
- Dispatch: {extra_args: 10000, warmup: 5, iterations: 55, machines: [yuria4]}
- Bounce: {extra_args: 4000, warmup: 10, iterations: 60, machines: [yuria4]}
- Loop: {extra_args: 10000, warmup: 5, iterations: 55, machines: [yuria2]}
- Permute: {extra_args: 1500, warmup: 5, iterations: 55, machines: [yuria3]}
- Queens: {extra_args: 1000, warmup: 5, iterations: 55, machines: [yuria ]}
- List: {extra_args: 1000, warmup: 15, iterations: 65, machines: [yuria ]}
- Recurse: {extra_args: 2000, warmup: 15, iterations: 65, machines: [yuria ]}
- Storage: {extra_args: 1000, warmup: 10, iterations: 60, machines: [yuria ]}
- Permute: {extra_args: 1500, warmup: 5, iterations: 55, machines: [yuria4]}
- Queens: {extra_args: 1000, warmup: 5, iterations: 55, machines: [yuria4]}
- List: {extra_args: 1000, warmup: 15, iterations: 65, machines: [yuria4]}
- Recurse: {extra_args: 2000, warmup: 15, iterations: 65, machines: [yuria4]}
- Storage: {extra_args: 1000, warmup: 10, iterations: 60, machines: [yuria4]}
- Sieve: {extra_args: 2500, warmup: 10, iterations: 60, machines: [yuria2]}
- BubbleSort: {extra_args: 3000, warmup: 5, iterations: 55, machines: [yuria3]}
- QuickSort: {extra_args: 2000, warmup: 5, iterations: 55, machines: [yuria ]}
- BubbleSort: {extra_args: 3000, warmup: 5, iterations: 55, machines: [yuria4]}
- QuickSort: {extra_args: 2000, warmup: 5, iterations: 55, machines: [yuria4]}
- Sum: {extra_args: 10000, warmup: 5, iterations: 55, machines: [yuria2]}
- Towers: {extra_args: 1000, warmup: 5, iterations: 55, machines: [yuria3]}
- TreeSort: {extra_args: 1000, warmup: 10, iterations: 60, machines: [yuria ]}
- Towers: {extra_args: 1000, warmup: 5, iterations: 55, machines: [yuria4]}
- TreeSort: {extra_args: 1000, warmup: 10, iterations: 60, machines: [yuria4]}
- IntegerLoop: {extra_args: 8000, warmup: 5, iterations: 55, machines: [yuria2]}
- FieldLoop: {extra_args: 900, warmup: 5, iterations: 55, machines: [yuria3]}
- FieldLoop: {extra_args: 900, warmup: 5, iterations: 55, machines: [yuria4]}
- WhileLoop: {extra_args: 9000, warmup: 5, iterations: 55, machines: [yuria2]}
- Mandelbrot: {extra_args: 1000, warmup: 10, iterations: 110, machines: [yuria3]}
- Mandelbrot: {extra_args: 1000, warmup: 10, iterations: 110, machines: [yuria4]}

micro-somsom:
gauge_adapter: RebenchLog
command: "-cp Smalltalk:Examples/Benchmarks/LanguageFeatures Examples/Benchmarks/BenchmarkHarness.som --gc %(benchmark)s %(iterations)s "
iterations: 1
benchmarks:
- Loop: {extra_args: 1, machines: [yuria3]}
- Queens: {extra_args: 1, machines: [yuria ]}
- Loop: {extra_args: 1, machines: [yuria4]}
- Queens: {extra_args: 1, machines: [yuria4]}
- List: {extra_args: 1, machines: [yuria2]}
- Recurse: {extra_args: 1, machines: [yuria3]}
- Mandelbrot: {extra_args: 3, machines: [yuria ]}
- Recurse: {extra_args: 1, machines: [yuria4]}
- Mandelbrot: {extra_args: 3, machines: [yuria4]}

som-parse:
gauge_adapter: RebenchLog
Expand Down
Loading