Skip to content

Commit

Permalink
Use yuria4 for benchmarking (#216)
Browse files Browse the repository at this point in the history
  • Loading branch information
smarr authored Aug 23, 2024
2 parents 70ce0b7 + 4eafa80 commit 9642da5
Show file tree
Hide file tree
Showing 3 changed files with 79 additions and 77 deletions.
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

0 comments on commit 9642da5

Please sign in to comment.