Patricia Shanahan <> wrote:
> Is there any possibility that you have a dual processor, possibly two
> cores in one chip?
It seems I do, virtually speaking -- Pentium 4, apparently with
Hyper-Threading Technology (thanks to Arne Vajhøj in
<45591a39$0$49200$>).
> Utilization freezing at close to 50%, even at very high priority, for
> a compute intensive job is typical of running a single threaded
> application on a dual processor.
>
> If that is what is going on, you should be able to run two copies of
> the job (if it does not use too much memory) at the same time almost
> as fast as one copy. If so, look at parallelizing the compute-bound
> portion of the job.
>
> What dominates the computation? Some algorithms are easier to
> parallelize than others.
It's nested loops enumerating cases; there's a computation for each case,
i.e., inside the innermost loop, and the computation results are
accumulated.
It should be possible to dual-thread it, e.g., one thread doing the odd
cases, so to speak, and the other the even ones. I could synchronize access
to the accumulation structures, or perhaps have two of them. For generality
maybe I can even N-thread it. I'll have to think about this...
--
For mail, please use my surname where indicated:
(Steve Brecher)