On 02/07/16 19:04, Walter F.J. Mueller wrote:
Hallo,
when looking through the ghdl sources in the current git master
I found in ./grt/grt-options.adb some code implementing the option
--threads=N use N threads for simulation
The option isn't shown in --help, text commented out. When used
it is accepted, but doesn't seem to have much of an effect.
So I wonder whether this is dead code of an aborted effort or
whether is a current development. git blame shows that the code
is at least 2.5 years old.
It's dead code of an aborted effort. It did work but the results
were very encouraging.
I got curious, and looked a the --stats output of two simulations
1. direct simulation of the behavioral model. In this case we have
a small number of larger processes.
cycle (sum): wall: 90.130 user: 72.590 sys: 13.460
processes: wall: 64.410 user: 53.460 sys: 5.510
resume: wall: 3.970 user: 2.900 sys: 2.350
update: wall: 16.680 user: 12.200 sys: 2.820
next compute: wall: 5.070 user: 4.030 sys: 2.780
Number of processes: 766
Number of sensitized processes: 741
Number of resumed processes: 197210264
Average number of resumed processes per cycle: 14
2. functional simulation with a post-synthesis model generated
by vivado. Lots of UNISIM primitives, so a larger number of
in general quite small processes (mostly Flops and LUTs).
cycle (sum): wall: 60.750 user: 58.450 sys: 2.270
processes: wall: 28.330 user: 28.630 sys: 0.540
resume: wall: 0.530 user: 0.470 sys: 0.570
update: wall: 22.890 user: 20.270 sys: 0.510
next compute: wall: 9.000 user: 9.080 sys: 0.650
Number of processes: 6090
Number of sensitized processes: 6003
Number of resumed processes: 190890059
Average number of resumed processes per cycle: 91
I'd assume that the 'processes' part is what can be easiest
parallelized, that is 72% in the behavioral and only 49% in
the post-synthesis simulation. If only 'processes' can be
parallelized the potential is actually rather sobering.
Any thoughts on that ?
The effort was done too early. Before parallelizing, sequential code
has to be optimized. This is not yet completed.
Tristan.
_______________________________________________
Ghdl-discuss mailing list
Ghdl-discuss@gna.org
https://mail.gna.org/listinfo/ghdl-discuss