D
DonDilworth
Guest
My code spawns several processes to speed up a lengthy calculation. On my 8-core hyperthreaded CPU I can run 16 processes. Sometimes they take a long time to run, and if I look at the Resource monitor I can see that most of them are running on CPU 1, and the other CPUs are doing little or nothing. Other times all CPUs are running as they should.
So how can I ensure that my processes will be farmed out to all of the cores more efficiently?
Here's my code:
imsg.Format( "%d", i ); // is new core number
jmsg.Format( "%d", j ); // is task number
kmsg.Format( "%d", k ); // is network flag
tmsg.Format( "%d", frametop ); // data set by core 0
lmsg.Format( "%d", frameleft );
l = spawnl( _P_NOWAIT, path, "SYNOPSYS200v15.exe", imsg, jmsg, kmsg, tmsg, lmsg, NULL );
Continue reading...
So how can I ensure that my processes will be farmed out to all of the cores more efficiently?
Here's my code:
imsg.Format( "%d", i ); // is new core number
jmsg.Format( "%d", j ); // is task number
kmsg.Format( "%d", k ); // is network flag
tmsg.Format( "%d", frametop ); // data set by core 0
lmsg.Format( "%d", frameleft );
l = spawnl( _P_NOWAIT, path, "SYNOPSYS200v15.exe", imsg, jmsg, kmsg, tmsg, lmsg, NULL );
Continue reading...