Some results
Some results on an inverter chain with 627 CMOS inverters, running for 200ns, compiled with Visual Studio professional 2008 on Windows 7 (full optimization) or gcc 4.4, SUSE Linux 11.2, -O2, on a i7 860 machine with four real cores (and 4 virtuals using hyperthreading) are shown in table 16.1.
Table 16.1: OpenMP performance
Threads
|
CPU time [s]
|
CPU time [s]
|
Windows
|
Linux
|
|
1 (standard)
|
167
|
165
|
1 (OpenMP)
|
174
|
167
|
2
|
110
|
110
|
3
|
95
|
94-120
|
4
|
83
|
107
|
6
|
94
|
90
|
8
|
93
|
91
|
So we see a ngspice speed up of nearly a factor of two! Even on an older notebook with a dual core processor, more than 1.5x improvement using two threads was attained. Similar results are to be expected from BSIM4.