-
Notifications
You must be signed in to change notification settings - Fork 6
Open
Description
I finally setup yksom to run the Are We Fast Yet benchmarks: http://github.com/smarr/are-we-fast-yet
CD and Havlak are failing.
Havlak seems not unusual:
yksom --cp .:Core:CD:DeltaBlue:Havlak:Json:NBody:Richards:~/.local/yksom/SOM/Smalltalk Harness.som Havlak 1 1500
Starting Havlak benchmark ...
thread 'main' panicked at 'Not enough stack space to execute block.', src/lib/vm/core.rs:404:13
So, is there a way to easily increase the available stack?
CD will require some debugging.
It runs into a division by zero, which likely means that there's some arithmetic operation that's not quite right:
yksom --cp .:Core:CD:DeltaBlue:Havlak:Json:NBody:Richards:~/.local/yksom/SOM/Smalltalk Harness.som CD 1 250
Starting CD benchmark ...
Traceback (most recent call at bottom):
File /home/gitlab-runner/.local/yksom/SOM/Smalltalk/System.som, line 46, column 10:
^ (application respondsTo: #run:)
ifTrue: [ application run: arguments ]
ifFalse: [ application run ]
File /home/gitlab-runner/.local/yksom/SOM/Smalltalk/Boolean.som, line 30, column 8:
self ifTrue: [ ^trueBlock value ].
File /home/gitlab-runner/.local/yksom/SOM/Smalltalk/True.som, line 32, column 24:
ifTrue: block = ( ^block value )
File /home/gitlab-runner/.local/yksom/SOM/Smalltalk/Boolean.som, line 30, column 25:
self ifTrue: [ ^trueBlock value ].
File /home/gitlab-runner/.local/yksom/SOM/Smalltalk/System.som, line 47, column 23:
ifTrue: [ application run: arguments ]
File /data/home/gitlab-runner/builds/d258e35c/0/sm951/awfy-runs/awfy/benchmarks/SOM/Harness.som, line 46, column 4:
run runBenchmark.
File /data/home/gitlab-runner/builds/d258e35c/0/sm951/awfy-runs/awfy/benchmarks/SOM/Run.som, line 50, column 4:
self doRuns: benchmarkSuite new.
File /data/home/gitlab-runner/builds/d258e35c/0/sm951/awfy-runs/awfy/benchmarks/SOM/Run.som, line 70, column 4:
1 to: numIterations do: [:i |
self measure: bench
]
File /home/gitlab-runner/.local/yksom/SOM/Smalltalk/Integer.som, line 80, column 8:
self to: limit by: 1 do: block
File /home/gitlab-runner/.local/yksom/SOM/Smalltalk/Integer.som, line 86, column 8:
[ i <= limit ] whileTrue: [ block value: i. i := i + step ]
File /home/gitlab-runner/.local/yksom/SOM/Smalltalk/Block.som, line 40, column 8:
block value.
File /home/gitlab-runner/.local/yksom/SOM/Smalltalk/Integer.som, line 86, column 36:
[ i <= limit ] whileTrue: [ block value: i. i := i + step ]
File /data/home/gitlab-runner/builds/d258e35c/0/sm951/awfy-runs/awfy/benchmarks/SOM/Run.som, line 71, column 6:
self measure: bench
File /data/home/gitlab-runner/builds/d258e35c/0/sm951/awfy-runs/awfy/benchmarks/SOM/Run.som, line 59, column 5:
(bench innerBenchmarkLoop: innerIterations) ifFalse: [
File CD/CD.som, line 50, column 20:
^ self verify: (self benchmark: innerIterations) resultFor: innerIterations
File CD/CD.som, line 40, column 4:
0 to: numFrames - 1 do: [:i |
| time collisions |
time := i // 10.0.
collisions := detector handleNewFrame: (simulator simulate: time).
actualCollisions := actualCollisions + collisions size ].
File /home/gitlab-runner/.local/yksom/SOM/Smalltalk/Integer.som, line 80, column 8:
self to: limit by: 1 do: block
File /home/gitlab-runner/.local/yksom/SOM/Smalltalk/Integer.som, line 86, column 8:
[ i <= limit ] whileTrue: [ block value: i. i := i + step ]
File /home/gitlab-runner/.local/yksom/SOM/Smalltalk/Block.som, line 40, column 8:
block value.
File /home/gitlab-runner/.local/yksom/SOM/Smalltalk/Integer.som, line 86, column 36:
[ i <= limit ] whileTrue: [ block value: i. i := i + step ]
File CD/CD.som, line 43, column 20:
collisions := detector handleNewFrame: (simulator simulate: time).
File CD/CollisionDetector.som, line 60, column 18:
allReduced := self reduceCollisionSet: motions.
File CD/CollisionDetector.som, line 160, column 4:
motions forEach: [:motion | self draw: motion on: voxelMap ].
File Core/Vector.som, line 69, column 4:
first to: last - 1 do: [ :i | block value: (storage at: i) ]
File /home/gitlab-runner/.local/yksom/SOM/Smalltalk/Integer.som, line 80, column 8:
self to: limit by: 1 do: block
File /home/gitlab-runner/.local/yksom/SOM/Smalltalk/Integer.som, line 86, column 8:
[ i <= limit ] whileTrue: [ block value: i. i := i + step ]
File /home/gitlab-runner/.local/yksom/SOM/Smalltalk/Block.som, line 40, column 8:
block value.
File /home/gitlab-runner/.local/yksom/SOM/Smalltalk/Integer.som, line 86, column 36:
[ i <= limit ] whileTrue: [ block value: i. i := i + step ]
File Core/Vector.som, line 69, column 34:
first to: last - 1 do: [ :i | block value: (storage at: i) ]
File CD/CollisionDetector.som, line 160, column 32:
motions forEach: [:motion | self draw: motion on: voxelMap ].
File CD/CollisionDetector.som, line 185, column 4:
self recurse: voxelMap seen: seen voxel: (self voxelHash: motion posOne) motion: motion
File CD/CollisionDetector.som, line 142, column 5:
(self isInVoxel: nextVoxel motion: motion) ifFalse: [ ^ self ].
File CD/CollisionDetector.som, line 97, column 14:
low_x := (v_x - r - x0) // xv.
Division by zero.
Metadata
Metadata
Assignees
Labels
No labels