Skip to content

Commit

Permalink
Merge PR #209: Add fork/join benchmarks
Browse files Browse the repository at this point in the history
  • Loading branch information
smarr committed Dec 29, 2017
2 parents b62155b + 4aeb157 commit 40830cb
Show file tree
Hide file tree
Showing 64 changed files with 4,227 additions and 55 deletions.
92 changes: 92 additions & 0 deletions codespeed.conf
Expand Up @@ -487,6 +487,86 @@ benchmark_suites:
codespeed_name: "i.Messages"
warmup: 30

fj-steady:
description: Sequential version of Fork/Join benchmarks for normal performance tracking
gauge_adapter: RebenchLog
command: &FJ_CMD " core-lib/Benchmarks/Harness.ns core-lib/Benchmarks/ForkJoin/%(benchmark)s%(input)s.ns "
input_sizes:
- Seq # all fork() are compute()
max_runtime: 120
benchmarks:
## Excluding Fib, NQueens, QuickSort
## we have similar versions already
- CilkSort:
extra_args: "130 0 20"
codespeed_name: "peak.CilkSort"
warmup: 30
- Integrate:
extra_args: "130 0 100"
codespeed_name: "peak.Integrate"
warmup: 30
- Jacobi:
extra_args: "130 0 200"
codespeed_name: "peak.Jacobi"
warmup: 30
- LUDecomposition:
extra_args: "130 0 128"
codespeed_name: "peak.LUDecomposition"
warmup: 30

fj-startup:
description: Sequential version of Fork/Join benchmarks for normal performance tracking
gauge_adapter: RebenchLog
command: *FJ_CMD
input_sizes:
- Seq # all fork() are compute()
max_runtime: 60
benchmarks:
## Excluding Fib, NQueens, QuickSort
## we have similar versions already
- CilkSort:
extra_args: "1 0 1"
codespeed_name: "1st.CilkSort"
- Integrate:
extra_args: "1 0 50"
codespeed_name: "1st.Integrate"
- Jacobi:
extra_args: "1 0 100"
codespeed_name: "1st.Jacobi"
- LUDecomposition:
extra_args: "1 0 128"
codespeed_name: "1st.LUDecomposition"

forkjoin:
gauge_adapter: RebenchLog
command: " core-lib/Benchmarks/Harness.ns core-lib/Benchmarks/ForkJoin/%(benchmark)s%(input)s.ns %(variable)s 0 "
variable_values: 300 ## the number iterations measured
max_runtime: 300
input_sizes:
- Seq # all fork() are compute()
- Opt # fork, but do one task locally
- Nai # fork all tasks, only do a join locally
- One # only one parallel task by forking and immediately joining
benchmarks:
- CilkSort:
extra_args: 20
# - FFT:
# extra_args: 1024
- Fib:
extra_args: 23
- Integrate:
extra_args: 60
- Jacobi:
extra_args: 1024
- LUDecomposition:
extra_args: 1024
- NQueens:
extra_args: 11
- QuickSort:
extra_args: 200
# - UTS:
# extra_args: 1

# VMs have a name and are specified by a path and the binary to be executed
virtual_machines:
SOMns-interp:
Expand Down Expand Up @@ -582,6 +662,8 @@ experiments:
- sort-steady
- som-startup
- som-steady
- fj-startup
- fj-steady
executions:
- SOMns-graal
SOMns-Savina:
Expand All @@ -605,6 +687,8 @@ experiments:
- sort-steady
- som-startup
- som-steady
- fj-startup
- fj-steady
executions:
- SOMns-graal-exp
SOMns-interp:
Expand Down Expand Up @@ -735,3 +819,11 @@ experiments:
- sort-startup
- som-startup
- savina-interp

forkjoin:
description: Fork/Join benchmarks
action: benchmarks
executions:
- SOMns-graal-tn:
benchmark:
- forkjoin
2 changes: 1 addition & 1 deletion core-lib/Benchmarks/All.ns
Expand Up @@ -18,7 +18,7 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
*)
class AllBenchmarks usingPlatform: platform = (
class All usingPlatform: platform = (
| private platform = platform.
private harness = (platform system loadModule: 'Harness.ns' nextTo: self) usingPlatform: platform.
private system = platform system.
Expand Down
2 changes: 1 addition & 1 deletion core-lib/Benchmarks/Bounce.ns
Expand Up @@ -18,7 +18,7 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
*)
class BounceSuite usingPlatform: platform andHarness: harness = (
class Bounce usingPlatform: platform andHarness: harness = (
| private Benchmark = harness Benchmark.
private Random = harness Random.
private Array = platform kernel Array.
Expand Down
2 changes: 1 addition & 1 deletion core-lib/Benchmarks/CD.ns
Expand Up @@ -26,7 +26,7 @@ ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*)
class CDSuite usingPlatform: platform andHarness: harness = (
class CD usingPlatform: platform andHarness: harness = (
| private Benchmark = harness Benchmark.
private Vector = platform kernel Vector.
private RedBlackTree = (platform system loadModule: 'RedBlackTree.ns' nextTo: self) new RedBlackTree.
Expand Down
2 changes: 1 addition & 1 deletion core-lib/Benchmarks/DeltaBlueNS.ns
@@ -1,4 +1,4 @@
class DeltaBlue usingPlatform: platform andHarness: harness = (
class DeltaBlueNS usingPlatform: platform andHarness: harness = (
| private List = platform kernel Vector.
private Benchmark = harness Benchmark.

Expand Down
6 changes: 3 additions & 3 deletions core-lib/Benchmarks/Fannkuch.ns
Expand Up @@ -24,7 +24,7 @@ Pfannkuchen are somehow known in Benchmarking. i.e., there is a Lisp story.
http://shootout.alioth.debian.org/
contributed by Paolo Bonzini
*)
class FannkuchSuite usingPlatform: platform andHarness: harness = (
class Fannkuch usingPlatform: platform andHarness: harness = (
| private Benchmark = harness Benchmark.
private Array = platform kernel Array.
private expectedResults = self createExpectedResults.
Expand Down Expand Up @@ -98,7 +98,7 @@ class FannkuchSuite usingPlatform: platform andHarness: harness = (
^ result
)
)

private createExpectedResults = (
| results |
results:: Array new: 12.
Expand All @@ -116,7 +116,7 @@ class FannkuchSuite usingPlatform: platform andHarness: harness = (
results at: 12 put: 65.
^ results
)

public newInstance = ( ^ FannkuchBenchmark new )
public setupVerifiedRun: run = ( run innerIterations: 7 )
)
2 changes: 1 addition & 1 deletion core-lib/Benchmarks/ForkJoin.ns
@@ -1,5 +1,5 @@
(* Fork/Join Benchmarks for SOMns *)
class ForkJoinBenchmarks usingPlatform: platform andHarness: harness = (
class ForkJoin usingPlatform: platform andHarness: harness = (
| private Benchmark = harness Benchmark.
private Task = platform threading Task.
private Vector = platform kernel Vector.
Expand Down

0 comments on commit 40830cb

Please sign in to comment.