Re: Multithreading [message #29763 is a reply to message #29740] |
Fri, 15 March 2002 17:09   |
Rick Towler
Messages: 821 Registered: August 1998
|
Senior Member |
|
|
"trouble" <the_cacc@hotmail.com> wrote in message
news:5f9f0a23.0203140619.479c464c@posting.google.com...
> Yo,
word up.
> Just curious, have many people got good performance gains from
> multithreading in 5.5? I'm on a single processor (drat!).
>
> Anyone like to share their findings - how much improvement, how many
> processors, what kind of programs? What platforms?
Not much exciting news to report in my case.
Dual Athlon MP 1200 on Tyan Thunder k7
512 MB PC2100 DDR
10k RPM Ultra 160 IBM HDDs
Geforce3 video card
Win2k Pro SP-2
I mostly develop OG applications so I wasn't expecting much. What was a
surprise is that by default on win32, IDL will not even split a computation
into multiple threads if the number of elements is fewer than 1000000.
There must be a lot of overhead! I did play with this minimum a little but
didn't see any benefit with the few applications I tested.
The applications I selected are surely not appropriate metrics to test IDL's
multithreading capabilities but I was curious to see if I would benefit in
my day to day use.
My first test was time_test_gr2.pro, 3 runs, 1st run discarded:
5.5 completed with a mean total of 45.9 secs per run
5.4 completed with a mean total of 46.2 secs per run
My second test was my own "fishbench" which consists of a 3d model of a fish
(in this case lovely walleye pollock #44) and a 3d polygon representing that
fish's acoustic reflectivity. There are about 40k triangles total, the
models are textured and there are multiple views with text and graphics
overlay. This shouldn't test multithreading at all since my "benchmark"
doesn't test setup time but only changes the model transform matrix and
redraws. This has always been "graphics bound" so don't expect much.
average of 3 runs:
5.5 - 25.4 frames/second
5.4 - 25.9 frames/second
The last test was the one I thought would show at least some improvement. I
modeled the acoustic backscatter of 4 fish using our kirchoff-ray mode
model. This model is like any other: get some data, do some stuff with it,
create some output, write it to file. The model makes good use of many of
the mathematical and array creation routines that are multithreaded in 5.5.
Alas, I don't think that any of the arrays exceeded the minimum number of
elements required for IDL to dip into the thread pool. I started to
experiment with the new cpu procedure but didn't see any benefits. I will
probably revisit this one.
time to model acoustics of 4 fish:
5.5 - 00:02:01
5.4 - 00:02:02
one second is probably well within the margin of error for this highly
refined benchmark.
So there you have it. I'm sure there are many who will benefit from
multithreading in 5.5 but I am not one of them.
-Rick
|
|
|