I would say that if the underlying atlas library is multithreaded, numpy operations will be as well. Then, at the Python level, even if the operations take a lot of time, the interpreter will be able to process threads, as the lock is freed during the numpy operations - as I understood for the last mails, only one thread can access the interpreter at a specific time -
Matthieu 2007/4/17, James Turner <[EMAIL PROTECTED]>:
Hi Anne, Your reply to Lou raises a naive follow-up question of my own... > Normally, python's multithreading is effectively cooperative, because > the interpreter's data structures are all stored under the same lock, > so only one thread can be executing python bytecode at a time. > However, many of numpy's vectorized functions release the lock while > running, so on a multiprocessor or multicore machine you can have > several cores at once running vectorized code. Are you saying that numpy's vectorized functions will perform a single array operation in parallel on a multi-processor machine, or just that the user can explicitly write threaded code to run *multiple* array operations on different processors at the same time? I hope that's not too stupid a question, but I haven't done any threaded programming yet and the answer could be rather useful... Thanks a lot, James. _______________________________________________ Numpy-discussion mailing list Numpy-discussion@scipy.org http://projects.scipy.org/mailman/listinfo/numpy-discussion
_______________________________________________ Numpy-discussion mailing list Numpy-discussion@scipy.org http://projects.scipy.org/mailman/listinfo/numpy-discussion