Astan Chee wrote:
Hi,
I've got a python script that calls a function many times with various
arguments and returns a result. What I'm trying to do is run this
function each on different processors and compile the result at the
end based on the function result. The script looks something like
this:
import time
def functionTester(num):
return ((num+2)/(num-2))**2
num_args = [1,2,3,7,12,16,19,35,36,37,38,55,56,57,63,44,71,81,91]
max_result = 0
start = time.time()
for n in num_args:
result = functionTester(n)
if result > max_result:
max_result = result
print "Result " + str(max_result)
end = time.time()
elapsed= end - start
print "Took", elapsed, "seconds to execute"
What I'm trying to do is run each function on a processor and when its
done, move on to the next function-argument specifically on windows 7
x64 using python 2.6. How do I do this?
Thanks for any help
If I'm not wrong, CPU management is handled by your system, meaning
there's no way to 'force' anything to run on a specific CPU. However,
you may try to execute your fonction in a subprocess, so that the system
will use different CPUs (hopefully). You then just need to limit the
number of subprocess alive at the same time.
Have a look here
http://docs.python.org/library/multiprocessing.html
JM
--
http://mail.python.org/mailman/listinfo/python-list