Python threads and Numeric/SciPy exploit Dual Core ?

R

robert

Simple Python code obviously cannot use the dual core by Python threads.
Yet, a program drawing CPU mainly for matrix computations - preferably
with Numeric/SciPy - will this profit from a dual core when using 2 (or
more) Python threads?

robert
 
F

Fredrik Lundh

robert said:
Simple Python code obviously cannot use the dual core by Python threads.
Yet, a program drawing CPU mainly for matrix computations - preferably
with Numeric/SciPy - will this profit from a dual core when using 2 (or
more) Python threads?

as long as the binding releases the GIL, sure.

</F>
 
O

Oeyvind Brandtsegg

I've been trying to make my music app use dual core,
and would very much like some more detailed information on this.

Excuse my lack of knowledge,
but how do I explicitly release the GIL ?

I haven't learned this, but have found through experimentation that I
can release a thread by using time.sleep(0) inside a thread's "run
while true" loop. This seems to create an interrupt, and give other
threads a chance to do their thing.
If this is terribly wrong (it works, but I dont' know how stable it
is), please do point me in the direction of a proper way to implement
it.
As stated in an earlier post, my threads do not work on shared data,
so I have not implemented any sort of lock or mutex.

best
Oeyvind
 
F

Fredrik Lundh

Oeyvind said:
I've been trying to make my music app use dual core,
and would very much like some more detailed information on this.

Excuse my lack of knowledge,
but how do I explicitly release the GIL ?
http://docs.python.org/api/threads.html

I haven't learned this, but have found through experimentation that I
can release a thread by using time.sleep(0) inside a thread's "run
while true" loop. This seems to create an interrupt, and give other
threads a chance to do their thing.

that (momentarily) blocks the current thread, and forces a rescheduling.

</F>
 
R

robert

Fredrik said:
:




as long as the binding releases the GIL, sure.

Thus - does Numeric/SciPy release it?
The same q about the orange (data mining) lib.

Robert
 
R

Robert Kern

robert said:
Thus - does Numeric/SciPy release it?

Depends. Some of the linear algebra functions in scipy do. Most operations do
not. People are looking at adding more.

--
Robert Kern

"I have come to believe that the whole world is an enigma, a harmless enigma
that is made terrible by our own mad attempt to interpret it as though it had
an underlying truth."
-- Umberto Eco
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,764
Messages
2,569,566
Members
45,041
Latest member
RomeoFarnh

Latest Threads

Top