Tool/software: TINA-TI or Spice Models
Hi,
I have been running up against CPU limitations with my TINA simulations. My poor mans Desktop machine runs Linux on a Core Duo (Dual core processor) and I operate TINA under WINE. This does a perfect job of multi-threading. In the simulation options I see a grand total of 2 threads available (one per core) and when I run simulations I see both cores running at fully 100% utilisation. Flat out.
But.. it's rather dated and not as fast as could be. Therefore I tried running on someone else's i7 based machine running Windows, which boasts 4 cores and 8 hyper-threads. When TINA is installed on this machine running native under Windows, it offers only 4 threads, and when using the maximum available the processor reports only 50% utilisation. As each core actually runs at a slightly lower clock rate than my Core Duo machine, the simulation actually runs slower.
Wow, my Core Duo 3GHz machine of 10 years vintage outperforms a Quad core i7 !!!!!
Not to be beaten. I span up a Google Compute Engine VM, using a 24 hyperthreaded CPU running on the very latest Skylake i7. This time running Linux and with TINA running under WINE. Once again TINA only sees the total number of cores which again is 50% of possible threads. So instantly this 24 thread machine was sliced in half and inside TINA I see 12 available threads. Such a shame. But it is therefore apparent that this lack of hyper threading visibility is common to TINA when running under Windows or on Linux.
When I run simulations on this VM, I see 100% utilisation on each of the threads TINA has detected. That's a 24 v-thread machine, showing up in TINA as 12 threaded machine and running each of the 12 threads at fully 100% utilisation. A grand total of 50% CPU utilisation.
Was it faster than my Core Duo machine........yes quite significantly.
Now google offer a maximum of 96 v-thread per VM, So according to my testing, this would give me a total of 48 threads within TINA, and with this kind of configuration I expect to achieve usable performance without needing to spend most of my design day, waiting for TINA to complete.
Great, but running the Google VM 5 hours a day 5 days a week will cost a cool $400 p/m. Whereas if I run a VM with on 32 v-threads the price drops to $80 p/m
Therefore you can see that TINA's inability to use fully all the hyper threads makes compute time much more expensive.
Bottom line, why does the "Very Cool" multi-threading feature inside TINA not have access to all available hyper threads.
Easy to miss if the wrong info is parsed, for example on the VM I discussed we see:
lscpu
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 24
On-line CPU(s) list: 0-23
Thread(s) per core: 2
Core(s) per socket: 12
Socket(s): 1
NUMA node(s): 1
Vendor ID: GenuineIntel
What's the answer? Can I start TINA and tell it manually via CLI how many threads to use, is there a config file somewhere where this info was placed at install? Is this info read from the system at run-time?
Thanks
Aidan