You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository has been archived by the owner on Aug 21, 2024. It is now read-only.
I'm working on a large Chisel design (a gpgpu with smallest scale) and running a pretty long testbench (~3800 cycles). Then I find it always throws out a OOM error near the end of simulation. From the stack trace below, I think there's something wrong when generating vcd file.
I have raise the memory limit to -Xmx32G & -Xss192m, but it doesn't help. There is also enough spare system memory on my PC during the whole simulation (max usage of the system in total: 11GB / 16GB).
My project is using chisel3-3.5.0, chiseltest-0.5.0 and default backend (treadle). Verilator backend spends much more memory to start and my PC crashes
java.lang.OutOfMemoryError: Java heap space
java.lang.OutOfMemoryError: Java heap space
at java.base/java.util.Arrays.copyOf(Arrays.java:3745)
at java.base/java.lang.AbstractStringBuilder.ensureCapacityInternal(AbstractStringBuilder.java:172)
at java.base/java.lang.AbstractStringBuilder.append(AbstractStringBuilder.java:538)
at java.base/java.lang.StringBuilder.append(StringBuilder.java:178)
at scala.collection.mutable.StringBuilder.append(StringBuilder.scala:213)
at treadle.vcd.VCD.$anonfun$serializeChanges$3(VCD.scala:632)
at treadle.vcd.VCD$$Lambda$11723/0x0000000840f7b040.apply(Unknown Source)
at scala.collection.mutable.HashSet.foreach(HashSet.scala:79)
at treadle.vcd.VCD.$anonfun$serializeChanges$2(VCD.scala:631)
at treadle.vcd.VCD.$anonfun$serializeChanges$2$adapted(VCD.scala:629)
at treadle.vcd.VCD$$Lambda$11722/0x0000000840f7f040.apply(Unknown Source)
at scala.Option.foreach(Option.scala:407)
at treadle.vcd.VCD.$anonfun$serializeChanges$1(VCD.scala:629)
at treadle.vcd.VCD$$Lambda$11721/0x0000000840f7e840.apply$mcVJ$sp(Unknown Source)
at scala.runtime.java8.JFunction1$mcVJ$sp.apply(JFunction1$mcVJ$sp.java:23)
at scala.collection.immutable.List.foreach(List.scala:431)
at treadle.vcd.VCD.serializeChanges(VCD.scala:628)
at treadle.vcd.VCD.serialize(VCD.scala:673)
at treadle.vcd.VCD.write(VCD.scala:678)
at treadle.executable.ExecutionEngine.$anonfun$writeVCD$1(ExecutionEngine.scala:157)
at treadle.executable.ExecutionEngine.$anonfun$writeVCD$1$adapted(ExecutionEngine.scala:156)
at treadle.executable.ExecutionEngine$$Lambda$11716/0x00000008403b6840.apply(Unknown Source)
at scala.Option.foreach(Option.scala:407)
at treadle.executable.ExecutionEngine.writeVCD(ExecutionEngine.scala:156)
at treadle.TreadleTester.finish(TreadleTester.scala:472)
at chiseltest.simulator.TreadleContext.finish(TreadleSimulator.scala:91)
at chiseltest.internal.GenericBackend.run(GenericBackend.scala:221)
at chiseltest.internal.Context$.$anonfun$run$1(Testers2.scala:34)
at chiseltest.internal.Context$$$Lambda$11554/0x000000084170c440.apply(Unknown Source)
at scala.util.DynamicVariable.withValue(DynamicVariable.scala:62)
at chiseltest.internal.Context$.run(Testers2.scala:34)
at chiseltest.ChiselScalatestTester.chiseltest$ChiselScalatestTester$$runTest(ChiselScalatestTester.scala:103)
The text was updated successfully, but these errors were encountered:
Sign up for freeto subscribe to this conversation on GitHub.
Already have an account?
Sign in.
I'm working on a large Chisel design (a gpgpu with smallest scale) and running a pretty long testbench (~3800 cycles). Then I find it always throws out a OOM error near the end of simulation. From the stack trace below, I think there's something wrong when generating vcd file.
I have raise the memory limit to
-Xmx32G
&-Xss192m
, but it doesn't help. There is also enough spare system memory on my PC during the whole simulation (max usage of the system in total: 11GB / 16GB).My project is using chisel3-3.5.0, chiseltest-0.5.0 and default backend (treadle).
Verilator backend spends much more memory to start and my PC crashesThe text was updated successfully, but these errors were encountered: