Can I have multiple threads in IDL? [message #40381] |
Sat, 07 August 2004 10:07  |
Marc Reinig
Messages: 30 Registered: June 2004
|
Member |
|
|
We're currently running a very large computational program on a
multiprocessor machine. When the FFT portion runs, the CPU load on all 8
processors spikes, so IDL is making use of them, life is good.
However, we have another portion of the code that dose a massive nested loop
on some arrays, but the operation is carried out on a very small subset of
the array and IDL uses only a single processor. It could be easily broken
into threads if we were writing in C to allow the OS (Windows Server 2003)
to run the threads simultaneously.
We would like to break this processing into multiple threads in IDL so that
the task can be run on the other 7 processors in a similar manner. Is there
a way to create and run a thread in IDL?
Thanks in advance,
Marc Reinig
UCO/Lick
Laboratory for Adaptive Optics
|
|
|
Re: Can I have multiple threads in IDL? [message #40457 is a reply to message #40381] |
Wed, 11 August 2004 07:19  |
Marc Reinig
Messages: 30 Registered: June 2004
|
Member |
|
|
Liam,
I'll try to get to the source today.
Thanks for your help.
Marco
"Liam Gumley" <Liam.Gumley@ssec.wisc.edu> wrote in message
news:cfaq0v$a04$1@news.doit.wisc.edu...
> Marc Reinig wrote:
>> We're currently running a very large computational program on a
>> multiprocessor machine. When the FFT portion runs, the CPU load on all
8
>> processors spikes, so IDL is making use of them, life is good.
>>
>> However, we have another portion of the code that dose a massive nested
loop
>> on some arrays, but the operation is carried out on a very small subset
of
>> the array and IDL uses only a single processor. It could be easily
broken
>> into threads if we were writing in C to allow the OS (Windows Server
2003)
>> to run the threads simultaneously.
>>
>> We would like to break this processing into multiple threads in IDL so
that
>> the task can be run on the other 7 processors in a similar manner. Is
there
>> a way to create and run a thread in IDL?
>>
>> Thanks in advance,
>>
>> Marc Reinig
>> UCO/Lick
>> Laboratory for Adaptive Optics
>
> Marc,
>
> Any chance you could post the code for the loop operation? Someone might
> be able to offer suggestions on how to convert it to array operations
> (and thus enable multi-threading).
>
> Cheers,
> Liam.
> Practical IDL Programming
> http://www.gumley.com/
|
|
|
Re: Can I have multiple threads in IDL? [message #40483 is a reply to message #40381] |
Tue, 10 August 2004 08:36  |
Liam E. Gumley
Messages: 378 Registered: January 2000
|
Senior Member |
|
|
Marc Reinig wrote:
> We're currently running a very large computational program on a
> multiprocessor machine. When the FFT portion runs, the CPU load on all 8
> processors spikes, so IDL is making use of them, life is good.
>
> However, we have another portion of the code that dose a massive nested loop
> on some arrays, but the operation is carried out on a very small subset of
> the array and IDL uses only a single processor. It could be easily broken
> into threads if we were writing in C to allow the OS (Windows Server 2003)
> to run the threads simultaneously.
>
> We would like to break this processing into multiple threads in IDL so that
> the task can be run on the other 7 processors in a similar manner. Is there
> a way to create and run a thread in IDL?
>
> Thanks in advance,
>
> Marc Reinig
> UCO/Lick
> Laboratory for Adaptive Optics
Marc,
Any chance you could post the code for the loop operation? Someone might
be able to offer suggestions on how to convert it to array operations
(and thus enable multi-threading).
Cheers,
Liam.
Practical IDL Programming
http://www.gumley.com/
|
|
|