verilator/include
Geza Lore c52f3349d1
Initial implementation of generic multithreaded tracing (#2269)
The --trace-threads option can now be used to perform tracing on a
thread separate from the main thread when using VCD tracing (with
--trace-threads 1). For FST tracing --trace-threads can be 1 or 2, and
--trace-fst --trace-threads 1 is the same a what --trace-fst-threads
used to be (which is now deprecated).

Performance numbers on SweRV EH1 CoreMark, clang 6.0.0, Intel i7-3770 @
3.40GHz, IO to ramdisk, with numactl set to schedule threads on different
physical cores. Relative speedup:

--trace     ->  --trace --trace-threads 1      +22%
--trace-fst ->  --trace-fst --trace-threads 1  +38% (as --trace-fst-thread)
--trace-fst ->  --trace-fst --trace-threads 2  +93%

Speed relative to --trace with no threaded tracing:
--trace                                 1.00 x
--trace --trace-threads 1               0.82 x
--trace-fst                             1.79 x
--trace-fst --trace-threads 1           1.23 x
--trace-fst --trace-threads 2           0.87 x

This means FST tracing with 2 extra threads is now faster than single
threaded VCD tracing, and is on par with threaded VCD tracing. You do
pay for it in total compute though as --trace-fst --trace-threads 2 uses
about 240% CPU vs 150% for --trace-fst --trace-threads 1, and 155% for
--trace --trace threads 1. Still for interactive use it should be
helpful with large designs.
2020-04-21 23:49:07 +01:00
..
gtkwave Update gtkwave from upstream. 2020-03-21 21:45:57 -04:00
vltstd Support IEEE 1800-2017 as default language. 2018-03-12 22:26:34 -04:00
.gitignore Support VPI product info, warning calls, etc, bug588. 2013-01-17 21:40:37 -05:00
verilated.cpp Support IEEE time units and time precisions, #234. (#2253) 2020-04-15 19:39:03 -04:00
verilated.h Codacy cleanups. No functional change. 2020-04-20 22:01:47 -04:00
verilated.mk.in Initial implementation of generic multithreaded tracing (#2269) 2020-04-21 23:49:07 +01:00
verilated.v Add SPDX license identifiers. No functional change. 2020-03-21 11:24:24 -04:00
verilated_config.h.in clang-format many files. No functional change. 2020-04-13 22:52:23 -04:00
verilated_cov.cpp clang-format many files. No functional change. 2020-04-13 22:52:23 -04:00
verilated_cov.h clang-format many files. No functional change. 2020-04-13 22:52:23 -04:00
verilated_cov_key.h clang-format many files. No functional change. 2020-04-13 22:52:23 -04:00
verilated_dpi.cpp clang-format many files. No functional change. 2020-04-13 22:52:23 -04:00
verilated_dpi.h clang-format many files. No functional change. 2020-04-13 22:52:23 -04:00
verilated_fst_c.cpp Initial implementation of generic multithreaded tracing (#2269) 2020-04-21 23:49:07 +01:00
verilated_fst_c.h Initial implementation of generic multithreaded tracing (#2269) 2020-04-21 23:49:07 +01:00
verilated_heavy.h Support IEEE time units and time precisions, #234. (#2253) 2020-04-15 19:39:03 -04:00
verilated_imp.h Support IEEE time units and time precisions, #234. (#2253) 2020-04-15 19:39:03 -04:00
verilated_save.cpp Support IEEE time units and time precisions, #234. (#2253) 2020-04-15 19:39:03 -04:00
verilated_save.h clang-format many files. No functional change. 2020-04-13 22:52:23 -04:00
verilated_sc.h Add SPDX license identifiers. No functional change. 2020-03-21 11:24:24 -04:00
verilated_sym_props.h clang-format many files. No functional change. 2020-04-13 22:52:23 -04:00
verilated_syms.h Add SPDX license identifiers. No functional change. 2020-03-21 11:24:24 -04:00
verilated_threads.cpp clang-format many files. No functional change. 2020-04-13 22:52:23 -04:00
verilated_threads.h clang-format many files. No functional change. 2020-04-13 22:52:23 -04:00
verilated_trace.h Initial implementation of generic multithreaded tracing (#2269) 2020-04-21 23:49:07 +01:00
verilated_trace_imp.cpp Initial implementation of generic multithreaded tracing (#2269) 2020-04-21 23:49:07 +01:00
verilated_unordered_set_map.h Internal: clang-tidy fixes. No functional change. 2020-04-15 21:47:37 -04:00
verilated_vcd_c.cpp Initial implementation of generic multithreaded tracing (#2269) 2020-04-21 23:49:07 +01:00
verilated_vcd_c.h Initial implementation of generic multithreaded tracing (#2269) 2020-04-21 23:49:07 +01:00
verilated_vcd_sc.cpp clang-format many files. No functional change. 2020-04-13 22:52:23 -04:00
verilated_vcd_sc.h clang-format many files. No functional change. 2020-04-13 22:52:23 -04:00
verilated_vpi.cpp Support IEEE time units and time precisions, #234. (#2253) 2020-04-15 19:39:03 -04:00
verilated_vpi.h Expose VPI cbNextDeadline via the public API (#2212) 2020-03-28 13:47:21 -04:00
verilatedos.h clang-format many files. No functional change. 2020-04-13 22:52:23 -04:00