Is there a way to optimize KTechLab for multi-core processors?
I have an AMD Phenom 9500 Quad, and most programs do very well in utilizing the multi-core by spreading the load allowing the program to do much more. I have noticed with KTechLab that the processing is done on a single core. The CPU Scheduler does hand the job off between the cores, but the program never uses more than one making it run very slow when calculating 50 - 100 components. It will do +/- 150 components and then crash setting off the ABRT. Some component calculations cause the program to crash sooner, but that's another story.
it is possible to optimize KTechLab for multicore processing, but currently I don't know about anybody who is working on it.
The simulator part, which takes most of the CPU time, currently works as following:
on each millisecond, a timer triggers the recalculation of the currents and voltages in the circuit; the results of the calculations are displayed.
For making this implementation scale on multiple processor cores, it should be enough to have a pool of threads, each waiting for an event from the timer. When a thread receives the event, it solves the circuit. The timer should trigger one thread at a time. This way it should be possible to run more calculations in parallel, and display the results of the lastly finished one.
Note that the codebase of KTechLab is currently being rewritten, and that takes all the time of the active developers.
For discussions with more people, news and status updates you could subscribe to the ktechlab-devel mailing list and visit our IRC channel, #ktechlab, on freenode.net.
Thank you for your reply. Please forgive for not being as speedy on my part.
I have since gone through the settings to minimize as much as possible, and am able to do a bit more.
I have played with components and circuitry to repair devices since a child, and with this program have found a new love for circuitry I could only before have dreamed. Thank you for the things you do.