Re: Multithreading in IDL [message #44875] |
Tue, 26 July 2005 07:25  |
Marc Reinig
Messages: 30 Registered: June 2004
|
Member |
|
|
"Tiago St�rmer Daitx" <tdaitx@gmail.com> wrote in message
news:1122379580.769915.254950@g43g2000cwa.googlegroups.com.. .
> IDL itself can be set to run multithread even on a single processor
> system. Simply run CPU, TPOOL_NTHREADS = NumThreads and you're set.
>
> So far my experience says that on Linux there'll be a process for each
> thread and on Windows all I could get was a single process, no matter
> what - maybe I'm doing something wrong, but my guess is that is the way
> multithreading works on Windows (note that I neither own a SMP system
> nor have access to one).
On Windows, processes are ~the equivalent of a program that you run. The
process can, in turn, have multiple threads. They all share the same
address space and resources. They can also run simultaneously on multiple
processors.
IDL supports multiple threads internally on Windows for some operations.
FFT is one. We have an 8 processor machine. When it hits the FFT's all 8
come alive. When it goes back to regular code, only one is active. There
are probably some Matrix operations that are also mutli threaded.
You can do your own multi threading using a DLM to spawn separate threads in
Windows, but I haven't done it to use IDL functions.
Marc Reinig
System Solutions
|
|
|