verilator/bin
Geza Lore b51f887567
Perform VCD tracing in parallel when using --threads (#3449)
VCD tracing is now parallelized using the same thread pool as the model.
We achieve this by breaking the top level trace functions into multiple
top level functions (as many as --threads), and after emitting the time
stamp to the VCD file on the main thread, we execute the tracing
functions in parallel on the same thread pool as the model (which we
pass to the trace file during registration), tracing into a secondary
per thread buffer. The main thread will then stitch (memcpy) the buffers
together into the output file.

This makes the `--trace-threads` option redundant with `--trace`, which
now only affects `--trace-fst`. FST tracing uses the previous offloading
scheme.

This obviously helps a lot in VCD tracing performance, and I have seen
better than Amdahl speedup, namely I get 3.9x on XiangShan 4T (2.7x on
OpenTitan 4T).
2022-05-29 19:08:39 +01:00
..
verilator Perform VCD tracing in parallel when using --threads (#3449) 2022-05-29 19:08:39 +01:00
verilator_ccache_report Copyright year update. 2022-01-01 08:26:40 -05:00
verilator_coverage Copyright year update. 2022-01-01 08:26:40 -05:00
verilator_difftree Fix error if file not found 2022-02-09 21:56:22 -05:00
verilator_gantt Improve run-time profiling 2022-03-27 15:57:30 +02:00
verilator_includer Copyright year update. 2022-01-01 08:26:40 -05:00
verilator_profcfunc Copyright year update. 2022-01-01 08:26:40 -05:00